Linux系统的安装和Windows系统的安装不大一样,有不少需要注意的地方。下面将简要介绍安装Linux的过程以及一些注意事项。
系统配置要求:Linux可以在配置较低的系统上运行并提供高效率的系统服务,安装Linux并没有严格的系统配置要求,只要有Pentium以上的CPU、64MB以上的内存、1GB左右的硬盘空间即可正常安装基本的Linux系统并能运行一些系统服务。要顺畅地运行Linux的图形界面,建议内存在 128MB 以上,当然如果要运行一些其他耗资源的软件就需要按要求提高系统的配置。
Linux的硬件支持:Linux目前支持几乎所有的处理器(CPU)。但有一些较早版本的Linux可能只支持很少的显卡、声卡类型,所以在安装时尽量选择新版本的Linux。
安装方式:通常的系统安装都有两种方式:一种是光盘安装,插入光盘按提示进行即可;另一种是硬盘安装,即从网上直接下载 ISO 映像文件。Linux 的安装文件一共包括三个:shrike-i386-disc1.iso、shrike-i386-disc2.iso和shrike-i386-disc3.iso,使用虚拟光驱按顺序安装,找到dosutils目录,执行里面的autoboot.bat批处理文件即可。
Linux的图形安装过程很简单,首先是选择语言及键盘鼠标类型,然后一步一步执行就好了。
Shell是Linux中的命令解释程序,有了它用户就能通过键盘直接输入指令来操作计算机。Shell 会执行用户输入的命令,并且在显示器上显示执行结果。Shell 与其他图形化操作不同,它是面向命令行的用户界面,称为 CLI(Command Line Interface)。Shell是 Linux 中一个非常有用的工具,是学习 Linux 必不可少的。下面将介绍 Shell 的一些基本应用。
在 Linux 启动后,Shell 其实已经在后台运行了,只是不显示而已。要想进入 Shell操作界面,可以通过组合键的方式来实现:<Ctrl> + <Alt> + <F2>,回到图形界面则按下组合键<Ctrl> + <Alt> + <F7>。在 Linux系统中运行【开始】→【应用程序】→【附件】→【系统终端】,也可以执行Shell命令。
学习目标 使用该指令对已存在的指令设置一个更便于用户记忆的别名
语法 alias [别名[=指令名] ]
功能说明 利用 alias 指令用户可以为已经存在的系统指令设置别名,然后运行自己设置的别名来实现指令的功能调用。在指令中指令名需要用单引号括起来,它可以是单个的指令名称,也可以是像“adduser–r adminis”一样完整的命令。若指令中无任何参数,只输入alias,则显示当前系统下已经设置的指令别名。一旦系统重启,用户设置的别名就不再生效,如果用户想要设置永久生效,可以通过编辑文件.bashrc来实现。
基础应用
范例1 设置指令的别名。
[root@localhost~]# alias p=’passwd’ //设置别名
[root@localhost~]# alias a=’adduser -d /home/she–p 12345678 sun’ //设置别名
[root@localhost~]# alias //列出当前已经设置的别名
alias a=’adduser -d /home/she–p 12345678 sun’
alias cp=’cp -i’
alias l.=’ls–d.* –color=tty’
alias ll=' ls–l–color=tty'
alias ls='ls --color=tty'
alias mv='mv -i'
alias p=’passwd’
alias rm='rm -i'
[root@localhost~]#
学习目标 使用 aumix 指令来设置音频设备
语法 aumix [-可选参数]
功能说明 aumix 指令可以用来调整音频设备的信号强度,指定播放与录音的装置设置。它可在命令行和脚本模式中使用,也可以图形界面的方式运行,此时用户可通过键盘或鼠标与其交互。
参数说明 可选参数及其说明如下:

基础应用
范例2 在命令行模式下直接设置音效设备。
[root@localhost ~]# aumix +2 //设置音效强度
用户如果在命令行模式下输入指令“aumix +2”,系统将在原有的强度上加指定值。
范例3 进入aumix图形界面。
[root@localhost ~]# aumix //进入图形界面
在命令行下直接输入指令“aumix”将进入图形界面,这时用户只需用鼠标拖动上面的白色圆圈,就可以直接设置相应的选项。
学习目标 显示或设置键盘按键与其相关的功能
语法 bind [-可选参数]
功能说明 利用 bind 指令来显示按键组合,用户可以了解自己的系统中有哪些按键组合及它们都有什么功能。当然还可以自行设置按键组合来代表某些特殊的功能。
参数说明 可选参数及其说明如下:

基础应用
范例4 显示系统中所有按键组合的功能。
[root@localhost ~]# bind -l //显示所有按键组合的功能
abort
accept-line
alias-expand-line
arrow-key-prefix
backward-byte
backward-char
backward-delete-char
backward-kill-line
backward-kill-word
backward-word
beginning-of-history
beginning-of-line
call-last-kbd-macro
capitalize-word
character-search
character-search-backward
clear-screen
complete
complete-command
complete-filename
complete-hostname
complete-into-braces
complete-username
complete-variable
copy-backward-word
copy-region-as-kill
delete-char
delete-char-list
----------- //省略部分输出
vi-yank-to
yank
yank-last-arg
yank-nth-arg
yank-pop
[root@localhost ~]#
范例5 设置快捷键。
[root@localhost ~]# bind–m”\C-m” : "ls " //设置快捷键”C-m”的功能
快捷键“C-m”即“Ctrl+m”。
范例6 显示指定功能的按键或者按键组合。
[root@localhost ~]# bind -q ls //列出功能ls的按键及按键组合
abort can be invoked via "\C-m"
[root@localhost ~]#
学习目标 使用 chkconfig 命令来检查、设置系统的各种服务
语法 chkconfig [-可选参数][系统服务程序][on/off/reset]
功能说明 chkconfig 指令可以用来为系统管理增加新的服务、为系统管理移除服务、列出当前服务的启动信息、改变服务的启动信息和检查特殊服务的启动状态。当单独运行chkconfig指令而不加任何参数时,它将显示服务的使用信息。
同时,chkconfig指令还可以设置系统服务的运行等级。我们知道在Linux系统中有7个运行等级,而运行等级的改变可以通过init命令来切换。在Linux运行等级的切换过程中,系统会自动寻找对应运行等级的目录/etc/rc[0-6].d下的K和S开头的文件,按后面的数字顺序执行这些脚本。chkconfig指令就提供了一个维护/etc/rc[0~6].d文件脚本的工具,可以更新和查询不同运行等级上的系统服务。
参数说明 可选参数及其说明如下:

基础应用
范例7 列出当前运行等级下所有的系统服务。
[root@localhost ~]# chkconfig -list //列出所有的系统服务
NetworkManager 0:off 1:off 2:off 3:off 4:off 5:off 6:off
NetworkManagerDispatcher 0:off 1:off 2:off 3:off 4:off 5:off 6:off
acpid 0:off 1:off 2:off 3:on 4:on 5:on 6:off
anacron 0:off 1:off 2:on 3:on 4:on 5:on 6:off
apmd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
----------------------------------------
---------------------------------------- //省略了部分结果
Xfs 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ypbind 0:off 1:off 2:off 3:off 4:off 5:off 6:off
yum-updatesd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
----------------------------------------
---------------------------------------- //省略了部分结果
time: off
time-udp: off
uucp: off
[root@localhost ~]#
学习目标 使用 clock 指令来调整 RTC 时间
语法 clock [-可选参数]
功能说明 clock 指令可以显示当前的时刻、调整电脑硬件时钟的时间、将系统时间设成与硬件时钟时间一致,或是把系统时间回存到硬件时钟。当第一次使用clock指令的“--set”或“--systohc”参数来设置硬件时钟时,指令会在/etc目录下自动生成一个名为adjtime的文件。当用户再次使用“--set”或“--systohc”参数来调整硬件时钟时,前后两次调整的差异就会被记录在该文件中,作为日后调整硬件时钟时间的参数。
参数说明 可选参数及其说明如下:

基础应用
范例8 显示当前的系统时间。
[root@localhost ~]# clock //显示当前的时间
执行指令“clock”将直接显示当前系统的时间信息。
学习目标 掌握 login 指令切换登录账号
语法 login [-可选参数] [用户名]
功能说明 在系统运行状态下输入 login 指令,将先对当前用户进行销号,然后在系统提供的登录界面中使用不同的身份重新登录系统。为了方便起见,用户也可以直接在指令后加入用户名,再根据系统提示输入密码,即可重新登录系统。
参数说明 可选参数及其说明如下:

基础应用
范例9 用户使用新的身份重新登录系统。
[root@localhost ~]# login
执行指令“login”,将进入系统登录界面,在界面下输入用户名和密码即可以新的身份登录系统。
学习目标 掌握如何使用 logout 指令退出当前 Shell
语法 logout
功能说明 logout 指令和 login 指令是一对,logout 指令将使用户退出当前系统。
基础应用
范例10 退出系统
[root@ localhost~]# logout
执行logout指令退出系统。
学习目标 在 Shell 命令行模式下关闭系统
语法 halt [-可选参数]
功能说明 halt 指令的默认操作是关闭系统,而不是关闭电源,它的操作等同于指令“shutdown–h” 和指令“init 0”将系统挂起。执行 halt 指令将先把本次关机操作记录到文件/var/logs/wtmp,然后通知内核是挂起操作系统、重启系统,还是关闭电源。
参数说明 可选参数及其说明如下:

基础应用
范例11 关闭系统。
[root@localhost~]# halt //关闭系统
执行指令“halt”将挂起当前操作系统。如果用户想要重新启动系统,按下reset键即可重新启动系统。
范例12 关闭系统同时关闭电源。
[root@localhost~]# halt -p //关闭系统并关闭电源
执行指令“halt -p”将关闭系统并切断计算机的电源,等同于指令“poweroff”。
学习目标 掌握 hwclock 指令的用法,能使用该指令来设定硬件时钟
语法 hwclock [-可选参数]
功能说明 hwclock 指令是一个硬件时钟管理工具,它不仅可设置硬件时钟,还可实现系统时钟和硬件时钟的同步。在Linux系统中有两种时钟,分别是硬件时钟与系统时钟。其中硬件时钟是指主板上的时钟,通常可在BIOS中进行设定,而系统时钟则是指内核(kernel)的时钟,所有的Linux相关指令多数读取的都是系统时钟。hwclock指令和clock指令可用来直接对硬件时钟进行存取。
参数说明 可选参数及其说明如下:

基础应用
范例13 显示当前系统的硬件时间。
[root@localhost~]# hwclock //显示当前系统的硬件时间
Mon 4 Jan 2009 21:31:47 PM CST -0.687086 seconds
[root@localhost~]#
执行指令“hwclock”将读取当前系统的硬件时钟信息,并输出到标准输出设备。
[root@localhost~]# hwclock–-set //显示当前系统的硬件时间
Mon 4 Jan 2009 21:31:49 PM CST -0.687086 seconds
执行指令“hwclock --show”将显示当前系统的硬件时间,与指令“hwclock”和“clock--show”执行效果相同。
范例14 设置系统的硬件时钟。
[root@localhost~]# hwclock --set --date=”01/04/2009 15:42:00” //设置当前系统的硬件时间
执行指令“hwclock --show --date="01/04/2009 15:42:00"将当前系统的硬件时间重新设置为“01/04/2009 15:42:00”。通用格式为:“月/日/年时:分:秒”。
[root@localhost~]# hwclock --hctosys //将系统时钟调整为与当前的硬件时钟一致
在Linux启动时,系统会去读取硬件时钟,并根据硬件时钟来设置系统时钟。在系统的硬件时钟改变后需要执行“hwclock --hctosys”来手动同步系统时钟和硬件时钟,--hctosys 就是 Hardware Clock to SYStem clock 。
学习目标 学习如何使用 insmod 指令来向系统内核载入模块
语法 insmod [-可选参数] [模块文件]
功能说明 insmod 指令可以在需要时向 Linux 的内核中添加模块。在 Linux 系统中许多功能都是以模块的形式存在的,管理员用户可以自己编写c文件并进行编译,然后将编译后的.o文件作为模块添加到系统内核中,也可以通过该指令加载需要的设备驱动程序。
参数说明 可选参数及其说明如下:

基础应用
范例15 加载指定模块。
[root@localhost ~]#insmod WLdriver.o //加载模块
执行指令“insmod WLdriver.o”将指定的无限网卡的驱动模块加载到 Linux 系统的内核中。但insmod指令不能处理模块之间的依赖关系,而modprobe指令将模块载入系统内核时可自动处理各模块之间的依赖关系,并进行加载。
学习目标 使用 timeconfig 指令来设置系统时区
语法 timeconfig [-可选参数] [时区]
功能说明 timeconfig 指令具有图形化的互动式界面,用户可以使用方向键和空格键来设置系统时间所属的时区。
参数说明 可选参数及其说明如下:

基础应用
范例16 设置系统时区。
[root@localhost ~]# timeconfig //设置时区
在Shell命令行模式下输入“timeconfig”指令将进入图形化的互动界面模式,在该界面下用户可以很轻松地进行设置。
学习目标 使用 kbdconfig 指令来设置键盘
语法 kbdconfig [-可选参数]
功能说明 kbdconfig 指令是 Red Hat Linux 指令,它提供图形化的操作界面,来修改相应的键盘配置文件/etc/sysconfig/keyboard。
参数说明 可选参数及其说明如下:

基础应用
范例17 键盘设置。
[root@localhost ~]# kdbconfig //设置键盘配置
学习目标 使用 mouseconfig 指令来设置相关的鼠标参数
语法 mouseconfig [-可选参数]
功能说明 mouseconfig 是 Red Hat Linux 下的鼠标设置程序。使用该指令不仅可设置相关参数,还可以在交互模式下使用键盘的方向键来设置选项。
参数说明 可选参数及其说明如下:

基础应用
范例18 在命令行模式中运行鼠标设置程序。
[root@localhost~]# mouseconfig -noui–device ttys0
学习目标 了解 sndconfig 指令的功能
语法 sndconfig [-可选参数]
功能说明 sndconfig 指令是 PnP 声卡设置工具,它可自动检测或设置 PnP 声卡。
参数说明 可选参数及其说明如下:

基础应用
范例19 使用sndconfig指令设置声卡。
[root@localhost ~]# sndconfig //运行sndconfig程序自动检测PnP声卡
学习目标 通过 help 命令输出的帮助信息来了解 Shell 程序的内建指令信息
语法 help [指令]
功能说明 利用 help 指令来显示指定指令的帮助信息。如果指令中未指定 Shell 内建指令,将显示所有支持该功能的指令。与指令中的--help参数相比,使用help指令显示的帮助信息更加详细。
基础应用
范例20 使用help显示指令的帮助信息。
[root@localhost~]# help //显示所有支持该功能的指令
在此我们省略了指令的输出结果。用户也可以通过在指令中指定要显示的 Shell 指令来显示需要的信息。
[root@localhost~]# help help //显示help指令本身的帮助信息
学习目标 运用 man 指令查看 Shell 指令的帮助信息
语法 man [-可选参数]指令名
功能说明 man 指令可用来查找 Linux 系统中已安装完成的各指令的帮助手册。Man 指令查找帮助信息的路径是由配置文件/etc/man.config来指定的。
参数说明 可选参数及其说明如下:

基础应用
范例21 显示帮助主题。
[root@localhost~]# man help //显示帮助主题
执行指令“man help”将显示 help 指令帮助手册的信息。
学习目标 使用 apropos 指令通过关键字来查找一个你不知道的能完成某种特殊任务的命令名称
语法 apropos[必要参数][选择性参数]关键词
功能说明 每个指令的使用手册都有一个简短的描述,通过 apropos 指令可以查找相关关键字的描述。若退出状态为0,则说明程序成功执行;若退出状态为1,则说明用法、语法或者配置有错误;若退出状态为2,则说明操作错误;若退出状态为16,则说明没有找到与指定的关键词相匹配的内容。
参数说明 必要参数的具体说明如下:


选择性参数的具体说明如下:

