2014年(124)
分类: 嵌入式
2014-08-11 16:28:25
1.1 Liunx的各组成部分:内核、shell、X Window和应用程序四大组成部分
1.2 Shell(交互式命令解释程序),用户与内核之间的桥梁
Shell既是一种交互式命令解释程序,也是一种程序设计语言,负责接收并解释用户输入的命令,并调用相关的程序来完成用户的要求。Linux默认的Shell是Bash,其以B Shell为基础,并包含C Shell和K Shell的诸多优点。
1.2 Linux的基本管理:CPU管理、存储管理、文件管理和设备管理。
1.3 之所以Linux能支持多种文件系统,是因为Linux采用了虚拟文件系统。
1.4 Linux操作系统把所有的外部设备按其数据交换的特征分成三大类:字符设备、块设备和网络设备
1.5 LRU算法是物理页的淘汰算法。
2.1 Linux支持多重引导,目前Linux中实现多重引导的引导装载程序主要是GRUB。
2.2 硬盘的主要分区有两种:主分区和扩展分区。
一个硬盘上最多只能有4个分区,其中一个主分区可以用一个扩展分区来替换。也就是说主分区可以有1~4个,扩展分区可以有0~1个,而扩展分区可以划分出若干个逻辑分区。
2.3 目前的硬盘主要有两大类:IDE接口硬盘和SCSI接口硬盘。
SCSI接口的硬盘的读写速度会比较快,要求较高的服务器会采用SCSI接口,一台计算机上可以有两个IDE接口(IDE0和IDE1),在每个IDE接口上可连接两个硬盘设备(主盘和从盘)。
2.4 Linux的所有设备均表示为/dev目录中的一个文件:
IDE0接口上的主盘称为/dev/had,IDE0接口上的从盘称为/dev/hdb.
SCSI0接口上的主盘称为/dev/sda,SCSI0接口上的从盘称为/dev/sdb.
2.5 系统引导的过程一般包括如下几步:
1)BIOS自检
2)MRB中的引导装载程序启动
3)Linux内核运行
4)登录
2.6 要安全删除Linux必须进行两个步骤:
1)删除引导装载程序
2)删除Linux的磁盘分区
3.1 X Window是UNIX/Linux操作系统图形化用户界面的标准,主要由三部分组成:
1)X 服务器(X Server)
2)X 客户机(X Client)
3)X 协议(X Protocol)
其工作模式
3.2 Linux系统上最常用的桌面环境有两个:
1)GNOME(GNU Network Object Model Environment,GNU网络对象模型环境)
2)KDE(K Desktop Environment,K 桌面环境)
3.3 GNOME桌面中的回收站其实硬盘上的一个文件。
3.4 GNOME应用程序窗口的默认字体和字号是Sans 和 10.
3.5 KDE中药调整桌面墙纸及字体需要打开控制中心的组件。
4.1 Linux的虚拟终端默认有7个,其中1~6个虚拟终端总是字符界面,而第7个虚拟终端总是图形化界面,必须启动图形化界面后才存在。
每个虚拟终端相互独立,用户可以相同或不相同的用户账号登录各虚拟终端,同时使用计算机。
虚拟终端之间可以使用【Alt+F1】~【Alt~F7】组合键从字符界面的虚拟终端切换到其他的虚拟终端,使用【Ctrl+Alt+F1】~【Ctrl+Alt+F6】组合键则可以从图形化用户界面切换到字符界面的虚拟终端。
4.2 超级用户命令的提示符:#
普通用户命令的提示符:$
4.3 Shell会自动过滤多余的空格,连续的额空格会被Shell视为一个空格。但是Linux严格区分大小写。
4.4 字符界面下的注销、重启和关机
注销:exit命令或【Ctrl+D】
重启:reboot或shutdown –r now
关机:halt或shutdown –h now
4.5 Shell简单命令
Shell简单命令 |
|
date命令 |
查看或修改系统日期 |
date 030405062013 |
将系统时间设置为2013年03月04日05时06分 |
cal命令 |
显示日历 |
|
|
pwd命令 |
显示当前目录的绝对路径 |
|
|
cd命令 |
切换到指定目录 |
|
|
ls命令 -a(all) -l(list)
-d(directory)
-t(time)
-R(recursive)
--color |
显示指定目录中的文件和子目录信息,不指定为当前 ? 显示所有文件和子目录,包括隐藏的文件和子目录 ? 显示文件和子目录的详细信息,包括文件类型、权限、所有者和所属组群、文件大小、最后修改时间、文件名等信息 ? 如果参数是目录,则只显示目录的信息,而不现实其中包含的文件信息 ? 按照时间的顺序显示文件,越新的文件排在前面。ls默认按照子母顺序排列 ? 不紧显示指定目录下的文件和子目录信息,而且还递归的显示各子目录中的文件和子目录信息 ? 显示不同类型文件的颜色(压缩为红色,普通为白色,目录为蓝色,可执行文件为绿色) |
|
|
cat命令 -n(number) |
显示文本的内容 ? 在每一行前显示行号 |
|
|
more命令 底部显示---More--- |
分屏显示文本的内容 按【Enter】键显示下一行的内容 按【Space】键显示下一屏的内容 按【q】键退出more命令 |
|
|
less命令 底部显示文件名 |
分屏显示文本内容 上下方向键、【Enter】、【Space】键、【PgDn】和【PgUp】键前后翻阅文本内容 按【q】键退出less命令 |
|
|
tail命令 -n(number) |
显示文本文件的结尾部分,默认显示文本的最后10行 ? 指定显示的行数 |
tail –n 5 /print.c |
显示文件print.c的最后5行 |
man命令 |
显示指定命令的手册页帮助信息 上下方向键、【PgDn】和【PgUp】键前后翻阅帮助信息 按【q】键退出less命令 |
man ls |
显示ls命令的手册页帮助信息 |
--help选项 |
显示指定命令的帮助信息 |
ls --help |
查看ls命令的帮助信息 |
wc命令 -c(character) -l(line) -w(word) |
显示文本文件的行数、数字和字符数以及文件名 ? 仅显示文件的字节数 ? 仅显示文件的行数 ? 仅显示文件的单词数 |
|
|
clear命令 |
清除当前终端的屏幕内容 |
|
|
useradd -c 全名(comment) -d 主目录(directory) -e 有效期限(expire) -f 缓冲天数 -g 组群ID|组群名 -G组群ID|组群名 -s 登陆shell -u 用户ID |
新建用户账号,只有超级用户才能使用此命令 ? 指定用户的全称,即用户的注释信息 ? 指定用户的主目录 ? 指定用户账号的有限期限 ? 指定口令过期后多久将关闭此账号 ? 指定用户所属的主要群组 ? 指定用户所属的附加群组 ? 指定用户登录后启动的shell类型 ? 指定用户的UID |
useradd -g a b |
指定一名为b的用户,其主要组群为a |
passwd -d 用户名(delete) -l 用户名(lock) -u 用户名(unlock) -S 用户名(status) |
设置或修改用户的口令以及口令的属性 ? 删除用户口令,则该账号无需用户口令即可登录 ? 暂时锁定的用户账号 ? 解除指定用户的锁定 ? 显示指定用户的状态 |
|
具体例子可根据提示输入 |
usermod -c 全名 -d 主目录 -e 有效期限 -f 缓冲天数 -g 组群ID|组群名 -G组群ID|组群名 -s 登录Shell -u 用户ID -l 用户名 |
修改用户的属性,只有超级用户才能使用此指令 ? 指定用户的全称,即用户的注释信息 ? 指定用户的主目录 ? 制定用户帐号的有效期限 ? 指定口令过期后多久将关闭次 ? 指定用户所属的主要群组 ? 指定用户所属的附加群组 ? 指定用户登录后启动的shell类型 ? 指定用户的UID ? 指定用户的新名称 |
usermod –l a b |
将名为b的用户改为a
|
userdel -r |
删除指定用户的帐号,只有超级用户才能使用此命令 使用此选项,系统不仅将删除此用户帐号,并且还将用户的主目录也一并删除,如果不实用仅删除帐号 |
|
|
su
- |
切换用户身份。 注:超级用户可以切换为任何普通用户,而且不需要输入口令,普通用户转换为其他用户时需要输入被转换用户的口令。使用“exit”可以返回本来的用户身份。 使用“-”,则用户切换为新用户的同时使用新用户的环境变量 |
[jerry@rhel ~]$ su – Password: [root@rhel ~]#
[a@rhel a]$su b Password: [b@rhel a]$ |
普通用户jerry切换为超级用户,并使用超级用户的环境变量 注:不使用用户名参数时,可从普通用户切换为超级用户,但是需要输入口令。
普通用户a切换为b |
|
|
|
|
4.6 Shell命令的通配符
Shell命令的通配符 |
|
* |
代表任意长度的任意字符 |
|
|
? |
代表任何一个字符 |
|
|
[ ] |
表示指定的一个字符范围,里面每一个字符都用于匹配 |
[a-z]* |
列出首字母是a、b、c的所有文件 |
! |
表示不在这个范围内 |
[!abc]* |
列出首字母不是小写子母的所有文件 |
- |
用来连接其实字符和终止字符 |
[a-z]* |
列出首字母是小写子母的所有文件 |
4.7 输出重定向 “ > “
? 输出重定向就是命令执行的结果不在标准输出(屏幕)上显示,而是保存到某一文件的操作。
? 创建文本文件
? 合并文本
4.8 附加输出重定向 “ >> ”
附加输出重定向和输出重定向的功能基本相同。两者不同之处在于:
附加输出重定向将输出的内容添加在原来文件已有的内容的后面,而不会覆盖其内容。而输出重定向则是将原来的内容用新的内容替换掉。
4.9 错误输出重定向
错误的输出也可以进行重定向,并可分为以下两种:
? 程序的执行结果显示在屏幕上,而错误信息重定向到指定文件,使用“2>”符号。
? 程序的执行结果和错误信息都重定向到同一文件,使用“&>”符号。
4.10 输入重定向 “ < ”
输入重定向跟输出重定向完全相反,是指不从标准输入读入数据,而是从文件读入数据。
4.11 管道 “ | ”
管道是Shell命令的另一大特征,它将许多个命令前后连接起来形成一个管道流。管道流中的每一个命令都作为一个单独的进程运行,前一个命令的输出结果传送到后一个命令作为输入,从左到右依次执行每个命令。
4.12 历史记录 history
历史记录主要放在用户自己主目录下的一个名为.bash_history的隐藏文件,默认最多保存1000个Shell命令的历史记录。
再次执行已经执行过的Shell命令
4.13 别名 alias
所谓的别名就是按照Shell命令的标准格式缩写的命令行的缩写,用来减少键盘的输入。
4.14 vi的工作模式
4.15 编辑文件
格式:vi 文件 ,如果有文件,则启动vi文本编辑器的命令,如果没有则新建指定文件。
? 输入文本(命令行模式下转入文本编辑模式)
命令 |
功能 |
i |
从当前的光标开始输入字符 |
I |
光标移动到当前的首行,开始输入字符 |
a |
从当前的光标的下一个位置,开始输入字符 |
A |
光标移动到当前的尾行,开始输入字符 |
o |
在光标所在行之下新增一行 |
O |
在光标所在行之上新增一行 |
? 查找字符串(命令行模式)
命令 |
功能 |
/ 字符串 |
vi将从光标当前的位置开始向文件尾查找,如果找到,贯标将停留在该字符串的首字母上 |
? 字符串 |
同上 |
n |
继续查找满足条件的字符串 |
N |
改变查找的方向,继续查找满足条件的字符串 |
? 撤销与重复(命令行模式)
命令 |
功能 |
u |
撤销上一步操作 |
. |
重复上一步操作 |
? 文本块操作(最后行模式)
在最后行模式下客队多文本(文本块)进行复制、删除、移动和字符串替换等操作。
命令 |
功能 |
:set nu |
每一行出现行号 |
:set nonu |
不现实行号 |
:n1,n2 co n3 |
将从n1行到n2行之间(包括n1\n2行本身)的所有文本复制到n3行之下 |
:n1,n2 m n3 |
将从n1行到n2行之间(包括n1\n2行本身)的所有文本移动到n3行之下 |
:n1,n2 d |
删除n1行到n2行之间(包括n1\n2行本身)的所有文本 |
:n1,n2 s/字符串1/字符串2/g |
将从n1行到n2行之间(包括n1\n2行本身)的所有字符串1用字符串2替换 |
? 保存文件与退出
在命令行模式下连续按两次【Z】键,将保存编辑的内容并推出vi
命令 |
功能 |
:w文件 |
保存为指定的文件 |
:q |
退出vi,如有改动则需使用以下的两个命令才能退出 |
:q! |
强制退出,不保存 |
:wq |
存盘并推出vi,等同于:x |
4.16 运行级别
Linux有7个运行级别,级别3为字符界面,级别5为图形化用户界面。如果希望启动后启动的是字符界面,则可更改/etc目录下的inittab文件中的“id: 数字:initdefault”里的数字。
4.17 手工启动图形化用户界面
在Shell命令提示符后输入命令startx,系统会执行与X Window相关的一系列命令,知道出现桌面环境。
按【Ctrl+Alt+BackSpace】组合键也可以关闭图形化用户界面,返回到手工启动时的字符界面。当即主菜单中的注销菜单项,在弹出的对话框中选择注销选项,也将返回到手工启动时的字符界面。
5.1 Linux用户分为三大类型:
? 超级用户:有称为root用户,拥有计算机的最高权限。所有系统的设置和修改只有超级用户才能执行。
? 系统用户:是与系统服务相关的用户,通常在安装相关软件包的时候自动创建,一般不需要改变其默认设置。
? 普通用户:有超级用户创建,普通用户的权限相当有限,只能操作其拥有权限的文件和目录,只能管理自己启动的进程。
5.2 用户ID(UID)
用户ID是Linux中每个用户都拥有的唯一的识别号码,如同每一个人都拥有的身份证号码。超级用户的UID为0,1-499的UID专供给系统用户使用。从500开始的UID才是普通用户的UID。安装完后新建的第一个用户的UID默认为500,依此类推。
5.3 组群ID(GID)
每一个用户都属于某一个组群。组群ID是Linux中每一个组群都拥有的唯一的识别码。和UID类似,超级用户所属组群(即root组群)的GID为0,1-499的GID专供系统组群使用,安装完后新建的第一个私人的组群的GID默认为500,依此类推。
5.4 用户账号信息文件/etc/passwd
保存除口令之外的用户账号信息,所有的用户都可以查看该文件的内容。
5.5 用户口令信息文件/etc/shadow
该文件是根据/etc/passwd文件而产生的,只有超级用户才能查看其内容。为进一步提高安全而产生,在shadow文件中保留的是采用MD5算法加密的口令。
位置 |
含义 |
1 |
用户名,其排列顺序与passwd一致 |
2 |
34位加密口令。如果是!!,则表示这个账号无口令,不能登录。部分系统用户账号无口令 |
3 |
从1970年1月1日起到上次修改口令日期的间隔天数。对于无口令的账号而言,是指从1970年1月1日起到创建该用户账号的间隔天数 |
4 |
口令自上次修改后,要隔多少天才能再次修改。若为0则表示没有时间限制 |
5 |
口令自上次修改后,多少天内必须再次修改。若为99999则表示用户口令未设置为必须修改 |
6 |
若口令设置了时间限制,则在国企多少天前向用户发送警告信息,默认为7天 |
7 |
若口令设置为必须修改,而达到期限后仍为修改,系统将推迟关闭账号的天数 |
8 |
从1970年1月1日起到用户账号到期的间隔天数 |
9 |
保留字段未使用 |
5.6 组群
? 系统组群:GID<500
? 私人组群:GID≥500
5.7 与组群相关的文件/etc/group
6.1 管理磁盘的Shell命令
mount [选项] [设备名] [目录]
功能:将磁盘设备挂载到指定的目录,该目录即为设备的挂载点。挂载点的目录可以不为空,但是必须已存在。磁盘挂载后,该挂载点的目录的源文件暂时不能显示且不能访问,取代它的是设备上的文件。
选项:
-t 文件系统类型 挂载制定文件的系统类型
-r 只读 以只读方式挂载文件系统,默认为读写方式
umount 设备|目录
功能:卸载指定的设备、既可使用设备名也可以使用挂载目录名
df [选项]
功能:显示文件系统相关信息
选项:
-a 显示全部文件系统的使用情况
-t 仅显示指定文件系统的使用情况
-x 显示除指定文件系统以外的其他文件系统的使用情况
-h 以易读方式显示文件系统的使用情况
mkfs [选项] 设备
功能:在磁盘上建立文件系统,也就是进行磁盘格式化
选项:
-t 建立指定文件类型,默认为ext2
-c 建立文件系统前首先检查磁盘坏块
fsck 设备
功能:检查并修复文件系统