【环境变量】
系统参数:如果$SYSTEM 已经指定,那么它将与使用“-m”参数具有相同的效果。
路径参数:如果$MANPATH 已经指定,那么它将作为执行搜索的默认路径。
匹配参数:如果$POSIX_CORRECT 已经指定,即使没有给它赋值,那么搜索的匹配方式也将按照通常的方式进行,和使用“-r”参数具有相同的效果。
内建指令
whatis,man
基础应用
范例22 以通常方式进行关键词匹配。
root@localhost:~# apropos -r ls //以通常方式查找关键词ls
_llseek (2) - reposition read/write file offset
add-shell (8) - add shells to the list of valid login shells
afs_syscall (2) - unimplemented system calls
Apache2::PerlSections (3pm) - write Apache configuration files in Perl
Apache2::RequestUtil (3pm) - Perl API for Apache request record utils
Apache2::ServerUtil (3pm) - Perl API for Apache server record utils
APR::Pool (3pm) - Perl API for APR pools
assert (3) - abort the program if assertion is false
auth_destroy (3) - library routines for remote procedure calls
authnone_create (3) - library routines for remote procedure calls
authunix_create (3) - library routines for remote procedure calls
authunix_create_default (3) - library routines for remote procedure calls
blockdev (8) - call block device ioctls from the command line
break (2) - unimplemented system calls
c++filt (1) - Demangle C++ and Java symbols
运行以上指令之后,系统列出了所有与ls相关的指令信息及其描述,列出的信息很长,这里只截取了前面部分进行说明。此指令与指令“apropos ls”等效。
范例23 进行关键词的精确匹配。
root@localhost:~# apropos -e ls //以精确的方式查找关键词ls
dircolors (1)- color setup for ls
ls (1)- list directory contents
范例24 以通配符方式进行关键词匹配。
root@localhost:~# apropos -w ls //以通配符方式查找关键词ls
ls (1)- list directory contents
学习目标 使用 false 命令来设置状态码
语法 false[选择性参数]
功能说明 false 指令将以一个状态码结束,状态码表示失败。
参数说明 选择性参数的具体说明如下:

基础应用
范例25 表示失败。
[root@localhost~]# true //设置状态码
[root@localhost~]# echo $? //显示状态码
0
[root@localhost~]# false //设置状态码
[root@localhost~]# echo $? //显示状态码
1
[root@localhost~]#
本例使用指令false和true来设置状态码,表示失败或者成功。
学习目标 使用 dc 指令来执行复杂计算
语法 dc[选择性参数][文件]
功能说明 dc 指令是一个 reverse-polish 桌面计算器,它支持无限制精度算法。通常情况下,dc指令从标准输入读取数据,如果指定了文件名的命令行参数,那么指令将从指定的文件中读取数据,而不是从标准输入读取数据。结果将输出到标准输出,所有的错误信息将输出到标准错误输出。
参数说明 选择性参数的具体说明如下:

【运算类型】
+:加法。
-:减法。
*:乘法。
/:除法。
%:余数。
^:指数。
v:开方。
【堆栈操作】
c:清空堆栈。
f:显示堆栈的所有信息。
nk:精度设置,默认精确到个位。
q:结束程序。
P:输出堆栈最顶端的值。
p:弹出堆栈最顶端的值。
内建指令
expr,xcalc
基础应用
范例26 利用 dc指令进行乘法运算。
[root@localhost ~]# dc //运行dc指令
4 //输入乘数
5 //输入被乘数
* //乘法符号
p //弹出堆栈最顶端的值
20 //输出结果
q //退出
[root@localhost ~]#
乘法的运算过程如上所示,其他的加法、减法、除法、开方等的运算过程与乘法运算类似。
范例27 一个综合运算的例子。
[root@localhost ~]# dc //利用dc指令进行计算
7
8
*
p //用户输入
56 //输出结果
3 2 ^ p //用户输入
9 //输出结果
2 / p //用户输入
4 //输出结果
f //用户输入
4
56 //输出结果
+p //用户输入
60 //输出结果
q //用户输入
[root@localhost ~]#
学习目标 能运用 expr 指令实现简单的计算
语法 expr [-可选参数]表达式
功能说明 expr 指令将打印表达式的值到标准输出,可以进行算术和逻辑运算。
参数说明 可选参数及其说明如下:

【表达式】
ARG1 | ARG2:逻辑或运算。
ARG1 & ARG2:逻辑与运算。
ARG1 < ARG2:小于运算。
ARG1 <= ARG2:小于等于运算。
ARG1 = ARG2:等于运算。
ARG1 != ARG2:不等于运算。
ARG1 >= ARG2:大于等于运算。
ARG1 > ARG2:大于运算。
ARG1 + ARG2:加法运算。
ARG1- ARG2:减法运算。
ARG1 * ARG2:乘法运算。
ARG1 / ARG2:除法运算。
ARG1 % ARG2:取余运算。
STRING:REGEXP:检查 STRING 的模式是否与 REGEXP 匹配。
match STRING REGEXP:相当于 STRING:REGEXP。
substr STRING POS LENGTH:相当于 STRING:REGEXP。
index STRING CHARS:在 STRING 中索引 CHARS。
LENGTH STRING:计算 STRING 的长度。
+ TOKEN:将 TOKEN 视为一个字符串。
基础应用
范例28 判断表达式的逻辑值。
[root@localhost ~]# expr 23‘>=’32 //判断表达式的逻辑值
0
[root@localhost ~]# expr 23‘!=’32
1
[root@localhost ~]#
执行指令“expr 23‘>=’32”和指令“expr 23‘!=’32”判断逻辑表达式的真假,如果表达式的值为真,返回1;反之,则返回0。
范例29 计算表达式的值。
[root@localhost ~]# expr 25 '/' 8 //计算25/8的数值
3
[root@localhost ~]# expr 25 '%' 8 //计算25%8的数值
1
[root@localhost ~]#
执行指令“expr 25 ‘/’ 8”和指令“expr 25 ‘%’8”计算 25 和 8 的商及取余。
范例30 计算字符串的长度。
[root@localhost ~]# expr length “hello everyone” //计算字符串的长度
14
[root@localhost ~]#
执行指令“expr length“hello everyone””计算指定字符串的长度并输出结果。
范例31 索引字符串。
[root@localhost ~]# expr index “hello everyone”n //索引字符串
13
[root@localhost ~]#
执行指令“expr index“hello everyone”n”在指定字符串中索引字符 n,并输出该字符在指定字符串中的位置。
实战思考
应用思考
1.用指令“expr length coronabook”计算字符串 coronabook 的长度。
2.通过expr指令判断15和25的大小关系。如果表达式为真,则返回1;如果表达式为假,则返回0。
学习目标 运用 arch 指令来了解当前主机的体系结构
语法 arch
功能说明 如果用户想要了解当前主机的硬件架构,可在 Shell 命令行中输入 arch 指令,系统将在标准输出设备上输出本机硬件架构,即CPU类型。
【CPU类型】
i386:=Intel 80386,是对 Intel(英特尔)32 位微处理器的统称。
i486:=Intel 80386,是 Intel 公司的一款 CISC 架构的 x86 CPU。
i586:Pentium 2 及其同规格 CPU 的内核。
alpha:HP alpha CPU 架构。
sparc:SUN 和 TI 公司合作开发了 RISC 微处理器。
arm:Advanced RISC Machines 的缩写,既可以认为是一个公司的名字,也可以认为是对一类微处理器的统称,还可以作为一种技术的名称。当前有 5 个产品系列——ARM7、ARM9、ARM9E、ARM10和SecurCore。
m68k:m68k 为摩托罗拉 68 系列的 CPU,包括 680X0,683X0,CPU32 等。
mips:是对 MIPS 公司设计的 RISC 处理器 MIPS 芯片的统称。
ppc:苹果开发的 CPU 架构。
i686:Pentium 3 及其以上的 CPU。
基础应用
范例32 显示当前系统的体系结构。
[root@localhost~]# arch //显示当前系统的体系结构
i686
[root@localhost~]#
学习目标 了解 apmd 指令的工作原理和典型应用
语法 apmd [-可选参数]
功能说明 apmd 指令是进阶电源管理服务程序,主要由电源管理硬件、APM BIOS 和内核中的驱动器组成,负责BIOS进阶电源管理(APM)相关的记录、警告与管理工作。apmd指令还可以检测电池状态,当电池不在充电状态,同时电池电量下降速度超过指定的速度时,产生警告信息。
参数说明 可选参数及其说明如下:

基础应用
范例33 记录所有的电源管理事件,如果电源出现错误则发出警告信息。
[root@localhost~]# apmd -vw //记录所有的电源管理事件
执行指令“apmd -vw”记录所有的 APM 事件,如果电源出现错误则发出警告信息。
学习目标 应用 batch 指令来设置一次性任务,它可以是单个任务也可以是多个任务
语法 batch [-可选参数] [任务时间]
功能说明 在 Shell 命令行中输入 batch 指令,将出现 at>提示符,这时用户就可以在提示符后输入要执行的指令,一个命令占一行,这些任务将被加入/var/spool/at中,只有在系统的平均负载低于 0.8 空闲时才被执行,而且只能执行一次,不能循环执行这些指令。如果在关机之前任务还未被执行,在下次开机时,系统将自动读取这些还未被执行的指令,并在空闲时执行。用户利用 batch 指令还能指定指令的运行时间,但如果系统繁忙,任务的执行会被延后,这样用户可以将实时性不高的任务放到空闲时再执行,以减轻系统的负担。如果用户不能运行 batch 指令,可以查看任务调度程序是否被加载,或者查看当前用户名是否未被列入/etc/at.allow文件中。用户系统中没有/etc/at.allow文件,这时所有在/etc/at.deny文件中列出的用户都被禁止使用at和batch命令。
参数说明 可选参数及其说明如下:

基础应用
范例34 从标准输入设备读取批处理的指令。
[root@localhost ~]# batch //批处理
at> ls /home/tom //显示目录内容
at> cat /home/tom/11.txt //文件显示
at> alias p=’passwd’
at> <EOT> //以”Ctrl+D”结束输入
job 3 at 2009-01-12 15:53
[root@localhost ~]#
在at>提示符后输入一个命令后按下[Enter]键,继续以前的操作,当指令输入完毕,用户再按下Ctrl+D即可。
范例35 从指定文件读取批处理的指令。
[root@localhost ~]# cat >/home/tom/sua //从键盘读入数据
ls /home/tom
cat /home/tom/11.txt
alias p=’passwd’
[root@localhost ~]# cat /home/tom/sua //显示文件内容
ls /home/tom
cat /home/tom/11.txt
alias p=’passwd’
[root@localhost ~]# batch -f /home/tom/sua 12:20 //从指定文件读取批处理的指令,等待执行时间到来
job 3 at 2009-01-12 15:57
[root@localhost ~]#
执行指令“batch -f /home/tom/sua 12:20”系统将在指定的时间点运行指定文件中的批处理指令。
学习目标 利用 chfn 指令改变用户的 finger 信息
语法 chfn [-可选参数] [账号名]
功能说明 chfn 指令是用来改变或设置 finger 信息的工具。在 Linux 系统中 finger 信息是保存在文件/etc/passwd中的,当使用finger指令显示时,它会向用户提供以下4种信息,分别为指定用户账号的真实姓名、指定用户账号的办公地址、指定用户账号的办公电话和指定用户账号的家庭电话,可以利用chfn指令更改这些信息。
如果在用户输入的chfn指令中未指定参数,chfn指令将进入交互模式。在交互模式下chfn会在每一栏前列出相应的提示信息,用户根据提示信息可以输入新信息,若用户输入“none”则表示该项为空,若用户不想改变当前信息直接按Enter键就行。
参数说明 可选参数及其说明如下:

基础应用
范例36 进入交互模式,根据提示信息设置finger信息。
[root@localhost ~]# chfn //设置finger信息
Changing finger information for root.
Name [root]: Anne
Office []: none
Office Phone []: 12345678
Home Phone []: 12345678
Finger information changed.
[root@localhost ~]#
输入指令“chfn”进入交互模式。第一列的 Name、Office、OfficePhone 和 HomePhone是提示信息,依次表示账号名称、工作地址、办公电话和家庭电话。提示信息后面的方括号中是用户的当前设置,如 Name [root]中的 root 是更改前用户的真实姓名,输入的 Anne 是更改后的用户名,而 Office []表示更改前该项设置为空。
范例37 通过指令改变指定用户的finger信息。
[root@localhost ~]# chfn -f mary //改变指定用户的真实姓名
Changing finger information for root.
Finger information changed.
[root@localhost ~]# chfn -h 12345678 //改变指定用户的家庭电话
Changing finger information for root.
Finger information changed.
[root@localhost~]# chfn -o address //改变指定用户的办公地址
Changing finger information for root.
Finger information changed.
[root@localhost ~]# chfn -p 12345678 //改变指定用户的办公电话
Changing finger information for root.
Finger information changed.
[root@localhost ~]#
学习目标 通过 chsh 指令更改用户登录时默认的 Shell 类型
语法 chsh [-可选参数] [用户名]
功能说明 Shell 是一种具备特殊功能的程序,它是介于使用者和 UNIX/Linux 操作系统核心程序(kernel)之间的一个接口。Shell 既是一种命令语言,也是一种程序设计语言,不同的Shell拥有的内部命令不尽相同,占用的资源也大小不等。应用chsh指令可以为指定的用户设置登录时的Shell类型。目前流行的Shell有:ash、bash、ksh、csh等,其中bash是系统默认的Shell。如果指令中未指定任何参数,将进入交互模式。
参数说明 可选参数及其说明如下:

基础应用
范例38 改变用户的Shell。
[root@localhost ~]# chsh -l //显示所有的Shell
/bin/sh
/bin/bash
/sbin/nologin
/bin/bash2
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh
[root@localhost ~]#echo $SHELL //显示用户当前所使用的Shell
/bin/bash
[root@localhost ~]# chsh //Shell设置
Changing shell for root.
New shell [/bin/bash]: /bin/csh //输入新的Shell
Shell changed.
[root@localhost ~]#
在上例中我们通过输入chsh指令,进入交互模式,将Shell设置改变为/bin/csh。
范例39 使用参数改变指定用户的登录Shell。
[root@localhost ~]# chsh -s /bin/csh mary //改变用户 mary 的登录 Shell 为/bin/csh
Changing shell for root.
Shell changed.
[root@localhost ~]#
学习目标 对杂乱的屏幕信息进行清理
语法 clear
功能说明 clear 指令可以将杂乱的屏幕信息清理干净。它类似于 DOS 的 CLS 指令,当输入该指令,屏幕将切换到新的一页开始显示。
基础应用
范例40 屏幕清理。
[root@localhost ~]# clear
学习目标 根据指定格式显示或设置当前系统的时间
语法 date [-可选参数][日期和时间格式]
功能说明 date 指令可根据给定的格式显示当前的时间或者设置系统时间。date 指令不仅可以用来显示/设置系统的日期,同时还可以用来显示或设置系统的时间,格式是MMDDhhmm。
参数说明 可选参数及其说明如下:

格式说明如下:


基础应用
范例41 按照不同的格式显示当前时间。
[root@localhost~]# date //显示当前时间
Sun Jan 16:31:07 CST 2009
[root@localhost~]# date“Date:%Y.%m.%d Time:%H.%M.%S” //显示日期、时间
Date:2009.01.03 Time:16.31.11
[root@localhost~]#
学习目标 应用该指令将指定的字符串的值输出到标准输出
语法 echo [-可选参数]字符串
功能说明 echo 指令会将指定的字符串的值输出到标准的输出设备。
参数说明 可选参数及其说明如下:

基础应用
范例42 输出环境变量。
[root@localhost~]# echo $HOME //输出环境变量HOME
/root
[root@localhost~]# echo $TERM //输出环境变量TERM
Xtermt
[root@localhost~]#
HOME 和 TERM 是 Shell 定义的环境变量,在指令“echo $HOME”和指令“echo $TERM”中,$表示引用变量的内容。
范例43 输出一般字符串。
[root@localhost~]# echo“12345\n123456\123” //输出内容不作特殊处理
12345\n123456\123
[root@localhost~]# echo -e“12345\n123456\123” //加以特别处理后,输出环境变量
12345
123456\123
[root@localhost~]#
学习目标 使用 yes 指令不断地向终端输出指定的字符串
语法 yes[选择性参数][字符串]
功能说明 yes 指令用来回应字符串。
参数说明 选择性参数的具体说明如下:

基础应用
范例44 输出连续字符串。
[root@localhost~]# yes hello world //输出字符串“hello world”
使用 yes helloworld 指令将连续在终端输出字符串“hello world”直到按下组合键 Ctrl+C为止。
学习目标 以命令行的方式退出 Shell
语法 exit
功能说明 exit 指令用来退出当前的 Shell。
基础应用
范例45 退出Shell指令。
[root@localhost~]# exit //退出Shell
logout
学习目标 掌握 apm 指令的应用
语法 apm[参数]
功能说明 apm 指令用于高级电源管理。不输入参数直接输入 apm 指令时,系统将以用户可读的方式直接输出/proc/apm文件的内容。
参数说明 参数具体说明如下:

基础应用
范例46 显示剩余电量。
[root@localhost~]#apm -m //显示剩余电量
本例使用指令“apm–m”以分钟数的形式显示剩余的电量。
学习目标 掌握 apmsleep指令的用法
语法 apmsleep[必要选项][选择性选项][+]时间
功能说明 有些计算机,特别是笔记本电脑,能使用 RTC(实时锁)从低功耗的休眠状态进入DRAM模式。apmsleep指令用于在RTC中设置警告时间,并让计算机进入休眠模式或者备用模式,默认情况下进入休眠模式。
参数说明 必要参数的具体说明如下:

选择性参数的具体说明如下:

基础应用
范例47 进入休眠状态一段时间。
[root@localhost~]# apmsleep +1:50 //进入休眠状态
进入休眠状态,休眠的时间为1小时50分钟。
[root@localhost~]# apmsleep 9:00 //进入休眠状态
直到第二天早晨9点,计算机一直处于休眠状态。
范例48 进入备用模式一段时间。
[root@localhost~]# apmsleep -S +1:50 //进入备用模式
进入备用模式,备用模式的时间为1小时50分钟。
[root@localhost~]# apmsleep -S 9:00 //进入备用模式
直到第二天早晨9点,计算机一直处于备用模式。
学习目标 掌握 exec 指令的用法,在指定指令执行完成后可以退出当前登录的 Shell
语法 exec[指令]
功能说明 exec 指令用来在执行完指定的指令后交出控制权。
参数说明

基础应用
范例49 执行完指令后退出。
[root@localhost root]#exec ls //执行完ls指令后退出
学习目标 学习使用 fc 指令来显示编辑历史指令
语法 fc[选择性参数][必要参数][第一个指令][最后一个指令]
功能说明 fc 指令可以编辑曾经执行过的指令,并以批处理的形式让这些指令重新得以执行。
参数说明 必要参数的具体说明如下:

选择性参数的具体说明如下:

基础应用
范例50 列出当前执行过的指令。
[root@localhost~]# fc -l //列出当前执行过的指令
331 clear
332 chkconfig
333 chkconfig --list
334 ls
335 compress
336 exit
337 who
338 wall
339 wall hello
340 cpio --help
341 ls
342 vi iptables.sh
343 ls
344 clear
345 man evolution
346 exit
[root@localhost~]#
本例使用指令“fc–l”,列出当前执行过的指令。
范例51 执行已经执行过的指令。
[root@localhost~]# fc 345 339
man evolution
No manual entry for evolution
clear
ls
gao iproute_20061002-2.diff.gz vim-7.0
ipip-1.1.6 iproute_20061002-2.dsc vim_7.0-122+1.diff.gz
ipip_1.1.6.dsc iproute_20061002.orig.tar.gz vim_7.0-122+1.dsc
ipip_1.1.6.tar.gz iptables.sh vim_7.0.orig.tar.gz
iproute-20061002 poweron
vi iptables.sh
ls
gao iproute_20061002-2.diff.gz vim-7.0
ipip-1.1.6 iproute_20061002-2.dsc vim_7.0-122+1.diff.gz
ipip_1.1.6.dsc iproute_20061002.orig.tar.gz vim_7.0-122+1.dsc
ipip_1.1.6.tar.gz iptables.sh vim_7.0.orig.tar.gz
iproute-20061002 poweron
cpio --help
Usage: cpio [OPTION...] [destination-directory]
GNU 'cpio' copies files to and from archives
Examples:
# Copy files named in name-list to the archive
cpio -o < name-list [> archive]
# Extract files from the archive
cpio -i [< archive]
# Copy files named in name-list to destination-directory
Informative options:
-?, --help Give this help list
--license Print license and exit
--usage Give a short usage message
--version Print program version
Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.
Report bugs to <bug-cpio@gnu.org>.
wall hello
wall: can't read hello.
root@localhost:~#
本例使用指令“fc 345 339”,依次执行编号为 345~339 的指令,执行结果如上所示。
学习目标 学习 fgconsole 指令的用法
语法 fgconsole
功能说明 在命令行下输入 fgconsole 指令,将输出虚拟终端的数目。
基础应用
范例52 显示虚拟终端的数目。
[root@localhost~]# fgconsole //显示虚拟终端的数目
5
[root@localhost~]#
本例使用指令fgconsole,显示虚拟终端的数目。
学习目标 学习使用 gcov 指令进行测试
语法 gcov[必要参数][选择性参数]
功能说明 gcov 指令是伴随 gcc 发布的一个 coverage 测试工具,执行函数覆盖、语句覆盖和分支覆盖。gcov指令主要使用.gcno和.gcda两个文件。
.gcno是由-ftest-coverage产生的,它包含了重建基本块图和相应块的源码的行号信息。
.gcda是由加了-fprofile-arcs编译参数编译后的文件运行所产生的,它包含了弧跳变的次数和其他的概要信息(而gcda只能在程序运行完毕后才能产生)。
参数说明 必要参数的具体说明如下:

选择性参数的具体说明如下:

基础应用
范例53 使用gcov指令查看程序的分支。
//查看待测试程序的内容
[ywliu@ywliu~]$cat rt.c
#include <stdio.h>
void rt( int list[], int size )
{
int i, j, temp, swap = 1;
while (swap)
{
swap = 0;
for ( i = (size-1) ; i >= 0 ; i-- ) {
for ( j = 1 ; j <= i ; j++ ) {
if ( list[j-1] > list[j] ) {
temp = list[j-1];
list[j-1] = list[j];
list[j] = temp;
swap = 1;
}
}
}
}
}
int main()
{
int theList[10]={10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
int i;
rt( theList, 10 );
for (i = 0 ; i < 10 ; i++) {
printf("%d\n", theList[i]);
}
}
//产生可执行文件,为gcov准备镜像
[ywliu@ywliu~]$ gcc rt.c -o rt -ftest-coverage -fprofile-arcs
//运行rt.c
[ywliu@ywliu:~]$ ./rt
//使用gcov指令查看程序的分支
[ywliu@ywliu]:~$ gcov -b rt.c
[ywliu@ywliu]:~$ gcov -b rt.c
执行 gcov–b rt.c 的结果将被保存到文件 rt.c.gcov 中,cat 指令可以查看文件的内容。
学习目标 学习 dialog 指令的基本用法
语法 dialog [参数选项]
功能说明 Linux 下的 dialog 指令的图形化程序开发指令,dialog 可以和 Shell 脚本配合使用创建各种类型的图形框。
参数说明 指令的通用选项说明如下:

常用的对话框控件选项说明如下:


基础应用
范例54 创建一个输入对话框。
#dialog --title“Input your logname” --inputbox“Please input your logname:”10 30
本例使用指令 dialog --title“Input your logname” --inputbox“Please input your logname:”10 30 创建一个输入对话框。
学习目标 学习使用 ipcrm 指令删除共享内存的方法
语法 ipcrm[选择性参数]
功能说明 ipcrm 指令用来删除消息队列、旗语设置或者共享内存段。需要删除的进程号将用参数指定。
参数说明 选择性参数的具体说明如下:

基础应用
范例55 显示进程间的通信信息。
[root@localhost drivers]# ipcs //显示进程间的通信信息
------ Shared Memory Segments --------
keyshmid owner perms bytes nattch status
0x00000000 32768gdm 600 393216 2 dest
------ Semaphore Arrays --------
keysemid owner perms nsems
------ Message Queues --------
keymsqid owner perms used-bytes messages
[root@localhost drivers]#
本例使用指令“ipcs”显示进程间的通信信息。
范例56 删除指定进程号的共享内存。
[root@localhost drivers]# ipcrm -m 32768 //删除进程32768的共享内存
[root@localhost drivers]#
本例使用指令“ipcrm -m 32768”删除进程 32768 的共享内存。
学习目标 掌握如何使用 manpath 命令设置 man 查询
语法 manpath[必要参数][选择性参数]
功能说明 manpath 指令用来设置 man 指令查找时的路径。
参数说明 必要参数的具体说明如下:

选择性参数的具体说明如下:

基础应用
范例57 列出目前的查询路径。
[root@localhost root]# manpath
/usr/kerberos/man:/usr/local/share/man:/usr/share/man/en:/usr/share/man:/usr/X11R6/man:/usr/local/man
范例58 指定查询路径。
[root@localhost root]# manpath -M /home/wangyi
/home/wangyi
学习目标 掌握 uname 指令显示系统信息
语法 uname [-可选参数]
功能说明 uname 指令可以用来显示系统的硬件和软件的相关信息。
参数说明 可选参数及其说明如下:

基础应用
范例59 显示计算机类型和在网络上的名称。
[root@localhost~]# uname -mn //按指定显示系统信息
localhost.localdomain i686
[root@localhost~]# uname–m
i686
[root@localhost~]# uname–n
localhost.localdomain
[root@localhost~]#
使用uname指令可以很便捷地查询当前主机的网络名称。
学习目标 能应用 free 指令来查看系统内存的使用情况
语法 free [-可选参数]
功能说明 利用 free 指令可以显示系统内存的使用情况和空闲情况,它使用简单,占用的系统资源也很少。在该指令的输出结果中包含了物理内存、交换区内存、虚拟内存及缓冲区内存等的使用情况。free 指令还可以作为一个实时监控,连续、不间断地监视系统内存的使用情况。
参数说明 可选参数及其说明如下:


基础应用
范例60 显示系统的内存使用情况。

显示内容的第一行反映的是物理内存Mem的使用情况:total表示内存总数515492;used表示已经使用的内存情况473116;free表示空闲的内存数42376;shared表示废弃的内存0;buffers 内存数为 79928;cached 为 274000。其中,total= used + free。
显示内容的第二行,-/+ buffers/cache: 119188396304 的意思是:-buffers/cache的内存数:119188,其值= used-buffers–cached,反映的是被程序占用的内存数;+buffers/cache的内存数为:396304 = free + buffers + cached,反映的是空闲的可以使用的内存数。
显示内容的第三行反映的是系统交换分区的使用情况。
范例61 实时监控内存的使用情况。

学习目标 学习使用 history 指令来显示历史命令并对其进行追加执行或删除
语法 history [-可选参数]
功能说明 history 指令可以显示之前执行过的所有指令以及指定的最近的 n 个指令,输出的历史信息是按时间顺序进行排列的。Shell 的 history 历史记录文件是由环境变量HISTFILE指定的,在bash中history记录被保存到文件~/.bash_history中,而csh中的history记录被保存到文件~/.history 中。用户要想执行历史命令中的某个指令,只需输入“!”加上指令的顺序编号即可。history 的用法非常灵活,使用好 history 指令可以有效地提升效率。
参数说明 可选参数及其说明如下:

基础应用
范例62 显示当前系统的历史记录,并执行指定的指令。


执行指令“history”显示所有的历史命名,然后输入指令“!545”将执行输出的历史命令中编号为545的指令free,在Shell中缓存保存的历史指令个数是由环境变量“HISTSIZE”指定的。
范例63 显示最近的10个指令,并清除以往的历史记录。
[root@localhost ~]# history 10 //显示最近的10个指令
544 man free
545 free
546 groups
547 halt
548 halt–p
549 help
550 help help
551 history
552 free
553 history 10
[root@localhost ~]# history–c //清除历史记录
[root@localhost ~]# history
1 history
[root@localhost ~]#
执行指令“history 10”显示最近的 10 个命名,然后输入指令“history–c”将历史记录全部清除。
学习目标 理解前后台操作概念,掌握让进程在后台执行的方法
语法 指令&
功能说明 在要执行的指令后加上&,可以使进程在后台执行。
基础应用
范例64 让进程在后台执行。
[root@localhost~]# ftp 192.168.88.2 & //让进程在后台执行
[1] 9934
[root@localhost~]# Connected to 192.168.88.2.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.88.2:root): iplab604
-bash: iplab604: command not found
[1]+ Stopped ftp 192.168.88.2
[root@localhost~]#
本例使用指令“ftp 192.168.88.2 &”使 ftp 进程在后台运行。
学习目标 学习使用 crontab 指令来制定系统任务的执行时间表
语法 crontab [-u <用户名称>] [-可选参数]
功能说明 用户利用 crontab 指令可为自己或其他的指定用户制定任务表,它通过 cron程序表,在一定的时间间隔下调度任务的执行。如果用户在指令中指定了命令文件,那么指令将把这个指定文件复制到crontab下,作为命令文件。若指令中未对命令文件进行指定,指令将从标准输入设备读取数据,并保存到crontab下。
crontab指令完成用户任务定时调用功能,实际是通过cron程序表来实现的。crontab指令可以安装、卸载或显示驱动cron程序的表格。cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。在 Linux 系统中每一位用户都用自己的crontab 配置文件,它的格式为 Minute Hour Day Month DayOFWeek Command,由 6部分组成,各部分的具体功能如下:
【crontab配置文件格式】
Minute:指定命令执行的时间间隔单位中的分钟,0~59。
Hour:指定命令执行的时间间隔单位中的小时,0~23。
Day:指定命令执行的时间间隔单位中的日期,1~31。
Month:指定命令执行的时间间隔单位中的月份,1~12。
DayOFWeek:指定命令执行的时间间隔单位中的星期数,0~7。
Command:工作命令 Shell script。
参数说明 可选参数及其说明如下:

基础应用
范例65 编辑指定用户的crontab文件。
[root@localhost ~]#crontab–u mary -e //编辑用户mary的crontab设置
执行指令“crontab–u mary–e”用户就可以通过添加或删除作业,来编辑指定用户 mary的crontab文件内容。
范例66 显示当前计时器的设置。
[root@localhost ~]#crontab -l //显示当前的crontab设置
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.3672 installed on Thu Jan 1 15:55:18 2009)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
0 0-23/6 * * * clear
30 3 * * * free
[root@localhost ~]#
执行指令“crontab–l” 显示当前计时器的设置内容。
学习目标 学习如何查询和定义 Shell 环境变量
语法 declare [可选参数][变量名=设置值]
功能说明 declare 指令可用来声明 Shell 变量,因为 Shell 变量不同于环境变量,它只在当前的Shell程序中起作用,如果更改当前Shell这些声明变量就不再有效了。所以在declare指令中给出了x参数,可以将Shell变量转换成环境变量,这样就可以避免因Shell切换所带来的Shell变量的失效问题。直接输入declare指令将显示当前Shell中所有它定义的变量。
参数说明 可选参数及其说明如下:


基础应用
范例67 定义Shell变量和新的环境变量。
[root@localhost~]# declare dvd_var=”DVD-RAM/DVD±RW” //定义字符型Shell变量
[root@localhost~]# declare sum1_var=”120+112” //定义Shell变量sum1_var
[root@localhost~]# declare–i sum2_var=”120+112” //定义Shell变量sum2_var
[root@localhost~]# declare–p dvd_var sum1_var sum2_var //显示Shell变量
declare --dvd_var=“DVD-RAM/DVD±RW”
declare --sum1_var=”120+112”
declare–i sum2_var=”232”
[root@localhost~]# declare–x dvd_var //将dvd_var转换成环境变量
[root@localhost~]#
declare指令不能直接创建一个环境变量,只能将一个已存在的变量变成环境变量。用户使用declare指令不仅可以将变量赋值为字符、数值,还能将其设置为表达式。
学习目标 能使用 depmod 指令来分析各个内核加载模块之间的关系。
语法 depmod [-可选参数] [模块文件名]
功能说明 depmod 指令可以用来检查各模块间的依赖关系,并将检查结果输出到系统的标准输出设备。它是供 modprobe 在安装模块时使用的工具程序。用户可以在指令中指定要检查的内核文件的名称,也可以对系统中的所有可用模块进行检查。
参数说明 可选参数及其说明如下:


基础应用
范例68 显示所有可用模块间的关系。
[root@localhost ~]# depmod -a //显示所有可用的模块间的关系
执行指令“depmod–a”将检查所有可用模块间的依赖关系。一般情况下会将“depmod–a”指令加入文件/etc/rc.d/rc.S(Slackwar)或/etc/rc.d/rc.sysinit(Redhat)中,实现开机后对模块依赖关系的自动分析。
学习目标 掌握 dircolors 设置 ls 显示目录或文件时的色彩
语法 dircolors [-可选参数] [色彩配置文件]
功能说明 如果用户使用的是彩显,可使用dircolors指令来设置ls输出内容的显示色彩。它的功能类似于“ls --color”指令,将 ls 输出信息的每一列以不同的颜色来显示。Dircolors指令可根据指令中指定的色彩配置文件的内容来设置Shell的环境变量LS_COLORS,确定不同颜色与文件类型等之间的配置。如果未指定相关的配置文件,则使用预先编译好的颜色配置数据库。
参数说明 可选参数及其说明如下:

基础应用
范例69 显示默认的颜色配置数据库。
[root@localhost~]# dircolors --print-database //显示默认的数据库
# Configuration file for dircolors, a utility to help you set the
# LS_COLORS environment variable used by GNU ls with the --color option.
# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the
# slackware version of dircolors) are recognized but ignored.
# Below, there should be one TERM entry for each termtype that is colorizable
TERM Linux
---------------------------------------------------
---------------------------------------------------//省略部分输出结果
.mpeg 01;35
.avi 01;35
.fli 01;35
.gl 01;35
-------------------------------------------------
-------------------------------------------------//省略部分输出结果
.ogg 01;35
.mp3 01;35
.wav 01;35
[root@localhost~]#
执行指令“dircolors --print-database”将显示颜色配置数据库的相关内容。
范例70 设置环境变量LS_COLORS。
[root@localhost~]# dircolors -b > tmp //显示默认的数据库
[root@localhost~]#
执行指令“dircolors -b > tmp”按预置颜色配置数据库内容生成代码。
学习目标 能使用 dmesg 指令来显示内核中 ring buffer 缓冲区的信息
语法 dmesg [-可选参数]
功能说明 dmesg 指令可通过检测内核的 ring buffer 缓冲区,来显示当前系统开机及运行中内核的输出信息。开机时,系统内核会将开机信息保存在/var/log目录中的dmesg文件里,而且会在标准输出设备上进行显示,但过程很短。由于此信息只在本地终端上输出,所以远程用户要想查看系统的开机信息,必须使用dmesg指令将信息输出到远程主机。
参数说明 可选参数及其说明如下:

基础应用
范例71 输出Linux系统的开机信息。
[root@localhost ~]# dmesg //输出Linux系统的开机信息
------------------------------------------------
------------------------------------------------ //省略部分输出结果
[root@localhost ~]#
执行指令“dmesg”将输出Linux系统缓冲区的开机信息。
学习目标 学会使用 enable 指令来激活/关闭 Shell 内建指令
语法 enable [-可选参数]
功能说明 用户利用 enable 指令可关闭或激活 Shell 的内建指令。Shell 的主要功能就是命令解释,Linux中的所有可执行文件,无论是内建指令,还是外部命令,都可以通过Shell程序v来运行。当用户输入一命令后,Shell将首先判断该命令是否为Shell的内建命令,如果是就通过Shell内部的命令解释器来解释指令,然后转交给Linux内核来执行。如果是外部命令或实用程序,Shell将先在硬盘中查找该命令,然后调入内存将其解释为系统功能并转交给系统内核执行。
【Linux系统中的可执行文件】
Linux 命令:存放在/bin,/sbin 目录下的命令。
内置命令:出于效率的考虑,将一些常用命令的解释程序构造在 Shell 内部。
实用程序:存放在/usr/bin、/usr/sbin、/usr/share、/usr/local/bin 等目录下的实用程序或工具。
用户程序:用户程序经过编译生成可执行文件后,也可作为 Shell 命令运行。
Shell 脚本:由 Shell 语言编写的批处理文件。
参数说明 可选参数及其说明如下:

基础应用
范例72 显示Shell内置指令。
[root@localhost~]# enable //显示Shell指令
enable .
enable :
enable [
enable alias
enable bg
enable bind
enable break
enable builtin
enable caller
enable cd
------------------------------------------------
------------------------------------------------ //省略部分输出结果
enable help
enable history
enable jobs
enable kill
enable let
enable local
enable logout
enable popd
enable printf
------------------------------------------------
------------------------------------------------ //省略部分输出结果
enable suspend
enable test
enable times
enable trap
enable true
enable type
enable typeset
enable ulimit
enable umask
enable unalias
enable unset
enable wait
[root@localhost~]#
执行指令“enable”将显示系统中所有已经开启的Shell的内置指令,它的执行效果与指令“enable -a”相同。
范例73 Shell内建指令的激活和关闭。
[root@localhost~]# enable -n pwd //关闭Shell内建指令
enable -n pwd
[root@localhost~]# enable pwd //激活Shell内建指令
执行指令“enable–n pwd”将关闭指定的 Shell 内建指令,同时如果运行指令“enable pwd”将激活指定的Shell内建指令。
学习目标 学会使用 eval 指令来执行多个 Shell 指令
语法 eval [指令]
功能说明 eval 指令可执行多个指令。每个指令就是一个字符串参数,之间用分号隔开,且不限个数。它能读取这一连串的字符串参数,并把这些字符串看作命令,再按参数本身的特性来执行。
基础应用
范例74 执行多个指令。
[root@localhost~]# eval dircolors --print-database; crontab -l //执行多个指令
# Configuration file for dircolors, a utility to help you set the
# LS_COLORS environment variable used by GNU ls with the --color option.
# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the
# slackware version of dircolors) are recognized but ignored.
# Below, there should be one TERM entry for each termtype that is colorizable
TERM Linux
---------------------------------------------------
--------------------------------------------------- //省略部分输出结果
.ogg 01;35
.mp3 01;35
.wav 01;35
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.3672 installed on Thu Jan 1 15:55:18 2009)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
0 0-23/6 * * * clear
30 3 * * * free
[root@localhost~]#
执行指令“eval dircolors --print-database; crontab -l”,将用分号连接的字符串参数 dircolors --print-database 和 crontab -l”分别看作两个指令同时在执行。
学习目标 能使用 export 指令来设置、查看或删除 Shell 的环境变量
语法 export [-可选参数]环境变量[=变量值]
功能说明 export 指令可以设置或修改 Shell 环境变量的值。当登录到系统后,系统将为用户启动一个用户Shell,在这个Shell中,用户可以运行Shell指令、变量声明或运行Shell脚本程序。当运行 Shell 脚本程序时,系统将为其创建一个子 Shell。此时,系统中将有两个 Shell,而在子 Shell 中定义的环境变量只是该子 Shell 内的一个局部变量,在该子 Shell内有效,其他的Shell不能使用。如果用户想在其他Shell中使用该变量,可以使用export命令对已定义的变量进行输出,使系统在创建每一个新的Shell时,同时定义这个变量的一个拷贝。
参数说明 可选参数及其说明如下:

基础应用
范例75 显示当前所有的环境变量。
[root@localhost~]# export -p //列出当前的环境变量值
declare -x BASH_ENV="/root/.bashrc"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="localhost.localdomain"
declare -x INPUTRC="/etc/inputrc"
declare -x KDEDIR="/usr"
declare -x LANG="zh_CN.UTF-8"
declare -x LESSOPEN="|/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
declare–x
LS_COLORS="no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;so=01;35:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;3 1:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;3 1:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35:"
declare -x MAIL="/var/spool/mail/root"
declare -x OLDPWD
---------------------------------------------------
--------------------------------------------------- //省略部分输出结果
declare -x SSH_TTY="/dev/pts/1"
declare -x TERM="vt100"
declare -x USER="root"
[root@localhost~]#
本例执行指令“export–p”列出所有的环境变量。
范例76 设置环境变量。
[root@localhost~]# export M_ENV= http://www.Linux.org/ //定义环境变量
[root@localhost~]#
[root@localhost~]# M_ENV=http://www.Linux.org/ //定义变量
[root@localhost~]# export M_ENV //将变量转换成环境变量
[root@localhost~]#
使用export指令可以直接定义一个环境变量,也可以将一个普通的变量转换成环境变量。但在 csh 中使用 setenv 指令来设置环境变量 setenv M_ENV http://www.Linux.org/。
学习目标 学会使用 fbset 指令来设置系统的显示模式
语法 fbset [-可选参数] [显示模式]
功能说明 fbset 指令是一个系统视频工具,可以用于改变视频设备的显示模式。使用fbset指令不仅可以设置景框缓冲区的大小,调整画面的分辨率、位置、高低宽窄、色彩深度,还可以激活或关闭显卡的默写设置项。
参数说明 可选参数及其说明如下:

基础应用
范例77 改变帧缓冲模式。
[root@localhost~]# fbset fbnew.modes //改变帧缓冲模式
执行指令“fbset fbnew.modes”根据新的配置文件信息来设置显示模式。
实战思考
应用思考
执行“fbset–a 1024×768”指令改变所有使用该设备的虚拟终端机的显示模式。
学习目标 能使用 lilo 指令来引导安装内核,并管理开机功能
语法 lilo [-可选参数]
功能说明 lilo(the Linux loader)是 Linux 系统的启动程序,具备多重引导功能。它不仅可以引导 Linux 操作系统,还可以引导 Windows 等其他操作系统。它可用来安装一个启动装载程序,以管理系统的开机功能。单独执行 lilo 时,它会根据/etc 目录下的 lilo.conf 配置文件来安装lilo。
参数说明 可选参数及其说明如下:

基础应用
范例78 指定lilo的配置文件。
[root@localhost ~]# lilo -C /etc/lilo.conf0
lilo的配置文件中一般包含以下几点内容:指定lilo的安装引导扇区;lilo启动时的显示菜单;启动延迟时间;新内核的默认映像以及完整路径等相关项目。用户可以使用lilo指令来修改这些选项,然后再执行lilo指令将修改信息写入磁盘,使新的设置生效。
学习目标 了解 liloconfig 指令的基本用法,能使用该指令进行 lilo 程序的安装和设置
语法 liloconfig
功能说明 liloconfig 指令是 Slareware 发行版专为调整 lilo 引导安装程序而设置的程序。用户可通过互动的操作界面和方向键轻松地进行lilo程序的安装和设置,不再需要编写相关的配置文件。
基础应用
范例79 开启liloconfig。
[root@localhost~]# liloconfig //开启liloconfig
执行指令“liloconfig”将进入liloconfig的互动界面。
学习目标 学会使用 lsmod 指令来显示已载入系统的所有模块的信息
语法 lsmod
功能说明 lsmod 指令可用来显示所有已载入系统的模块。在 Linux 系统中所有的功能都是以模块的形式进行加载的,相关加载模块的信息都存放在文件/proc/modules 中。执行lsmod指令就是通过读取该文件来获取当前内核装载模块的信息。
基础应用
范例80 显示当前系统下的模块信息。
[root@localhost~]# lsmod //显示载入系统的模块信息
Module Size Used by
lp 13001 0
parport 40585 2 parport_pc,lp
bluetooth 56133 4 rfcomm,l2cap
sunrpc 167813 1
button 6609 0
battery 9413 0
ipv6 268097 10
uhci_hcd 35152 0
gameport 18633 1 snd_ens1371
snd_rawmidi 30305 1 snd_ens1371
soundcore 10913 1 snd
snd_page_alloc 9669 1 snd_pcm
pcnet32 36165 0
mii 5441 1 pcnet32
floppy 65269 0
ext3 132553 2
jbd 86233 1 ext3
BusLogic 79445 3
sd_mod 20545 4
[root@localhost~]#
执行指令“lsmod”将显示当前系统装载的模块信息。
学习目标 使用 minfo 指令来显示 MS-DOS 文件系统的各项参数
语法 minfo [-可选参数] [驱动器代号]
功能说明 minfo 是 mtools 工具指令,使用该指令可显示 MS-DOS 文件系统中包括磁区数、磁头数在内的各项参数。
参数说明 可选参数及其说明如下:

基础应用
范例81 显示MS-DOS文件系统的各项参数。
[root@localhost~]# minfo
执行指令“minfo”将显示MS-DOS文件系统的各项参数。
学习目标 学会使用 mkkickstart 指令来建立安装的组态文件
语法 mkkickstart [-可选参数]
功能说明 mkkickstart 指令可根据目前系统的设置来建立安装组态文件,供其他电脑用户安装时使用。这个文件的内容包括使用语言、系统磁盘状态以及X-Windows设置等信息。
参数说明 可选参数及其说明如下:

基础应用
范例82 建立安装的组态文件。
[root@localhost~]# mkkickstart --nox–bootp
执行指令“mkkickstart --nox–bootp” 根据目前系统的设置建立安装的组态文件。
实战思考
应用思考
执行指令“mkkickstart --nop 远端电脑:路径”进行指定的网络路径安装。
学习目标 能使用 modinfo 指令来显示内核模块的信息
语法 modinfo [-可选参数]模块文件
功能说明 modinfo 指令可用来显示指定的内核模块的信息。在指令中必须指定内核模块的路径和文件名称。
参数说明 可选参数及其说明如下:

基础应用
范例83 显示模块信息。
[root@localhost lp]# modinfo lp.o
实战思考
应用思考
使用“modinfo–a cd”指令来显示模块开发人员的信息。
学习目标 学会使用 modprobe 指令来加载内核模块
语法 modprobe [-可选参数] [模块文件]
功能说明 modprobe 指令的功能和 insmod 类似,它会根据指定模块内部的依赖关系来自动安装所有依赖的模块,一旦发生错误将卸载与之相关的所有模块。
参数说明 可选参数及其说明如下:


基础应用
范例84 安装驱动模块。
[root@localhost~]# modprobe–a usb_driv.o
实战思考
应用思考
执行指令“modprobe–r usb_driv.o”删除指定的模块,对比 modprobe 指令和 insmod 指令。
学习目标 学会使用 ntsysv 指令来设置系统的各种服务
语法 ntsysv [-可选参数]
功能说明 ntsysv 指令提供交互模式下的系统设置,执行该指令后将进入图形化界面。在交互模式下,用户可通过键盘上的方向键来流览菜单选项,使用空白键来选取或取消相关的系统服务,使用[Tab]键来进行功能切换服务并对其进行设置。
参数说明 可选参数及其说明如下:

基础应用
范例85
[root@localhost~]#ntsysv --level 35
ntsysv 工具为启动或停止服务提供了简单的界面,使用ntsysv可以启动或关闭由xinetd管理的服务,同时还可以配置运行级别。指令“ntsysv --level 35”配置运行级别 3 和 5。
学习目标 学会使用 rdate 指令来查询远端主机的系统时间信息
语法 rdate [-可选参数]主机/IP 地址
功能说明 执行 rdate 指令可以查询指定的远端主机的系统时间,并输出到本地主机的标准显示设备。
参数说明 可选参数及其说明如下:

基础应用
范例86 获取指定的远端主机的系统时间,并根据返回的时间来设置本地主机的系统时间。
[root@localhost~]# rdate–s 192.168.0.1 //从 192.168.0.1 获取时间信息
使用指令“rdate–s 192.168.0.1”可以实现不同主机系统时间的同步。在局域网中客户机可通过该指令来同步于服务器的时间。
实战思考
应用思考
Rdate可用来同步本地主机和服务器时间,也可通过指令“radte–p远端主机IP”来查看远端主机的时间信息。
学习目标 了解 reset 指令的基本功能
语法 reset [-可选参数] [终端]
功能说明 reset 指令可用来设定终端机的状态,或在终端机因程序异常而出现故障时,将终端机的状态回复到原始状态。还可自动根据 Shell 环境变量或其他信息来设置终端机的类型,也可由用户来输入终端机的类型。如果用户指定的终端类型为“?”,指令会要求用户输入终端类型。
参数说明 可选参数及其说明如下:

基础应用
范例87 显示设定终端机的命令字符串。
[root@localhost~]# reset–s //显示设定终端机的命令字符串
Erase is control-B (^B)
Kill is control-U (^U)
Interrupt is control-C (^C)
TERM=xterm
[root@localhost~]#
执行指令“reset–s”将在当前终端上显示设定终端机状态的命令字符串。
学习目标 能运用 resize 指令来设置终端机的视窗大小
语法 resize [-可选参数]
功能说明 执行 resize 指令可设置虚拟终端视窗屏幕的大小。
参数说明 可选参数及其说明如下:

基础应用
范例88 使用resize指令来设置虚拟终端的显示屏大小。
[root@localhost~]# resize -s 80 160 //直接在resize指令中设置屏幕大小
COLUMNS=160;
LINES=80;
export COLUMNS LINES;
[root@localhost~]#
用户不仅可以在指令中直接输入视窗的行数和列数,还可以在其他模式下进行设置。如以下就是在 C Shell 模式下进行虚拟的屏幕大小设置:
[root@localhost~]# resize -c //使用C Shell设置屏幕
set noglob;
setenv COLUMNS '160';
setenv LINES '80';
unset noglob;
[root@localhost~]#
使用 Bourne Shell 设置虚拟屏幕的大小
[root@localhost~]# resize -u //使用Bourne Shell设置虚拟屏幕
COLUMNS=160;
LINES=80;
export COLUMNS LINES;
[root@localhost~]#
在上例中我们讲解了设置视窗大小的三种不同方法。
实战思考
应用思考
尝试使用 resize 指令在 C Shell 模式、Bourne Shell 模式或直接使用-s 参数来设置虚拟终端的视窗大小,并对比三种方式的区别。
学习目标 能使用 rmmod 指令来删除内核中不再需要的模块
语法 rmmod [-可选参数] [模块]
功能说明 rmmod 指令可从运行的系统内核中卸载不需要的模块。Linux 操作系统的核心具有模块化的特性,用户可以很方便地进行模块的加载和卸载。
参数说明 可选参数及其说明如下:

基础应用
范例89 卸载内核中的指定模块。
[root@localhost~]# rmmod lp //卸载模块hid
执行指令“rmmod lp”将删除模块 lp,如要删除的模块与其他模块有依赖关系,特别是被其他安装模块所依赖的话,用户需要显示删除依赖它的其他模块,才能删除掉该模块。
学习目标 学会如何使用 rpm 指令来管理 RPM 套件
语法 rpm [-可选参数]软件包
功能说明 rpm 是 Red Hat 推出的一款功能强大的包管理器,是 Linux 下最重要的软件包管理工具,在除 Red Hat 以外的其他 Linux 发行版中也被广泛采用。用户使用 rpm 指令可以进行软件的安装、建立、卸载、查询、升级、验证等各种操作。而 RPM 套件本身的安装和升级也很方便,现在有许多RPM套件是专门针对特定的CPU建立的,它的扩展名也不尽相同。
【RPM套件的扩展名和CPU】
noarch.rpm:适用于所有的计算机系统,不依赖于所采用的 CPU 类型。
alpha.rpm:适用于采用 HP Alpha CPU 的计算机系统。
athlon.rpm:适用于采用 AMD Athlon CPU 的计算机系统。
i386.rpm:适用于基于 Intel 386 CPU 的所有机型,可以在所有 Inter 兼容的计算机系统上进行安装。
i486.rpm:适用于采用 Intel 486 CPU 的计算机系统。
i586.rpm:适用于采用 Intel 586 CPU 的计算机系统。
i686.rpm:适用于采用 Intel 686 CPU,即 Intel32 位 Pentium 系统和 AMD32 位 CPU的计算机系统。
ia64.rpm:适用于采用 Inter Itanium 64 位 CPU 的计算机系统。
ppc.rpm:适用于采用 Apple PowerPC CPU 的计算机系统。
s390.rpm:适用于采用 S/390 CPU 的 IBM 服务器系统。
sparc.rpm:适用于采用 Sun Microsystems SPARC CPU 的计算机系统。
参数说明 可选参数及其说明如下:




基础应用
范例90 安装RPM套件。
[root@localhost~]# rpm -vih *********.rpm //安装RPM软件包
Preparing... ################################### [100%]
1:RealPlayer z################################## [100%]
[root@localhost~]#
执行指令“rpm -vih *********.rpm”将在 Linux系统中安装指定的以.rpm 作为后缀的 RPM包。RPM是 RedHat Package Manager(RedHat 软件包管理工具)的缩写,它可用于互联网下载数据的打包及安装,同时还管理着系统已安装的所有RPM程序组件的资料。
范例91 卸载软件包。
[root@localhost~]# rpm -e setup //卸载软件setup
[root@localhost~]#
卸载软件包与安装软件包不同,只需在指令中输入软件包名即可,如本例所示。
实战思考
应用思考
1.RPM 指令不仅可用来安装或卸载软件包,还可用来查询软件包的版本,具体的形式如“rpm–q软件包名”。用户要想查询更多的关于软件包的问题,可输入“rpm–qi软件包名”来获取。
2.用户要想查询文件所属的软件包,可在命令行模式下输入指令“rpm–qf 指定文件路径”,将在标准输出设备上输出查询结果。如果用户在指令中输入的文件路径不是完整的路径,看看输出是否正确,想想为什么。
学习目标 能使用 set 指令来设置 Shell 的执行方式或 Shell 变量
语法 set [-可选参数] [-o 选项]
功能说明 set 指令可根据不同的需求来设置当前所使用 Shell 的执行方式,同时也可用来设置或显示Shell变量的值。当指定某个单一的选项时将设置Shell的常用特性,如果在选项后使用-o参数将打开特殊特性,使用+o将关闭相应的特殊特性。而不带任何参数的set指令将显示当前Shell中的全部变量,且总是返回true,除非遇到非法的选项。
参数说明 可选参数及其说明如下:



基础应用
范例92 显示当前Shell环境变量的设置。
[root@localhost ~]# set //显示Shell环境变量的设置
BASH=/bin/bash
BASH_ARGC=()
BASH_ARGV=()
BASH_LINENO=()
BASH_SOURCE=()
------------------------------------------------------------
------------------------------------------------------------ //省略了部分输出
INPUTRC=/etc/inputrc
LANG=c
------------------------------------------------------------
------------------------------------------------------------ //省略了部分输出
SSH_TTY=/dev/pts/1
SUPPORTED=zh_CN.UTF-8:zh_CN:zh
TERM=xterm
UID=0
USER=root
[root@localhost ~]#
在Shell命令行模式下直接输入set指令将显示目前Shell下的所有环境变量,set指令不仅可用来显示Shell环境变量,还可设置环境变量。
范例93 使用set指令设置环境变量。
[root@localhost ~]# echo $HOME //输出环境变量HOME
/root
[root@localhost ~]# set HOME "/home/mary" //设置环境变量
[root@localhost ~]# echo $HOME //输出环境变量HOME
/home/mary
[root@localhost ~]#
执行指令“set HOME "/home/mary"”设置环境变量 HOME 的值为/home/mary。
实战思考
应用思考
使用set指令设置Shell环境变量与export指令设置环境变量有何差异?为什么?
学习目标 掌握如何使用 setconsole 指令来指定系统终端
语法 setconsole [必要参数]
功能说明 用户执行 setconsole 指令可自行指定当前系统的显示终端。
参数说明 必要参数及其说明如下:

基础应用
范例94 设置第二个串口为系统的终端。
[root@localhost ~]#setconsole ttyS1 //设置第二个串口为终端
[root@localhost ~]#
执行指令“setconsole ttyS1”将第二个串口设置为系统终端,也可通过环境变量中的TERM来指定终端的类型。
范例95 设置主机显卡系统的终端。
[root@localhost ~]#setconsole video //设置主机上的显卡为终端
[root@localhost ~]#
执行指令“setconsole video”将主机上的显卡设置为系统终端。
学习目标 了解 setenv 指令的用法以及该指令和其他指令的区别
语法 setenv [环境变量][环境变量值]
功能说明 setenv 指令是 tsch 中用于查询和设置环境变量的工具。使用该指令可显示或设置当前系统的Shell环境变量的值,与前面讲的set指令有些类似。
基础应用
范例96 显示和设置当前系统的环境变量。
[root@localhost ~]# setenv //显示当前系统的环境变量
------------------------------------------------------------
------------------------------------------------------------ //省略输出
[root@localhost ~]# echo $USER
root
[root@localhost ~]# setenv USER mary //设置环境变量
学习目标 学会使用 setup 指令来设置公用程序
语法 setup
功能说明 在 Linux 下直接输入 setup 指令将进入图形界面,在图形界面下进入 systemservices,用户就可以设置所需的服务项目,如登录认证设置、键盘和鼠标的组态设置、开机所要启动的系统服务设置、声卡组态设置、网络设置、时区设置、X-Windows组态设置等。其中“Enter”和“空格”表示确认,“Tab”表示切换。
基础应用
范例97 使用setup指令设置公用程序。
[root@localhost ~]# setup //进入setup图形界面设置
学习目标 掌握 ulimit 指令控制 Shell 程序的资源的用法
语法 ulimit [-可选参数]
功能说明 ulimit 指令是 Shell 的内建指令,可控制 Shell 的系统资源。
参数说明 可选参数及其说明如下:


基础应用
范例98 显示当前系统资源的设置。
[root@localhost ~]# ulimit -a //显示系统资源的设置
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) 8
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 6199
virtual memory (kbytes, -v) unlimited
[root@localhost~]#
执行指令“ulimit–a”将显示当前系统资源的设置。
范例99 设置单一用户可开启的程序数目上限。
[root@localhost~]# ulimit -u 400 //设置单一用户可开启的程序数目上限
[root@localhost~]#
执行指令“ulimit -u 400”将设置单一用户可开启的程序数目上限为 400。
实战思考
应用思考
尝试以不同的用户身份登录系统控制 Shell 的系统资源,看看指令在不同的权限下是否都可用,为什么。
学习目标 能使用 unalias 指令来删除 alias 定义的指令别名
语法 unalias [-可选参数] [指令别名]
功能说明 unalias 指令可用来删除已设置的指令别名,如果指定的别名不存在,将提示用户“command not found”的错误信息。
参数说明 可选参数及其说明如下:

基础应用
范例100 删除指定别名。
[root@localhost ~]# unalias mary //删除指定别名
[root@localhost ~]#
执行指令“unalias mary”将删除别名 mary 的设置。
实战思考
应用思考
unalias指令与alias指令是一对,用户使用aliase指令可为较长的并常用的指令设置别名,而unalias指令将释放别名。如果用户在别名被删除或Shell重启后,在命令行下输入该别名,将会显示什么信息?
学习目标 学会使用 unset 指令来删除变量或函数
语法 unset [-可选参数]变量/函数
功能说明 unset 指令是 Shell 的内建指令,可用来删除指定的变量或函数。如果指定的变量是数组中的一个元素,指令的运行结果将只删除此元素;如果是整个数组变量,将整个删除此数组变量。Unset还可以删除环境变量,它与set指令的功能正好相反。
参数说明 可选参数及其说明如下:

基础应用
范例101 删除指定的环境变量。
[root@localhost~]# unset HOME //显示环境变量
[root@localhost~]#
执行指令“unset HOME”将删除指定的环境变量 HOME。
实战思考
应用思考
Unset指令是用于删除Shell环境变量的,set指令是用于设置Shell环境变量的,读者应清楚Shell变量和Shell环境变量的区别。
学习目标 能使用 up2date 指令来在线升级 rpm 的套件
语法 up2date[-可选参数]
功能说明 up2date 指令可以保持系统的最新状态。
参数说明 可选参数及其说明如下:

基础应用
范例102 更新系统。
[root@localhost~]# up2date //更新系统
实战思考
应用思考
对比使用up2date和rpm指令来更新升级软件包的区别,尝试使用up2date指令来升级RPM软件包。
学习目标 能使用 vmstat 指令来查看系统的虚拟内存空间
语法 vmstat [-可选参数]
功能说明 vmstat 指令可用来显示系统中的虚拟内存信息,以及硬盘的相关使用状况。
参数说明 可选参数及其说明如下:

基础应用
范例103 显示虚拟内存的使用信息。
[root@localhost~]# vmstat //显示虚拟内存的使用信息
procs -------memory------ ---swap-- ---io-- --system- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 0 250441 18096 159471 0 0 22 8 1032 23 0 1 96 1
[root@localhost~]#
执行指令vmstat将显示虚拟内存的使用信息。
学习目标 理解 Shell 命令行模式下的系统重启
语法 reboot [-可选参数]
功能说明 reboot 指令用来重新启动计算机,与“init 6”类似。
参数说明 可选参数及其说明如下:


基础应用
范例104 重新启动主机。
[root@localhost~]# reboot //重新启动
Broadcast message from root (pts/0) (Sun May 27 22:47:48 2007):
The system is going down for reboot NOW!
[root@localhost~]#
执行指令“reboot”将显示如上提示信息,然后重新启动计算机。
实战思考
应用思考
尝试分别使用 reboot 指令和 init 6 重启系统。
学习目标 学会暂停执行 Shell
语法 suspend [-可选参数]
功能说明 suspend 为 Shell 的内建指令,使用该指令可暂停目前正在执行的 Shell。如果目前执行的Shell为登入的Shell,则suspend预设无法暂停此Shell,需要使用参数-f来强迫暂停登入的Shell。若用户要恢复被暂停的Shell,则必须使用SIGCONT信息。
参数说明 可选参数及其说明如下:

基础应用
范例105 暂停目前正在执行的Shell。
[root@localhost~]# suspend //暂停Shell
-bash: suspend: cannot suspend a login shell
[root@localhost~]# suspend -f //强制暂停Shell
suspend 的预设无法暂停系统登入的 Shell,如果用户非要暂停此 Shell,可通过指令“suspend -f”来强制执行。
学习目标 通过 swatch 指令来监控系统的记录文件,并对其中事件做出反应。
语法 swatch [-可选参数]
功能说明 swatch 指令可用来监控系统的 syslog 记录文件,并在发生特定的事件时执行指定的动作。swatch所监控的事件以及对应事件的动作都存放在swatch的配置文件中。预设的配置文件为用户根目录下的.swatchrc。然而在 Red Hat Linux 的用户根目录下并没有.swatchrc配置文件,用户可将/usr/doc/swatch-2.2/config_files/swatchrc.personal文件复制到用户根目录下的.swatchrc,然后修改.swatchrc所要监控的事件及执行的动作即可。
参数说明 可选参数及其说明如下:

基础应用
范例106 启动系统监视。
[root@localhost~]# swatch–c /usr/local/etc/netlog //启动系统监视
执行指令“swatch -c /usr/local/etc/netlog”来启动系统监视,同时指定系统的配置文件。
学习目标 能使用 tload 指令来显示系统的平均负荷情况
语法 tload [-可选参数] [终端]
功能说明 tload 指令可以文本的方式显示当前系统的负载信息,如果不指定输出终端,将在默认的系统标准输出设备上显示输出。
参数说明 可选参数及其说明如下:

基础应用
范例107 按指定显示系统负载。
[root@localhost~]# tload -d 30m /dev/pts4& //显示系统负载
执行指令“tload -d 30m /dev/pts/4&”设置为后台操作,每隔半小时检测一次系统的负载,然后将检测结果输出到指定的终端/dev/pts4。
实战思考
应用思考
尝试将tload指令的信息输出到指定文件,想想应该如何实现。
学习目标 能使用 mtools 指令查看 mtools 支持的指令
语法 mtools
功能说明 显示 mtools 支持的指令,mtools 是 MS-DOS 文件系统的工具程序,可模拟许多MS-DOS的指令,这些指令都是mtools的符号连接。
参数说明 可选参数及其说明如下:

基础应用
范例108 显示mtools支持的指令。
[root@localhost ~]# mtools
Supported commands:
mattrib, mbadblocks, mcat, mcd,mclasserase, mcopy, mdel, mdeltree
mdir, mdoctorfat, mdu, mformat, minfo, mlabel, mmd, mmount
mpartition, mrd, mread, mmove, mren, mshowfat, mtoolstest, mtype
mwrite, mzip
执行指令“mtools”显示 mtools 支持的指令,如本例所示。与此类似的“mtools --help”指令的执行效果与“mtools”相同。
学习目标 掌握测试并显示 mtools 配置文件的相关设置
语法 mtoolstest
功能说明 mtoolstest 为 mtools 工具指令,可读取分析 mtools 的配置文件,并显示相关设置。
基础应用
范例109 使用mtoolstest测试并显示。
[root@localhost ~]# mtoolstest
drive J:
#fn=0 mode=0 builtin
file="/dev/sdb4" fat_bits=16
tracks=0 heads=0 sectors=0 hidden=0
offset=0x0
partition=0
mformat_only
drive Z:
#fn=0 mode=0 builtin
file="/dev/sdb4" fat_bits=16
tracks=0 heads=0 sectors=0 hidden=0
offset=0x0
partition=0
mformat_only
drive X:
#fn=0 mode=0 builtin
file="$DISPLAY" fat_bits=0
tracks=0 heads=0 sectors=0 hidden=0
offset=0x0
partition=0
drive A:
#fn=2 mode=128 defined in /etc/mtools.conf
file="/dev/fd0" fat_bits=0
tracks=0 heads=0 sectors=0 hidden=0
offset=0x0
partition=0
mformat_only
exclusive
drive B:
#fn=2 mode=128 defined in /etc/mtools.conf
file="/dev/fd1" fat_bits=0
tracks=0 heads=0 sectors=0 hidden=0
offset=0x0
partition=0
mformat_only
exclusive
drive N:
#fn=2 mode=0 defined in /etc/mtools.conf
file="/var/lib/dosemu/hdimage" fat_bits=0
tracks=0 heads=0 sectors=0 hidden=0
offset=0x2280
partition=0
drive P:
#fn=2 mode=0 defined in /etc/mtools.conf
file=":0" fat_bits=0
tracks=0 heads=0 sectors=0 hidden=0
offset=0x0
partition=0
tounix:
0xc7 0xfc 0xe9 0xe2 0xe4 0xe0 0xe5 0xe7
0xea 0xeb 0xe8 0xef 0xee 0xec 0xc4 0xc5
0xc9 0xe6 0xc6 0xf4 0xf6 0xf2 0xfb 0xf9
0xff 0xd6 0xdc 0xf8 0xa3 0xd8 0xd7 0x5f
0xe1 0xed 0xf3 0xfa 0xf1 0xd1 0xaa 0xba
0xbf 0xae 0xac 0xbd 0xbc 0xa1 0xab 0xbb
0x5f 0x5f 0x5f 0x5f 0x5f 0xc1 0xc2 0xc0
0xa9 0x5f 0x5f 0x5f 0x5f 0xa2 0xa5 0xac
0x5f 0x5f 0x5f 0x5f 0x5f 0x5f 0xe3 0xc3
0x5f 0x5f 0x5f 0x5f 0x5f 0x5f 0x5f 0xa4
0xf0 0xd0 0xc9 0xcb 0xc8 0x69 0xcd 0xce
0xcf 0x5f 0x5f 0x5f 0x5f 0x7c 0x49 0x5f
0xd3 0xdf 0xd4 0xd2 0xf5 0xd5 0xb5 0xfe
0xde 0xda 0xd9 0xfd 0xdd 0xde 0xaf 0xb4
0xad 0xb1 0x5f 0xbe 0xb6 0xa7 0xf7 0xb8
0xb0 0xa8 0xb7 0xb9 0xb3 0xb2 0x5f 0x5f
fucase:
0x80 0x9a 0x90 0xb6 0x8e 0xb7 0x8f 0x80
0xd2 0xd3 0xd4 0xd8 0xd7 0xde 0x8e 0x8f
0x90 0x92 0x92 0xe2 0x99 0xe3 0xea 0xeb
0x59 0x99 0x9a 0x9d 0x9c 0x9d 0x9e 0x9f
0xb5 0xd6 0xe0 0xe9 0xa5 0xa5 0xa6 0xa7
0xa8 0xa9 0xaa 0xab 0xac 0xad 0xae 0xaf
0xb0 0xb1 0xb2 0xb3 0xb4 0xb5 0xb6 0xb7
0xb8 0xb9 0xba 0xbb 0xbc 0xbd 0xbe 0xbf
0xc0 0xc1 0xc2 0xc3 0xc4 0xc5 0xc7 0xc7
0xc8 0xc9 0xca 0xcb 0xcc 0xcd 0xce 0xcf
0xd1 0xd1 0xd2 0xd3 0xd4 0x49 0xd6 0xd7
0xd8 0xd9 0xda 0xdb 0xdc 0xdd 0xde 0xdf
0xe0 0xe1 0xe2 0xe3 0xe5 0xe5 0xe6 0xe8
0xe8 0xe9 0xea 0xeb 0xed 0xed 0xee 0xef
0xf0 0xf1 0xf2 0xf3 0xf4 0xf5 0xf6 0xf7
0xf8 0xf9 0xfa 0xfb 0xfc 0xfd 0xfe 0xff
mtools_fat_compatibility=1
mtools_skip_check=1
mtools_lower_case=0
执行指令“mtoolstest”显示mtools配置文件的相关设置,如本例所示。
学习目标 掌握 hostname 指令的用法
语法 hostname[必要参数][选择性参数]
功能说明 hostname 指令用来显示或者设置当前系统的主机名,主机名被许多网络程序用于标识主机。
参数说明 必要参数的具体说明如下:

选择性参数的具体说明如下:

基础应用
范例110 显示主机名。
[root@localhost sha1]# hostname //显示主机名
localhost.localdomain
[root@localhost sha1]#
本例使用指令“hostname”显示主机名。
范例111 显示短主机名。
[root@localhost sha1]# hostname -s //显示短主机名
localhost
[root@localhost sha1]#
本例使用指令“hostname–s”显示短主机名。
范例112 显示主机别名。
[root@localhost sha1]# hostname -a //显示主机别名
localhost
[root@localhost sha1]#
本例使用指令“hostname–a”显示主机别名。
范例113 显示主机IP地址。
[root@localhost sha1]# hostname -i //显示主机IP地址
127.0.0.1
[root@localhost sha1]#
本例使用指令“hostname–i”显示主机IP地址。
范例114 显示主机域名。
[root@localhost sha1]# hostname -d //显示主机域名
localdomain
[root@localhost sha1]#
本例使用指令“hostname–d”显示主机域名。
范例115 显示NIS/YP域名。
[root@localhost sha1]# hostname -Y //显示NIS/YP域名
(none)
[root@localhost sha1]#
本例使用指令“hostname–y”显示主机的NIS/YP域名。
范例116 设置主机名称。
[root@localhost sha1]# hostname apple //设置主机名称
[root@localhost sha1]# hostname
apple
[root@localhost sha1]#
本例使用指令“hostname apple”设置主机名称。
学习目标 学会使用 vlock 来锁住虚拟终端
语法 vlock [-可选参数]
功能说明 vlock 指令可用来锁住虚拟终端,以避免其他人使用该终端。
参数说明 可选参数及其说明如下:

基础应用
范例117 虚拟终端的锁定和解锁。
[root@localhost~]# vlock //锁定虚拟终端
*** This tty is not a VC (virtual console).***
*** It may not be securely locked.***
This TTY is now locked.
Please enter the password to unlock.
root's Password:
执行指令“vlock”锁定当前用户的虚拟终端。这时,用户在提示行下输入正确的密码就可以为锁定的终端解锁了。
root's Password:************//输入密码
[root@localhost~]#
通过输入root用户的密码进行解锁,然后就可以使用该终端继续操作。
学习目标 学会使用 init 指令控制 Linux 系统的运行等级,了解 Linux 系统中各等级的相应模式。
语法 init [-可选参数]运行等级
功能说明 init 命令是 Linux 系统中所有进程的父进程,在启动 Linux 系统时,init 将是系统第一个运行的进程,将根据文件/etc/inittab 中的信息来创建进程。如果用户在进入系统后要进行系统运行模式的切换,运行init指令加上指定的运行等级,就能执行相应的功能。Linux系统共有7个运行等级(0~6),具体介绍如下:
【Linux的运行等级】
0:停机,机器关闭。
1:单用户模式,只运行 root 进行维护。
2:多用户模式,但是没有 NFS 支持。
3:完整的多用户模式,是标准的运行等级。
4:一般不使用。
5:就是 X11,进入 X-Windows 系统。
6:重新启动,运行 init 6 机器就会重启。
参数说明 可选参数及其说明如下:

基础应用
范例118 使用init指令进行多用户模式和单用户模式之间的切换。
[root@localhost~]#init 1//单用户模式
在 Shell 命令行模式下输入指令“init 1”将系统的运行模式切换到单用户模式,在这种模式下系统除了root管理员用户外,不允许别的用户登录本系统。切换后的单用户模式界面如下:
Telling INIT to go to single user mode
INIT: Going Single user the TERM Singal
INIT: Sending processer the KILL Singal
Sh-3.2# init 3
在单用户模式下输入指令“init 3”将系统切换回多用户模式。这时将进入非图形界面,用户可根据提示信息输入登录账号和密码来登录系统,然后在 Shell 命令行模式下启动X-Windows 图形系统,或输入指令“init 5”进入图形界面。
实战思考
应用思考
对比 init 指令和 halt 指令的区别,分别使用指令“init 0”和指令“halt”来关闭系统,查看指令的运行结果。
学习目标 学习 screen 指令的功能,能使用该指令进行终端切换
语法 screen[必要参数][选择性参数]
功能说明 screen 其实就是 Linux 虚拟终端,用户可以用它创建很多虚拟终端,每个终端可以创建1~10个窗口,每个窗口相当于一个Linux Shell窗口,可以执行的操作和正常Shell完全一样。这时用户就可以为其远程登录主机创建自己的显示终端,如果用户在远程主机上运行比较费时的工作,可以通过终端窗口切换到其他显示终端,而不用等待操作完成或中断操作。
参数说明 可选参数及其说明如下:

【终端中的窗口操作】
在操作时,其操作方式如下:以 Ctrl-a c 为例,先按下 Ctrl 和 a 键,然后再按下 c 键。
Ctrl-a c:新建 bash screen 终端。
Ctrl-a A:重命名。
Ctrl-a n:在当前窗口中切换到下一个 screen 终端。
Ctrl-a p:在当前窗口中切换到上一个 screen 终端。
Ctrl-a 空格:窗口切换。
Ctrl+a w:窗口列表。
Ctrl+a 0-9:在第0 个窗口和第9 个窗口之间切换。
Ctrl+a K(大写):关闭当前窗口,并且切换到下一个窗口。当退出最后一个窗口时,该终端自动终止,并且退回到原始Shell状态。
Ctrl-a d:断开所有 screen 终端,返回 screen 执行前状态,但 screen 内所有终端的任务都在执行。
Ctrl-a S:新建水平分割窗口。
Ctrl-a Tab:切换窗口。
Ctrl-a X:关闭当前窗口。
Ctrl-a +:扩大当前窗口,默认增加 3 行。
Ctrl-a -:缩小当前窗口,默认减少 3 行。
Ctrl-a :screen <command>:新建 screen 终端,并运行命令<command>。
Ctrl-a :resize <height>:改变当前窗口高度为<height>。
Ctrl-a :quit:退出 screen,将关闭所有 screen 终端,结束其中所有任务。
Ctrl-a <Esc>:进入选择模式。
exit:关闭当前窗口,并且切换到下一个窗口。当退出最后一个窗口时,该终端自动终止,并且退回到原始Shell状态。
screen -ls:列出当前用户的所有 screen 实例,包括连接和断开的。
screen -R <pid>:重新连接到已断开的 screen 实例,如果有多个已断开的 screen 实例,则用 <pid> 区分。
<PageUp> 或 Ctrl-u:光标上移一页。
<PageDown> 或 Ctrl-d:光标下移一页。
<Left> 或 h:光标左移一格。
<Right> 或 l:光标右移一格。
<Down> 或 j:光标下移一行。
<Up> 或 k:光标上移一行。
<Space>:选择开始,选择结束。
<Esc>:退出选择模式。
基础应用
范例119 执行screen命令。
[root@localhost~]# screen //创建新窗口
执行指令screen将创建一个新的窗口。通过“Ctrl+a+a”就可以在不同的screen之间进行切换。
学习目标 学习 shutdown 指令的几种关机模式,能熟练应用 shutdown 指令来关闭或重启计算机
语法 shutdown [-可选参数] [时间] [警告信息]
功能说明 shutdown 指令可以进行关机或重新启动。使用 shutdown 指令,用户可以选择是要关闭机算机、重新开机还是进入单人操作模式;可以设定关机时间是立刻关机还是到某一特定时间自动关机;以及设置自定义的关机信息,在关机以前传送该信息给所有线上的用户等操作。shutdown的应用很灵活,不论用户的身份如何都能够进行关机操作,但如果是使用远端管理工具从其他电脑登入本机,则需要拥有管理员的权限才能关闭本机。
参数说明 可选参数及其说明如下:

基础应用
范例120 关闭计算机。
[root@localhost~]# shutdown 8 "this computer will shutdown,in 8 minutes.have a goodnight
" //关闭计算机
Broadcast message from root (pts/0) (Tue Mar 6 23:30:00 2009):
this computer will shutdown,in 8 minutes.have a good night
The system is going DOWN to maintenance mode in 5 minutes!
Shutdown cancelled.
[root@localhost~]#
执行指令“shutdown 5 "his computer will shutdown,in 8 minutes.have a good night"”后,关机信息"his computer will shutdown,in 8 minutes.have a good night"将以广播方式传送给所有的在线用户,此时输入“Ctrl+C”就可以随时终止指令。
实战思考
应用思考
尝试使用shutdown指令关闭系统,对比类似指令halt和init之间的差异。
学习目标 能利用 sleep 指令来使系统进入休眠状态,同时指定系统的休眠时长
语法 sleep [-可选参数] [时间]
功能说明 sleep 指令可以使系统进入休眠状态,同时还可指定系统休眠的时长。在用户执行比较费时的Shell命令时,可以将其工作时间设为休眠状态,以保证指令运行。
参数说明
可选参数及其说明如下:

必要参数及其说明如下:

基础应用
范例121 使系统休眠20min。
[root@localhost~]# sleep 20m //休眠
执行指令“sleep 20m”后,系统将进入时长为 20min 的休眠状态。
学习目标 能使用 watch 指令将结果输出到标准输出设备
语法 watch[必要参数][选择性参数][指令]
功能说明 watch 指令可以将指定指令的输出结果输出到标准输出设备。
参数说明 必要参数的具体说明如下:

选择性参数的具体说明如下:

基础应用
范例122 每隔10s执行一次指令。
[root@localhost~]# watch -n 10 who //每隔 10s 执行一次 who 指令
Every 10.0s: who Thu May 31 11:37:31 2007
root tty1 May 31 11:02
rootpts/1 May 31 09:13 (192.168.88.7)
root:0 May 31 11:01
本例使用指令“watch -n 10 who”每隔 10s 执行一次 who 指令。
范例123 高亮字符标识信息的差异。
[root@localhost~]# watch -d ls -l //将“ls–l”的结果输出到标准输出
Every 2.0s: ls -l Thu May 31 11:40:06 2007
5988
-rw-r--r-- 1 root root 220 5 27 17:18 123
-rw-r--r-- 1 root root 2 5 27 09:27 123.pcx
-rw-r--r-- 1 root root 0 5 30 10:21 1.log
-rw-r--r-- 1 root root 0 5 23 21:33 1.log.new
-rw-r--r-- 1 root root 0 5 30 09:33 2.log
-rw-r--r-- 1 root root 211 5 27 17:26 456
-rw-r--r-- 1 root root 0 5 30 09:36 7.log
-rw-r--r-- 1 root root 76 5 31 10:19 abc
-rw------- 1 root root 975 12 22 11:16 anaconda-ks.cfg
-rw-r--r-- 1 root root 56991 2005-06-03 config-2.6.11- 1.1369_FC4
-rw-r--r-- 1 root root 348 5 27 17:21 ddd
-rw------- 1 root root 104 5 24 15:11 DEADJOE
drwxr-xr-x 2 root root 4096 4 19 17:32 Desktop
-rw-r--r-- 1 root root 180 5 28 23:08 examplesed
-rw-r--r-- 1 root root 126 5 24 10:53 file1
-rw-r--r-- 1 root root 120 5 24 10:53 file2
-rw-r--r-- 1 root root 483 3 30 14:37 gmon.out
drwxr-xr-x 2 root root 4096 12 22 11:16 grub
-rw-r--r-- 1 root root 1224449 12 22 09:52 initrd-2.6.11- 1.1369_FC4.img
-rw-r--r-- 1 root root 64471 12 22 11:16 install.log
本例使用指令“watch -d ls–l”将“ls–l”的结果输出到标准输出,并在出现不同的信息时,用高亮字符标识。
学习目标 了解任务排队的概念和应用
语法 at[必要参数] [选择性参数] [时间]
功能说明 at 指令和 batch 指令从标准输入或者指定文件读取指令,这些指令将在一段时间之后执行。
参数说明 必要参数的具体说明如下:

选择性参数的具体说明如下:

基础应用
范例124 设定任务在特定时间执行。
[root@localhost~]# at 5pm tomorrow //设定任务在明天下午 5 点执行
at> echo Go for dinner with rich //打印“Go for dinner with rich”
at> <EOT>
job 3 at 2007-05-06 17:00
[root@localhost~]#
运行“at 5pm tomorrow”指令,设定任务在第二天下午 5 点执行,然后进入 at 指令的指令行,这样就可以设定要执行的任务了。此处输入指令“echo Go for dinner with rich”表示打印“Go for dinner with rich”。任务设定完成之后,可以输入“Ctrl+D”完成任务的设定。这样,第二天下午5点,系统将打印信息提醒要与rich一块吃饭的事。
[root@localhost~]# at 8am+3days //设定任务在3天后早上8点执行
at> /bin/date //执行date指令
at> <EOT>
job 4 at 2007-05-08 08:00
[root@localhost~]#
设置三天后早上 8点执行 date指令。
范例125 查询已经设置的任务。
[root@localhost~]# atq //查询已经设置的任务
3 2007-05-06 17:00 a root
4 2007-05-08 08:00 a root
范例126 删除已经设置的任务。
[root@localhost~]# atrm 3 //删除已经设置的任务
[root@localhost~]#
删除已经设置的任务3。
范例127 显示已经设置的任务的内容。
[root@localhost~]# at -c 4 //显示已经设置的任务4的内容
#!/bin/sh
# atrun uid=0 gid=0
# mail root 0
umask 22
HOSTNAME=localhost.localdomain; export HOSTNAME
SHELL=/bin/bash; export SHELL
HISTSIZE=1000; export HISTSIZE
SSH_CLIENT=::ffff:192.168.88.7\ 1295\ 22; export SSH_CLIENT
QTDIR=/usr/lib/qt-3.3; export QTDIR
SSH_TTY=/dev/pts/1; export SSH_TTY
USER=root; export USER
LS_COLORS=no=00:fi=00:di=00\;34:ln=00\;36:pi=40\;33:so=00\;35:bd=40\;33\;01:cd=40\;33\;01:or=01\;05\;37\;41:mi=01\;05\;37\;41:ex=00\;32:\*.cmd=00\;32:\*.exe=00\;32:\*.com=00\;32:\*.btm=00\;32:\*.bat=00\;32:\*.sh=00\;32:\*.csh=00\;32:\*.tar=00\;31:\*.tgz=00\;31:\*.arj=00\;31:\*.taz=00\;31:\*.lzh=00\;31:\*.zip=00\;31:\*.z=00\;31:\*.Z=00\;31:\*.gz=00\;31:\*.bz2=00\;31:\*.bz=00\;31:\*.tz=00\;31:\*.rpm=00\;31:\*.cpio=00\;31:\*.jpg=0 0\;35:\*.gif=00\;35:\*.bmp=00\;35:\*.xbm=00\;35:\*.xpm=00\;35:\*.png=00\;35:\*.tif=00\;35:; export LS_COLORS
KDEDIR=/usr; export KDEDIR
MAIL=/var/spool/mail/root; export MAIL
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin; export PATH
INPUTRC=/etc/inputrc; export INPUTRC
PWD=/root; export PWD
LANG=zh_CN.UTF-8; export LANG
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass;export SSH_ ASKPASS
SHLVL=1; export SHLVL
HOME=/root; export HOME
LOGNAME=root; export LOGNAME
SSH_CONNECTION=::ffff:192.168.88.7\ 1295\ ::ffff:192.168.88.76\ 22; exportSSH_CONNECTION
LESSOPEN=\|/usr/bin/lesspipe.sh\ %s; export LESSOPEN
G_BROKEN_FILENAMES=1; export G_BROKEN_FILENAMES
cd /root || {
echo 'Execution directory inaccessible' >&2
exit 1
}
${SHELL:-/bin/sh} << '(dd if=/dev/urandom count=200 bs=1 2>/dev/ null|LC_ALL=C tr -d -c '[:alnum:]')'
/bin/date
[root@localhost~]#
显示已经设置的指令4的内容,也就是执行date指令。
学习目标 了解 atd 和 at 的区别和关联
语法 atd[必要参数] [选择性参数]
功能说明 atd 指令执行被 at 指令排队的任务。
参数说明 必要参数的具体说明如下:

选择性参数的具体说明如下:

基础应用
范例128 启动atd。
[root@localhost~]# atd -d //启动atd
以输出调试信息的方式启动atd。
学习目标 掌握 atq 指令的用法
语法 atq[选择性参数]
功能说明 atq 指令列出用户已设置排队的任务。如果用户是超级用户,那么所有的任务将被列出。标准输出的格式为:任务号,天数,小时数,工作类型。
参数说明 选择性参数的具体说明如下:

基础应用
范例129 查询已经设置的队列任务。
[root@localhost~]# atq //显示已经设置的队列任务
6 2007-05-08 05:00 a root
4 2007-05-08 08:00 a root
7 2007-05-08 08:00 a root
[root@localhost~]#
学习目标 掌握 atrm 的用法
语法 atrm[选择性参数]任务
功能说明 atrm 指令用来删除已经排队的任务,任务将以任务号为标识。
参数说明 选择性参数的具体说明如下:

基础应用
范例130 删除已经排队的任务。
[root@localhost~]# atq //显示当前已经设置的任务
6 2007-05-08 05:00 a root
4 2007-05-08 08:00 a root
7 2007-05-08 08:00 a root
[root@localhost~]# atrm 4 //删除任务4
[root@localhost~]#
学习目标 掌握 atrun 的用法
语法 atrun[选择性参数]
功能说明 atrun 指令运行 at 指令设置的任务。它是一个 Shell 脚本,调用/usr/sbin/atd 指令使用“-s”参数的情况。它向后兼容老版本的指令。
参数说明 选择性参数的具体说明如下:

基础应用
范例131 执行已排队的任务。
[root@localhost~]# atrun //执行已排队的任务
[root@localhost~]#
学习目标 能使用 attr 指令对 XFS 文件系统对象进行扩展
语法 attr[必要参数][属性名称][选择性参数][路径名]
功能说明 attr 指令用来设置 XFS 文件系统的扩展属性。
参数说明 必要参数的具体说明如下:

选择性参数的具体说明如下:

基础应用
范例132 设置文件的属性。
[root@localhost~]#attr -s attrname pathname //设置文件的属性
范例133 获得文件的属性。
[root@localhost~]#attr -g attrname pathname //获得文件的属性
范例134 移除文件的属性。
[root@localhost~]#attr -r attrname pathname //移除文件的属性
当指定“-s”参数时,将从标准输入中读取一个属性值;当设定“-g”参数时,将读取一个属性值到标准输出。
学习目标 能使用 newgrp 改变登录群组
语法 newgrp[群组名称]
功能说明 newgrp 指令可以使用户以相同的用户名、不同的群组重新登录系统,但是用户名必须同时输入这两个群组。
基础应用
范例135 改变群组。
[root@localhost~]# newgrp root //改变群组
本例使用指令“newgrp root”改变群组重新登录系统。假设未改变群组之前时用户所属的群组为kk群组,现在改变群组为root群组,那么当前的用户名必须同时输入kk群组和root群组才能进行现在的操作。
学习目标 掌握 nohup 指令的用法
语法 nohup[选择性参数][指令]
功能说明 nohup 指令可以忽略挂断信号,继续执行指令。
参数说明 选择性参数的具体说明如下:

基础应用
范例136 退出系统后继续在后台执行指令。
-sh-2.05b# nohup ncftpget -u other -p 02211025 192.168.88.7 /home /kk ./111 & //退出系统后继续执行指令
[1] 2349
nohup: appending output to 'nohup.out'
-sh-2.05b#
本例使用指令“nohup ncftpget -u other -p 02211025 192.168.88.7 /home/kk ./111”,使用户在退出系统之后仍然可以从指定ftp服务器上下载文件。
学习目标 掌握开启虚拟终端的方法
语法 open[必要参数][选择性参数][--][指令]
功能说明 open 指令用来开启虚拟终端,然后执行指定的指令,指定的指令可以包含参数。
参数说明 必要参数的具体说明如下:

选择性参数的具体说明如下:

基础应用
范例137 开启新的终端执行指令。
[root@localhost~]# open -c 8 - nslookup //开启终端8,执行nslookup指令
[root@localhost~]# ps -A //显示当前进程
PID TTY TIME CMD
1 ? 00:00:01 init
2 ? 00:00:00 ksoftirqd/0
3 ? 00:00:00 watchdog/0
4 ? 00:00:00 events/0
5 ? 00:00:00 khelper
6 ? 00:00:00 kthread
8 ? 00:00:00 kacpid
//此处省略了部分结果
2553 ? 00:00:08 X
2586 ? 00:00:03 gdmgreeter
2748 ? 00:00:00 sshd
2752 pts/1 00:00:00 bash
2946 tty9 00:00:00 bash
3065 tty8 00:00:00 nslookup
3069 pts/1 00:00:00 ps
[root@localhost~]#
本例使用指令“open -c 8–nslookup”开启终端 8,执行 nslookup 指令,然后运行“ps–A”指令时将看到“3065 tty8 00:00:00 nslookup”,进程号为 3065 的进程即为新开启的终端执行的指令。
范例138 开启新的终端执行指令,并等待执行完后返回。
[root@localhost~]# open -c 9 -sw -- tcpdump //开启终端9,执行tcpdump指令
本例使用指令“open -c 9 -sw–tcpdump”执行指令 tcpdump 并等待,直到指令 tcpdump执行完成之后才返回。
学习目标 掌握使用名字和其他属性查找程序的方法
语法 pgrep[必要参数][选择性参数][程序]
功能说明 pgrep 指令可以依照进程 ID 来浏览程序。
参数说明 必要参数的具体说明如下:

选择性参数的具体说明如下:

基础应用
范例139 显示与指定终端相联系的程序。
root@localhost:~# ps -A //显示所有进程信息
PID TTY TIME CMD
1 ? 00:00:01 init
2 ? 00:00:00 migration/0
3 ? 00:00:01 ksoftirqd/0
4 ? 00:00:00 migration/1
5 ? 00:00:00 ksoftirqd/1
6 ? 00:00:00 events/0
7 ? 00:00:00 events/1
8 ? 00:00:00 khelper
9 ? 00:00:00 kthread
//此处省略了部分结果
32576 ? 00:00:00 lpd
670 ? 00:00:00 sshd
672 pts/0 00:00:00 bash
706 pts/0 00:00:00 ps
root@localhost:~# pgrep -t tty2 //显示终端2下的所有程序
3952
8557
8587
8588
8779
root@localhost:~#
本例使用指令“pgrep -t tty2”显示终端 2 下运行的所有程序。pgrep 指令将终端 2 下运行的进程的进程号输出到标准输出,与运行“ps–A”指令时显示的结果是吻合的。与“ps–A”指令显示结果的吻合情况如下:
3951 tty1 00:00:00 login
3952 tty2 00:00:00 login
3953 tty3 00:00:00 login
3974 tty1 00:00:00 bash
8557 tty2 00:00:00 sh
8587 tty2 00:00:00 su
8588 tty2 00:00:00 bash
8606 tty3 00:00:00 bash
8779 tty2 00:00:00 vi
范例140 显示与某字符串相关的指令。
root@localhost:~# pgrep postmaster //显示与指定字符串相关的字符
3723
3726
3727
root@localhost:~#
本例使用指令“pgrep postmaster”显示与指定字符串 postmaster 相关的进程号。
范例141 列出父进程为init进程的所有进程号。
root@localhost:~# pgrep -P 1//列出父进程为1的所有进程
2
3
4
5
6
7
8
9
119
738
2100
3201
3473
3479
3723
3739
3814
3832
3854
3857
3863
3891
3901
3908
3951
3952
3953
13786
26541
32406
32576
root@localhost:~#
本例使用指令“pgrep -P 1”列出父进程的进程号为 1 的所有进程,进程号为 1 的进程为init进程。
范例142 反向选择。
root@localhost:~# pgrep -v -P 1//反向选择
1
12
13
14
84
117
118
120
121
1532
1535
1607
1921
2872
3115
3726
3727
3974
8557
8587
8588
8606
8779
32417
32418
32420
32421
32422
670
672
root@localhost:~#
本例使用指令“pgrep -v -P 1”显示父进程不为 1 的所有进程的信息。
范例143 显示指定用户的所有进程。
root@localhost:~# pgrep -u root //显示指定用户的所有进程
1
2
3
4
5
6
7
8
9
12
13
14
84
117
118
119
120
121
738
1532
1535
1607
1921
2100
2872
3115
3473
3479
3814
3832
3854
3863
3908
3951
3952
3953
3974
8587
8588
8606
8779
13786
26541
32406
670
672
root@localhost:~#
本例使用指令“pgrep -u root”显示指定用户 root 的所有进程。
学习目标 掌握查找运行进程 ID 的方法
语法 pidof[必要参数][选择性参数][程序]
功能说明 pidof 指令可以显示正在执行的进程 ID。
参数说明 必要参数的具体说明如下:

选择性参数的具体说明如下:

基础应用
范例144 显示指令所对应的进程号。
[root@localhost~]# ps -A //显示所有进程
PID TTY TIME CMD
1 ? 00:00:01 init
2 ? 00:00:00 ksoftirqd/0
3 ? 00:00:00 watchdog/0
4 ? 00:00:00 events/0
5 ? 00:00:00 khelper
6 ? 00:00:00 kthread
8 ? 00:00:00 kacpid
//此处省略了部分结果
2593 ?00:00:01 sshd
2599 pts/1 00:00:00 bash
3655 ?00:00:00 cupsd
2948 pts/1 00:00:00 ps
[root@localhost~]# pidof mingettY //显示与mingetty相关的进程号
2333 2332 2331 2330 2329 2328
[root@localhost~]#
本例使用指令“pidof mingetty”显示与 mingetty 相关的进程号,与指令“ps–A”显示结果吻合。“ps–A”的对应部分如下:
2328 tty100:00:00 mingetty
2329 tty200:00:00 mingetty
2330 tty300:00:00 mingetty
2331 tty400:00:00 mingetty
2332 tty500:00:00 mingetty
2333 tty600:00:00 mingetty
范例145 每次只返回一个进程号。
[root@localhost~]# pidof mingetty -s //每次只返回一个进程号
2333
[root@localhost~]#
本例使用指令“pidof mingetty–s”显示与 mingetty 相关的指令,同时通过指定“-s”参数,每次只返回一个进程ID。
学习目标 掌握 pkill 杀死进程的方法
语法 pkill[必要参数][选择性参数][字符串]
功能说明 pkill 指令是 ps 指令和 kill 指令的结合,用来杀死指定的进程。
参数说明 必要参数的具体说明如下:

选择性参数的具体说明如下:

基础应用
范例146 杀死指定进程。
[root@localhost~]# ps -A //显示当前的进程
PID TTY TIME CMD
1 ? 00:00:02 init
2 ? 00:00:00 ksoftirqd/0
3 ? 00:00:01 watchdog/0
4 ? 00:00:00 events/0
5 ? 00:00:00 khelper
6 ? 00:00:00 kthread
8 ? 00:00:00 kacpid
61 ? 00:00:00 kblockd/0
64 ? 00:00:00 khubd
//此处省略了部分结果
2586 ? 00:00:29 gdmgreeter
2593 ? 00:00:02 sshd
2599 pts/1 00:00:00 bash
3655 ? 00:00:00 cupsd
5817 pts/1 00:00:00 ftp
5825 pts/1 00:00:00 ps
[root@localhost~]# pkill -9 ftp //杀死进程ftp
[root@localhost~]# ps -A //显示当前的进程
PID TTY TIME CMD
1 ? 00:00:02 init
2 ? 00:00:00 ksoftirqd/0
3 ? 00:00:01 watchdog/0
4 ? 00:00:00 events/0
5 ? 00:00:00 khelper
6 ? 00:00:00 kthread
8 ? 00:00:00 kacpid
//此处省略了部分结果
2586 ? 00:00:29 gdmgreeter
2593 ? 00:00:02 sshd
2599 pts/1 00:00:00 bash
3655 ? 00:00:00 cupsd
5829 pts/1 00:00:00 ps
[root@localhost~]#
本例使用指令“pkill -9 ftp”杀死进程 ftp,然后通过“ps–A”显示当前的进程,发现不再有进程ftp。
范例147 杀死同一终端的所有进程。
[root@localhost~]# pkill -t tty1 //杀死所有终端1下的所有进程
[root@localhost~]# ps -A //显示所有的进程
PID TTY TIME CMD
1 ? 00:00:02 init
2 ? 00:00:00 ksoftirqd/0
3 ? 00:00:01 watchdog/0
4 ? 00:00:00 events/0
//此处省略了部分结果
2546 ? 00:00:00 gdm-binary
2554 ? 00:01:01 X
2586 ? 00:00:29 gdmgreeter
2593 ? 00:00:02 sshd
2599 pts/1 00:00:00 bash
3655 ? 00:00:00 cupsd
5866 tty1 00:00:00 mingetty
5905 pts/1 00:00:00 ps
[root@localhost~]#
本例使用指令“pkill -t tty1”杀死终端1的所有进程,使用指令“ps–A”发现终端 1 下的所有进程都已经被杀死。
范例148 杀死指定用户的所有进程。
[root@localhost~]# pkill -u kk //杀死用户kk的所有进程
[root@localhost~]#
本例使用指令“pkill -u kk”杀死用户 kk 的所有进程。
范例149 反向选择。
[root@localhost~]# pkill -vu kk //杀死不属于用户kk的所有进程
[root@localhost~]#
本例使用指令“pkill -vu kk”杀死不属于用户 kk 的所有进程。
学习目标 能使用 pmap 指令显示程序的内存信息
语法 pmap[必要参数][选择性参数][程序]
功能说明 pmap 指令用来显示指定程序的内存信息。
参数说明 必要参数的具体说明如下:

选择性参数的具体说明如下:

基础应用
范例150 显示程序的内存信息。
[root@localhost~]# ps -A //显示进程信息
PID TTY TIME CMD
1 ? 00:00:02 init
2 ? 00:00:00 ksoftirqd/0
3 ? 00:00:01 watchdog/0
4 ? 00:00:00 events/0
5 ? 00:00:00 khelper
6 ? 00:00:00 kthread
8 ? 00:00:00 kacpid
61 ? 00:00:00 kblockd/0
64 ? 00:00:00 khubd
//此处省略了部分结果
3655 ? 00:00:00 cupsd
5866 tty1 00:00:00 mingetty
6014 pts/1 00:00:00 ps
[root@localhost~]# pmap 2253 //显示进程2253的内存信息
2253: xfs -droppriv -daemon
007f0000 36K r-x-- /lib/libnss_files-2.3.5.so
007f9000 4K r-x-- /lib/libnss_files-2.3.5.so
007fa000 4K rwx-- /lib/libnss_files-2.3.5.so
00a84000 104K r-x-- /lib/ld-2.3.5.so
00a9e000 4K r-x-- /lib/ld-2.3.5.so
00a9f000 4K rwx-- /lib/ld-2.3.5.so
00aa6000 1168K r-x-- /lib/libc-2.3.5.so
00bca000 8K r-x-- /lib/libc-2.3.5.so
00bcc000 8K rwx-- /lib/libc-2.3.5.so
00bce000 8K rwx-- [ anon ]
00bd2000 136K r-x-- /lib/libm-2.3.5.so
00bf4000 4K r-x-- /lib/libm-2.3.5.so
00bf5000 4K rwx-- /lib/libm-2.3.5.so
00bfe000 72K r-x-- /usr/lib/libz.so.1.2.2.2
00c10000 4K rwx-- /usr/lib/libz.so.1.2.2.2
00c13000 380K r-x-- /usr/X11R6/lib/libXfont.so.1.5
00c72000 32K rwx-- /usr/X11R6/lib/libXfont.so.1.5
00c7a000 36K rwx-- [ anon ]
00d6b000 388K r-x-- /usr/lib/libfreetype.so.6.3.7
00dcc000 28K rwx-- /usr/lib/libfreetype.so.6.3.7
00e03000 4K r-x-- [ anon ]
08047000 80K r-x-- /usr/X11R6/bin/xfs
0805b0004K rw--- /usr/X11R6/bin/xfs
0805c00016K rw--- [ anon ]
08c8e000 2364K rw--- [ anon ]
b7f48000 144K rw--- [ anon ]
b7f6c000 144K rw--- [ anon ]
b7f900008K rw--- [ anon ]
b7fb50004K rw--- [ anon ]
bfba100084K rw--- [ stack ]
total5284K
[root@localhost~]#
本例使用指令“pmap 2253”显示进程 2253 的内存使用信息。
范例151 显示进程使用内存的详细信息。
[root@localhost~]# pmap -x 2253 //显示进程使用内存的详细信息
2253: xfs -droppriv -daemon
Address Kbytes RSS Anon Locked Mode Mapping
007f0000 36 - - - r-x-- libnss_files-2.3.5.so
007f9000 4 - - - r-x-- libnss_files-2.3.5.so
007fa000 4 - - - rwx-- libnss_files-2.3.5.so
00a84000 104 - - - r-x-- ld-2.3.5.so
00a9e000 4 - - - r-x-- ld-2.3.5.so
00a9f000 4 - - - rwx-- ld-2.3.5.so
00aa6000 1168 - - - r-x-- libc-2.3.5.so
00bca000 8 - - - r-x-- libc-2.3.5.so
00bcc000 8 - - - rwx-- libc-2.3.5.so
00bce000 8 - - - rwx-- [ anon ]
00bd2000 136 - - - r-x-- libm-2.3.5.so
00bf4000 4 - - - r-x-- libm-2.3.5.so
00bf5000 4 - - - rwx-- libm-2.3.5.so
00bfe000 72 - - - r-x-- libz.so.1.2.2.2
00c10000 4 - - - rwx-- libz.so.1.2.2.2
00c13000 380 - - - r-x-- libXfont.so.1.5
00c72000 32 - - - rwx-- libXfont.so.1.5
00c7a000 36 - - - rwx-- [ anon ]
00d6b000 388 - - - r-x-- libfreetype.so.6.3.7
00dcc000 28 - - - rwx-- libfreetype.so.6.3.7
00e03000 4 - - - r-x-- [ anon ]
08047000 80 - - - r-x-- xfs
0805b000 4 - - - rw--- xfs
0805c000 16 - - - rw--- [ anon ]
08c8e000 2364 - - - rw--- [ anon ]
b7f48000 144 - - - rw--- [ anon ]
b7f6c000 144 - - - rw--- [ anon ]
b7f90000 8 - - - rw--- [ anon ]
b7fb5000 4 - - - rw--- [ anon ]
bfba1000 84 - - - rw--- [ stack ]
-------- ------- ------- ------- -------
total kB 5284 - - -
本例使用指令“pmap -x 2253”显示进程 2253 使用内存的详细信息。
范例152 显示内存对应时同时显示设备号。
[root@localhost~]# pmap -d 2253 //显示内存对应时同时显示设备号
2253: xfs -droppriv -daemon
Address Kbytes Mode Offset Device Mapping
007f0000 36 r-x-- 0000000000000000 008:00003 libnss_files-2.3.5.so
007f9000 4 r-x-- 0000000000008000 008:00003 libnss_files-2.3.5.so
007fa000 4 rwx-- 0000000000009000 008:00003 libnss_files-2.3.5.so
00a84000 104 r-x-- 0000000000000000 008:00003 ld-2.3.5.so
00a9e000 4 r-x-- 0000000000019000 008:00003 ld-2.3.5.so
00a9f000 4 rwx-- 000000000001a000 008:00003 ld-2.3.5.so
00aa6000 1168 r-x-- 0000000000000000 008:00003 libc-2.3.5.so
00bca000 8 r-x-- 0000000000124000 008:00003 libc-2.3.5.so
00bcc000 8 rwx-- 0000000000126000 008:00003 libc-2.3.5.so
00bce000 8 rwx-- 0000000000bce000 000:00000 [ anon ]
00bd2000 136 r-x-- 0000000000000000 008:00003 libm-2.3.5.so
00bf4000 4 r-x-- 0000000000021000 008:00003 libm-2.3.5.so
00bf5000 4 rwx-- 0000000000022000 008:00003 libm-2.3.5.so
00bfe000 72 r-x-- 0000000000000000 008:00003 libz.so.1.2.2.2
00c10000 4 rwx-- 0000000000011000 008:00003 libz.so.1.2.2.2
00c13000 380 r-x-- 0000000000000000 008:00003 libXfont.so.1.5
00c72000 32 rwx-- 000000000005e000 008:00003 libXfont.so.1.5
00c7a000 36 rwx-- 0000000000c7a000 000:00000 [ anon ]
00d6b000 388 r-x-- 0000000000000000 008:00003 libfreetype.so.6.3.7
00dcc000 28 rwx-- 0000000000061000 008:00003 libfreetype.so.6.3.7
00e03000 4 r-x-- 0000000000e03000 000:00000 [ anon ]
08047000 80 r-x-- 0000000000000000 008:00003 xfs
0805b000 4 rw--- 0000000000013000 008:00003 xfs
0805c000 16 rw--- 000000000805c000 000:00000 [ anon ]
08c8e000 2364 rw--- 0000000008c8e000 000:00000 [ anon ]
b7f48000 144 rw--- 00000000b7f93000 000:00000 [ anon ]
b7f6c000 144 rw--- 00000000b7f93000 000:00000 [ anon ]
b7f90000 8 rw--- 00000000b7f90000 000:00000 [ anon ]
b7fb5000 4 rw--- 00000000b7fb5000 000:00000 [ anon ]
bfba1000 84 rw--- 00000000bfba1000 000:00000 [ stack ]
mapped: 5284K writeable/private: 2896K shared: 0K
[root@localhost~]#
本例使用指令“pmap -d 2253”显示进程 2253 的内存对应,同时显示设备号。
学习目标 掌握查看内存状态的方法
语法 procinfo[必要参数][选择性参数]
功能说明 proinfo 指令用来显示系统的参数,并将结果输出到标准输出。
参数说明 必要参数的具体说明如下:

选择性参数的具体说明如下:

基础应用
范例153 显示系统状态。

本例使用指令“procinfo”显示系统的状态。
学习目标 掌握 pwck 指令的用法
语法 pwck[必要参数][文件]
功能说明 pwck 指令可以检测密码文件的正确性。
参数说明 必要参数的具体说明如下:

基础应用
范例154 检测密码文件。
root@localhost:~# pwck /etc/passwd //检测密码文件
user news: directory /var/spool/news does not exist
user uucp: directory /var/spool/uucp does not exist
user list: directory /var/list does not exist
user irc: directory /var/run/ircd does not exist
user gnats: directory /var/lib/gnats does not exist
user nobody: directory /nonexistent does not exist
user wang: directory /home/wang does not exist
user telnetd: directory /nonexistent does not exist
user lchx: directory /home/lchx does not exist
user xgh: directory /home/xgh does not exist
user niu: directory /home/niu does not exist
user hq: directory /home/hq does not exist
user x2y: directory /home/x2y does not exist
user liang: directory /home/liang does not exist
user uml-net: directory /home/uml-net does not exist
user huohw: directory /home/huohw does not exist
user sensor: directory /home/sensor does not exist
user 973: directory /home/973 does not exist
user iplab: directory /home/iplab does not exist
user server: directory /home/server does not exist
pwck: no changes
root@localhost:~#
本例使用指令“pwck /etc/passwd”检测密码文件的正确性。
学习目标 掌握 hash 指令的用法
语法 hash[必要参数][选择性参数]
功能说明 hash 指令用来显示和清除哈希表,执行指令的时候,系统将先查询哈希表。
参数说明 必要参数的具体说明如下:

选择性参数的具体说明如下:

基础应用
范例155 显示哈希表。
[root@localhost~]# hash -l //显示哈希表
builtin hash -p /sbin/halt halt
builtin hash -p /usr/bin/man man
[root@localhost~]#
本例使用指令“hash–l”显示哈希表。
范例156 显示指令的完整路径。
[root@localhost~]# hash -t halt //显示 halt 指令的完整路径
/sbin/halt
[root@localhost~]#
本例使用指令“hash -t halt”显示 halt 指令的完整路径。
范例157 向哈希表中增加内容。
[root@localhost~]# hash -p /usr/bin/aclocal aclocal //向哈希表中增加aclocal条目
[root@localhost~]# hash -l //显示哈希表
builtin hash -p /sbin/halt halt
builtin hash -p /usr/bin/aclocal aclocal
builtin hash -p /usr/bin/man man
builtin hash -p /bin/ls ls
[root@localhost~]#
本例使用指令“hash -p /usr/bin/aclocal aclocal”向哈希表中添加条目 aclocal。
范例158 删除哈希表内容。
[root@localhost~]# hash -r //删除哈希表内容
[root@localhost~]# hash -l //显示哈希表内容
hash: hash table empty
[root@localhost~]#
本例使用指令“hash–r”删除哈希表内容。
学习目标 学习 hostid 指令的用法
语法 hostid[选择性参数]
功能说明 hostid 指令用来打印当前主机的数字化标识。
参数说明 选择性参数的具体说明如下:

基础应用
范例159 显示主机标识。
[root@localhost sha1]# hostid //显示主机标识
7f0100
[root@localhost sha1]#
本例使用指令hostid显示主机标识。
学习目标 掌握 isosize 指令的使用方法
语法 isosize[必要参数][选择性参数][文件]
功能说明 isosize 指令输出 iso9660 文件系统中的文件大小。文件可能是正常的文件或者是一个块装置,如/dev/hdd或者/dev/sr0。
参数说明 必要参数的具体说明如下:

选择性参数的具体说明如下:

基础应用
范例160 显示iso9660文件的大小。
root@localhost:~#isosize /dev/hdd //显示文件大小
本例使用指令“isosize /dev/hdd”显示文件/dev/hdd 的大小。
学习目标 掌握动态链接绑定的方法
语法 ldconfig[必要参数][选择性参数]
功能说明 ldconfig 指令根据在命令行中指定的文件库,产生与其相对应的链接,包含在/etc/ld.so.conf中。当要确定链接的版本号时,ldconfig指令将验证存在于函数库中的头文件。查找函数库时,ldconfig忽略符号链接。
参数说明 必要参数的具体说明如下:

选择性参数的具体说明如下:

基础应用
范例161 建立对于共享库的正确链接,并更新缓冲区。
[root@wjc root]# ldconfig -v|more
/lib:
libcap.so.1 -> libcap.so.1.10
libnss_wins.so -> libnss_wins.so.2
libiw.so.25 -> libiw.so.25
libnss_winbind.so -> libnss_winbind.so.2
libnss_ldap.so.2 -> libnss_ldap-2.3.1.so
libpam_misc.so.0 -> libpam_misc.so.0.75
libpam.so.0 -> libpam.so.0.75
libproc.so.2.0.11 -> libproc.so.2.0.11
libpamc.so.0 -> libpamc.so.0.75
liblvm-10.so.1 -> liblvm-10.so.1.0
libtermcap.so.2 -> libtermcap.so.2.0.8
libpcre.so.0 -> libpcre.so.0.0.1
libgcc_s.so.1 -> libgcc_s-3.2.2-20030225.so.1
范例162 只更新在指令行中指定的库 /lib。
[root@wjc root]# ldconfig -n /lib
学习目标 了解打印机共享库文件的相互依赖关系
语法 ldd[选择性参数]文件
功能说明 ldd 指令打印指令行指定的程序或者库文件所使用的共享库。
参数说明 必要参数的具体说明如下:

选择性参数的具体说明如下:

基础应用
范例163 显示/bin/mkdir所使用的共享函数库。
[root@wjc root]# ldd /bin/mkdir
libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
/lib/ld-Linux.so.2 => /lib/ld-Linux.so.2 (0x40000000)
学习目标 了解 mkraid 指令的用法
语法 mkraid[选择性参数][必要参数]
功能说明 可以将一组块设备设置为一个 RAID 设备阵列。注意初始化 RAID 设备阵列时将毁坏所有原数据。
参数说明 必要参数的具体说明如下:

选择性参数的具体说明如下:

基础应用
范例164 将几个设备组成RAID阵列。
[root@yingzheng yingzheng]# mkraid -f /dev/hda1+/dev/fd0
学习目标 了解系统的运行级别
语法 runlevel
功能说明 runlevel 指令读取系统的 utmp 文件来定位系统的运行级别记录,然后打印当前系统的执行等级到标准输出。
基础应用
范例165 显示执行等级。
[root@localhost~]# runlevel //显示执行等级
N 5
[root@localhost~]#
本例使用指令runlevel显示当前系统的执行等级。
学习目标 了解 sliplogin 的应用
语法 sliplogin[用户名]
功能说明 sliplogin指令将终端机之间的连接变为sliplogin连接。
基础应用
范例166 改变用户的连接方式。
[root@localhost~]# sliplogin kk //改变用户的连接方式
本例使用指令“sliplogin kk”将用户 kk 的连接方式改变为 SLIP 方式。
学习目标 掌握如何使用 sysctl 来设置核心参数
语法 sysctl[必要参数][选择性参数][变量]
功能说明 sysctl 指令用来设置系统的核心参数。
参数说明 必要参数的具体说明如下:

选择性参数的具体说明如下:

基础应用
范例167 显示系统核心设置。
[root@localhost~]# sysctl -a >1.log //显示系统设置
[root@localhost~]#
[root@localhost~]# tail -n 50 1.log //显示文件信息
kernel.msgmnb = 16384
kernel.msgmni = 16
kernel.msgmax = 8192
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 33554432
kernel.acct = 4 2 30
kernel.hotplug = /sbin/udevsend
kernel.modprobe = /sbin/modprobe
kernel.printk = 6 4 1 7
kernel.ctrl-alt-del = 0
kernel.real-root-dev = 0
kernel.cap-bound = -257
kernel.tainted = 0
kernel.core_pattern = core
kernel.core_uses_pid = 1
kernel.vdso = 1
kernel.print-fatal-signals = 0
kernel.exec-shield = 1
kernel.panic = 0
kernel.domainname = (none)
kernel.hostname = localhost.localdomain
kernel.version = #1 Thu Jun 2 22:55:56 EDT 2005
kernel.osrelease = 2.6.11-1.1369_FC4
kernel.ostype = Linux
fs.mqueue.msgsize_max = 8192
fs.mqueue.msg_max = 10
fs.mqueue.queues_max = 256
fs.quota.warnings = 1
fs.quota.syncs = 19
fs.quota.free_dquots = 0
fs.quota.allocated_dquots = 0
fs.quota.cache_hits = 0
fs.quota.writes = 0
fs.quota.reads = 0
fs.quota.drops = 0
fs.quota.lookups = 0
fs.aio-max-nr = 65536
fs.aio-nr = 0
fs.lease-break-time = 45
fs.dir-notify-enable = 1
fs.leases-enable = 1
fs.overflowgid = 65534
fs.overflowuid = 65534
fs.dentry-state = 27450 25570 45 0 0 0
fs.file-max = 50823
fs.file-nr = 870 0 50823
fs.inode-state = 18904 178 0 0 0 0 0
fs.inode-nr = 18904 178
fs.binfmt_misc.status = enabled[root@localhost~]#
本例使用指令“sysctl -a >1.log”显示系统设置,并将结果重定向到文件 1.log。
范例168 设置变量。
[root@localhost~]# sysctl -w fs.leases-enable=1 //设置变量
fs.leases-enable = 1
[root@localhost~]#
本例使用指令“sysctl -w fs.leases-enable=1”设置变量 fs.leases-enable 的值为 1。
学习目标 掌握如何设置系统的执行级别
语法 telinit[必要参数][选择性参数]
功能说明 telinit 指令可以设置当前系统的执行级别。
参数说明 必要参数的具体说明如下:

选择性参数的具体说明如下:

基础应用
范例169 设置当前的执行级别。
[root@localhost~]# runlevel //显示当前的执行级别
N 5
[root@localhost~]# telinit 2 //设置执行级别
[root@localhost~]# runlevel //显示执行等级
5 2
[root@localhost~]#
本例使用指令“telinit 2”设置当前的执行级别为 2。
学习目标 掌握 head 指令的用法
语法 head[必要参数][选择性参数][文件名]
功能说明 head 指令将打印文件的前 10 行到标准输出。如果不指定文件,将从标准输入中输入。
参数说明 必要参数的具体说明如下:

选择性参数的具体说明如下:

基础应用
范例170 显示文件的前10行。

本例使用指令“head sha.cpp”显示文件 sha.cpp 的前 10 行。
范例171 显示文件的前n行。

本例使用指令“head -n 20 sha.cpp”显示文件的前 20 行。
范例172 显示文件的前n个字节。

本例使用指令“head -c 300 sha.cpp”显示文件 sha.cpp 的前 300 个字节。