74.sync
(1)简介
sync:清空LINUX文件系统的缓冲区。
在系统的CPU停止工作以前必须调用该命令来将系统的缓冲区写入硬盘。REBOOT和HALT指令都将调用该命令来清空缓冲区。LINUX的优点之一就是磁盘存取速度快,这是因为它将不用的内存都拿来作缓冲区了,这带来的问题就是在系统前必须将缓冲清空,否则就会丢失信息和数据。请看Linus本人是如何说的:“sync这个命令只保证在一定时间内将数据写入硬盘,这需要一定的时间写完所有的数据,如果用户在执行这条命令后马上关机的话,请稍等片刻。”(但是REBOOT和HALT命令会代替用户作这些工作。)
update -周期性地清空LINUX文件系统的缓冲区。
它有两种工作模式,一种是缺省地每5秒钟写一些块(不调用sync),一种是每30秒调用一次sync。在系统启动时update作业应该越早运行越好,在SLACKWARE版本中在/etc/rc.d/rc.S中的第二条命令就是运行update。它的进程号一般是13。
(2)部分参数说明
update[选项]
-S:只使用sync工作。
-a秒:设定调用sync的时间间隔,缺省是30秒。
-f秒:设定缺省工作方式的时间间隔,缺省是5秒。
75.su
(1)简介
su:改变用户的ID或成为超级用户。
作者为Julianne Frances Hargh(
jfh@tab.com)。
su可一让用户在一个登录的shell中不用退出就可以变成另外一个用户,如果后面不跟参数,则su缺省地变成超级用户。执行su命令时,程序会让用户输入密码,如果密码不正确,则程序将给出出错信息后退出,所有su的动作都会被系统记录在一个log文件中,以便探测谁在恶意攻击系统。su之后,当前的所有环境变量都会被传递过去,但是路径值$PATH将被重置为/bin:/usr/bin(对一般用户)或/sbin:/bin:/usr/sbin:/usr/bin(对超级用户)这两个缺省值可以通过改变文件/etc/login.defs中的ENV_PATH值和ENY_SUPATH的值来改变。
(2)部分参数说明
su [-][用户名[参数]]
su后面可以跟参数,例如su用户名-c命令,就会在改变用户ID后执行相应的命令并退出。
(3)范例。变更为用户fangh:
lark:->su fangh
Password:
>whoani
fangh
>
76.sudo
(1)简介
sudu:以超级用户的身份执行某些命令。
visudo:编辑可以使用sudo命令的用户列表。
在系统管理中,有时需要给予某些用户的部分系统特权以便执行某些系统命令。例如shutdown,halt,lpc等命令,但是系统管理员又不愿意给予他们全部的系统特权,这时sudo命令就非常有用了。Sudo允许经过同意的用户以超级用户的身份执行指令。Sudo一/etc/sudoers这个文件来判定谁是授权的用户。Sudo将会提示用户输入密码开始一段N分钟的可以使用的时间(其中N是在安装的进修定义的且缺省值为5分钟结束后自动退出)。
Sudoers这个文件是由一个选择性的主机别名(host alias)域,一个选择性的指令别名(command alias)域以及用户说明(user specification)域所组成的。所有的指令别名或主机别名必须需以他们自己的关键字作为开始(Host_Alias/Cmnd_Alias)。注意,只有第一次使用的用户(在用户说明域里有记录的用户)使用时会有说明。
用户说明域格式:
用户 有权限[:有权组]. . .
有权组::=主机类别=[op]指令类别[,[op]指令类别]. . .
主机类别::=小写的主机名或主机别名。
指令类别::=指令或指令别名。
op::=‘!’否定符。
主机别名域格式:
Host_Alias主机别名=主机列表
Host_Alias::=一个关键字。
主机别名::=一个大写的别名。
主机列表::=以逗号间隔的一些主机名
指令别名域格式:
Cmnd_Alias指令别名=指令列表
Cmnd_Alias::=一个关键字。
指令别名::=一个大写的别名。
指令列表::=以逗号间隔的一些指令。
在“#”符号后面是注解。太长的行可以使用“\”来分成新的行。保留的别名“ALL”在{Host,Cmnd}_Alias里都可以使用。不要使用关键字“ALL”来定义一个别名,这个别名无效。
注意,“ALL”代表全部的主机跟指令。
用户可以使用这个语法从所有定义中掉一些项目:
user host =ALL,!ALIASI,!/etc/halt. . .
sudoers文件的范例文件:
# Host alias specification
Host_Alias HUB=houdini.rootgroup.com:\
REMOTE=merlin,kodiakthorn,spirit
Host_Alias MACHINES=kalkan,alpo,milkbones
Host_Alias SERVERS=houdini,merlin,kodiakthorn,spirit
#Command alias specification
Cmnd_Alias LPCS=/usr/etc/lpc,/usr/ucb/lprm
Cmnd_Alias SHELLS=/bin/sh,/bin/csh,/bin/tcsh
Cmnd_Alias MISC=/bin/rm,/bin/cat:\
SHUTDOWN=/etc/halt,/etc/shutdown
# User specification
britt REMOTE=SHUTDOWN:ALL=LPCS
robh ALL=ALL,!SHELLS
nieusma SERVERS=SHUTDOWN,/etc/reboot:\
HUB=ALL,!SHELLS
jill houdini.rootgroup.com=/etc/shutdown,MISC
markm HUB=ALL,!MISC,!/etc/shutdown,!/etc/halt
billp ALL=/usr/local/bin/top:MACHINES=SHELLS
davechieb merlin=ALL:SERVES=/etc/halt:\
kodiakthorn=ALL
上面的sudoers说明文件是由4个主机别名说明,4个指令别名说明以及7个用户说明所组成的。Britt被允许在远端机器(merlin,kodiakthorn,还有sprirt)上执行/etc/halt,/etc/shutdown,/usr/etc/lpq以及/usr/ucb/lprm。Rohn被允许在任何机器上执行除了SHELL指令以外的任何指令。Jill被允许在机器houdini上执行/etc/shotdown,/bin/rm,以及/bin/cat。Davehieb可以在机器merlin以及kodiakthor上执行任何指令并且可以halt服务器。
Sudoers文件应该用visudo编辑,它会锁住该文件并且检查语法,以避免产生错误的文件。Sudo被设计成用4.3BSD的syslogging来记录,但是也可以使用用户自己的log进程来记录如果一个没有被授权的用户执行了sudo的话,将会有一封mail从该用户处寄送到当地的管理员处(Linux缺省是root)。所有的设定都是在安装时定义的由sudo.h及Makefile定义,但是Linux缺省的是安装好的执行文件,用户如果要更改的话,需要重新编译与安装。
允许巢状的主机以及指令别名。
允许在sudoers文件中使用host specifie,以便使全局符号(user ALL,!SERVERS,. . .=commands)。
允许在sudores文件里的用户别名(就如同主机/指令别名一样)。
(2)部分参数说明
sudo命令
(3)范例。用sudo来halt机器:
lark:->sudo halt
77.tail
(1)简介
tail:显示文件的最后一部分
(2)部分参数说明
tail [-c[+]N[bkm]][-n[+]N][-fqv][--bytes=[+]N[bkm]]
[--lines=[+]N][--follow][--quiet][--silent][--verbose]
[--help][--version][文件名列表]
tail缺省显示文件名列表中的每个文件的最后十行,如果没有文件名或文件名为“-”则其从标准输入中读取文件,如果有多个文件则其会在文件前面加上“= =>文件名<==”以便区分。
-c N, --bytes N:显示文件后部的N比特大小的部分,N后面可以跟bkm参数。
b:512比特的块。
k:1k的块。
m:1M的块。
-f:--follow:如果文件大小在增长的话,tail将跟随文件增长而显示。
-l, -n N, --lines N:显示文件末尾的N行。
-v,--verbose:一直输出“= =>文件名<= =”形式的文件名。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例。显示文件/etc/DIR_COLORS的最后三行:
lark:->tail -v -n 3/etc/DIR_COLORS
= => /etc/DIR_COLORS<= =
.xbm 01:35
.xpm 01:35
.tif 01:35
lark:->
78.tar
(1)简介
tar:GNU版的文件打包备份的工具。
(2)部分参数说明
tar [-] A --catenate --concatenate | c --create |d --diff --compare |r --append | t --list | u-update |x
-extract --get [--atime -preserve][-b, --block-size N][-B, --read--full-blocks][-C, --directory DIR][
--checkpoint][-f, --file[HOSTNAME:]F][--force-local][-F,--info--script F--neo--volume-script F][
-G, --incrementat][-g, --listed-incremental F][-h, --dereference][-i, --ignore-zeros][--ignore-failed-
read][-k, --keep-old-fils][-k, --starting-file F][-l,--one-file-system][-L, --tape-lengthN][-m,
--modification-time][-M,--multi-volume] [-N, --after-date DATE, --newer DATE][-o, --old-
archive, --portability][-O, --to-stdout][-p, --same-permissions, --preserve-permissions][-P, --absolute-paths] [--preserve][-R, --record-number][--remove-files]
[-s,--same-order, --preserve-order][--same-owner]
[-s,--sparse][-T,--files-from F][--null][--totals][-v,--verbose][-v, --label NAME]
[-version] [-w, --inteactive, --confirmation][-W,--verify][--exclude FILE][-X,--exclude-from FILE]
[-Z, --compress,--uncompress][-z, --gzip, --ungzip],[-use-compress-progran PROG][--block-compress][-[0-7][lmh]]
[文件名列表]
[目录名列表]
tar是对一般用户最易用和最可靠的实用程序,从归档介质(可以是一个磁带机,也可以是普通文件)上保留和恢复文件,也能从之个文件归档中抽取单个文件。
-A, --catenate, --concatenate:向归档文件中追加另一个tar文件。
-c, --create:建立新的归档文件。
-d, --diff, -compare:将归档文件和文件系统上的文件作比较。
--delete:从归档文件中删除文件(不能够用在磁带机上)。
-r, --append:向归档文件末尾追加文件。
-t, --list:对归档文件列目录。
-u, --update:只追加比归档文件中的文件新的文件。
-x, -extract, --get:从归档文件中解出文件。
--atime-preserve:不改变文件的访问次数。
-b, --block-size N:块大小为N乘以512比特(N缺省为20)。
-B, --read-full-bolcks:为兼容4.2BSD而设。
-C,--directory DIR:将目录名改为DIR。
--checkpoint:在读归档文件时输出文件名。
-f, --file[HOSTNAME:]F:使用设备F来储存归档文件。
-force-local:强制设定归档文件为本地文件。
-F, --info-script F --new-volume-script F为在每盘磁的结尾执行设定的脚本文件。
-G, --incremental:用老的GNU格式来打包/列出/解开归档文件。
-g, --listed-incremental F:用新的GNU格式打包/列出/解开归档文件。
-h, --dereference:不保存符号连接而保存其指向的文件。
-i, --ignore-zores:忽略零block的文件。
--ignore-failed-read:在文件不可读时不退出。
-k, --keep-old-files:在从归档文件中释放文件时不改写现有文件。
-K,--starting-file F:从归档文件的第F个文件开始。
-l, --one-file-system:只在本地文件系统产生归档文件。
-L, --tape-length N:在写完N*1024byte后换磁带。
-m, --modification-time:归档时不改变文件的修改时间。
-M, --multi-volume:存放/列出/解开多卷的归档文件。
-N, --after-date DATE, --newer DATE:只存放比日期DATE新的文件。
-o, --old-archive,--portability:和旧的V7格式存放(缺省为ANSI格式)。
-O, --to-stdout:将文件解开到标准输出。
-p, --same-permissions, --preserve-permissions:解开文件时恢复所有访问限制。
-P, --absolute-paths:解开文件时使用绝对路径。
--preserve:同-p -s。
-R, --record-number:显示归档文件内部的所有记录数。
--remover-files:将文件归档后删除源文件。
-s, --same-order, --preserve-order:显示同归档文件中顺序一样的文件名。
--same-owner:解开文件时恢复原所有者。
-S, --sparse:有效存放稀疏文件。
-T, --files-from F:从文件F中读取要释放或解开的文件名。
--null:使能-T参数可以读取有空格的文件名,屏蔽参数-C。
--totals:在创建文件时显示总字节数。
-v, --verbose:处理过程中输出相关信息。
-V, --label NAME:用卷标名NAME来命名归档文件。
--version:输出版本号。
--w, --interactive, --confirmation:进行每一步操作前要确认。
-W, --verify:在打包文件后进行校验。
--exclude FILE:不将文件FILE归档。
-X, --exclude-from FILE:不将文件FILE中列出的文件归档。
-Z, --compress, --uncompress:用compress来压缩归档文件。
-z, --gzip, --ungzip:用gzip来压缩归档文件。
-use-compress-program PROG:用自定义的压缩程序PROG来压缩归档文件。
-block-compress:将压缩的归档文件做成块,以便磁带机使用。
-[0-7][1mh]:设定磁带驱动器和密度。
(3)范例。将当前目录下所有.txt文件打包并压缩到归档文件bak.tar.gz:
lark:>tar czvf bak.tar.gz ./* .txt
./tcsh.txt
将目录./sec打包到归档文件sec.tar.gz:
lark:->tar czvf sec.tar.gz ./sec
./sec/
./sec/advance_edu.tgz
./sec/email
./sec/doc.tar
lark:->
79.tcsh
(1)简介
tcsh:一个带有文件名自动补充和行编辑功能的C shell。
tcsh是著名的伯克利UNIX的C SHELL的增强版本,它既可以作为一个交互式的登录SHELL又可以作为脚本文件的处理器。
(2)部分参数说明
-b:强迫tcsh中止对参数的处理,在此选项之后的参数都作为传递给tcsh的命令来处理。
-c:若用-c参数,则tcsh执行完后面所跟的命令后退出。
-d:从文件-/.cshdirs中读入目录堆栈。
-Dname[=value]:设置环境变量name的值为value。
-e:tcsh执行命令后返回值为非零值时则退出tcsh。
-f:tcsh忽略配置文件-/.tcshrc,这样启动tcsh的过程会加快。
-F:tcsh使用fork来代替cfork以产生新进程。
-i:即使标准输入不为终端,也成为交互式的shell。
-l:表明此shell为登录shell。
-m:tcsh从当前目录下读取-/.tcshrc即使此目录不为当前用户的根目录。
-n:读入命令但是并不执行。
-q:tcsh接受SIGQUIT信号。
-s:从标准输入到接受命令。
-t:使tcsh只处理单行命令,当一行写不下的时候,用“/”可以在下一行接着输入。
tcsh在作为登录shell启动时,首先读取系统配置文件/etc/csh.cshrc和/etc/csh.login.接着到用户的根目录下去读取-/.tcshrc,如果没有-/.tcshrc则去读取-/.cshrc,接着读取-/.history,-/.login最后是-/.cshdirs。非登录shell启动时只读取/etc/csh.cshrc和-/.tcshrc。
·命令行编辑器:使用方向键来编辑,上下键在历史记录中选择命令,左右键在命令行上前后移动进行编辑。
·命令补充和列表:在用户键入命令时,经常不能记住命令或目录的全名,这时候tcsh可以帮助用户将剩余部分补全,例如用户键入“/usr/lost”但是忘记后面的部分,这时候用户只需要键入TAB键,tcsh就会自动将剩余的部分补全--“/usr/lost+found./”,当用户给出的部分有多个匹配的情况下例如“/usr/l”则TAB将无法补全,这时候用户只须键入“Ctrl+D”则tcsh将替用户列出所有匹配的情况:
“lib/local@lost+found/”,用户就可以自己选择了。
·拼写检查:在设置变量correct的值为cmd后,则tcsh会对用户输入错误的命令给出提示:
>set correct=cmd
>ls/usr/bin
CORRECT>ls/usr/bin(y|n|e|a)?
如果回答yes就会将lz更正为ls。此外,tcsh所占内存比ash要大400k,为1.2M左右,如果用户内存不足的话可以换用其他shell。
以上的介绍只是一些粗略的介绍,TCSH的强大功能有待于用户在实践中去发掘。或使用man tcsh去查看tcsh的用户手册。
80.tee
(1)简介
tee:从标准输入中读取,向标准输出和其他文件中写入。
(2)部分参数说明
tee [-ai] [--append] [--ignore-interrupts] [--help]
[--version] [文件名列表]
-a, --append:将标准输入追加到输出文件的后面而不是缺省的覆盖它。
-i, --ignore-interrupt:忽略中断信号。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例。将输入重定向到标准输出和文件out中:
lark:->tee out
this is a test
this is a test
lark:->cat out
this is a test
fish:->
81.test
(1)简介
test:比较文件类型并返回相应的值。
(2)部分参数说明
test[表达式]
test[--help, --version]
test在表达式为真的时候返回0,在表达式为假的时候返回1,可行的表达式如下:
-b文件名:如果文件存在且为块文件则为真。
-c文件名:如果文件存在且为字符文件则为真。
-d文件名:如果文件存在且为目录则为真。
-e文件名:如果文件存在则为真。
-f文件名:如果文件存在且为普通文件则为真。
-g文件名:如果文件存在且为设置组则为真。
-k文件名:如果文件是真实文件则为真。
-L文件名:如果文件存在且为符号连接文件则为真。
-p文件名:如果文件存在且为管道文件则为真。
-r文件名:如果文件存在且可读则为真。
-s文件名:如果文件存在且比上一个文件大则为真。
-S文件名:如果文件存在且为socket文件则为真。
-t[fd]:如果fd在一个终端上打开则为真。
-u文件名:如果文件存在且其设置用户ID的位为1则为真。
-w文件名:如果文件存在且可写则为真。
-x文件名:如果文件存在且可执行则为真。
-O文件名:如果文件存在且其属主为有效用户则为真。
-G文件名:如果文件存在且其属组为有效组则为真。
文件1 -nt文件2:如果文件1比文件2新则为真。
文件1 -ot 文件2:如果文件1比文件2旧则为真。
-z字符串:如果字符长度为0则为真。
-n字符串:如果字符串长度不为0则为真。
字符串1=字符串2:如果两字符串相等则为真。
字符串1!=字符串2:如果两字符串不相等则为真。
!表达式:如果表达式为假则为真。
表达式1-a表达式2:表达式1和表达式2都为真则返回真。
表达式1-o表达式2:表达式1或表达式2只要有一个为真就返回真。
参数1 OP参数2:OP为-eq, -ne, -lt, -gt, 或-ge。
此命令一般是为shell编程使用。
82.time
time:取得以秒为单位的当前时间。
此条命令取得从00:00:00 GMT,January 1,1970开始的总时间。
(2)范例
lark:->time
0.170u 0.400s 12:48.52 0.0% 0+0k 0+0io 2229pf+0w
lark:->
83.top
(1)简介
top:显示系统的最高进程。
top这个命令可以即时显示当前系统最占CPU时间的进程,它同时提供一个交互的界面让用户可以观察系统进程情况,它可以按照CPU使用情况,占内存大小,运行的时间来对进程排序,这是系统管理的一项必不可少的工具。
(2)部分参数说明
top[-][d delay][q][c][S][s][i]
d:设定刷新屏幕的时间间隔。
q:此选项使得top刷新时间为零,如果是超级用户使用这个选项的话,则top将以最高优先级运行。
S:设定累积模式,即一个进程的CPU时间包括它的所有死子进程消耗的时间。
s:使top以安全方式运行,即对外界输入不作反应。
I:忽略死进程和僵尸进程。
c:显示命令行。
在运行top时按h键就可以观看top交互命令的帮助。
(3)范例
lark:->top
10:16pm up2 days, 7:53, 2users, load average;0.14, 0.08,0.06
66 processes:5sleeping, 1 running, 0 zombie, 0stopped
CPUstates:4.7%user, 1.3%system, 5.6%nice,94.4%idle
Mem:63104Kav, 60608K used, 2496K free, 35332Kshrd, 9836Kbuff
Swap:128516K av, 292used, 128224K free
PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND
5968 root 15 0 11672 11672 1520 S 0 4.1 18.4 3:41X
10944 fangh 17 0 460 460 344 R 0 1.1 0.7 0:00top
10356 bbs 1 0 384 384 292 S 0 0.1 0.6 0:00 bbsnnrp
10359 bbs 1 0 396 396 282 S 0 0.1 0.6 0:00 bbsnnrp
9526 root 1 0 500 500 388S 0 0.1 0.7 0:00 in.telnetd
7823 chenxy 1 0 2144 2144 1232S 0 0.1 3.3 0:00 cxterm
1 root 0 0 320 320 252 S 0 0.0 0.5 0:05 init
2 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 kflushd
3 root -12-12 0 0 0 SW 0 0.0 0.0 0:00 kswapd
4 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 nfsion
5 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 nfsiod
6 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 nfsiod
7 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 nfsiod
9502 root 0 0 292 292 236 S 0 0.0 0.4 0:00 agetty
120 root 0 0 544 544 400 S 0 0.0 0.8 0:12 nmbd
14 root 0 0 284 284 228 S 0 0.0 0.4 0:00 kerneld
84.touch
(1)简介
touch:改变文件的时间参数。
touch将文件的访问时间,修改时间设置为系统的当前时间,如果该文件不存在则建立一个空的新文件。
(2)部分参数说明
touch [-acfm] [-r reference-file] [-t MMDDhhmm[[CC]YY][.SS]] [-dtime]
[--time={atime, access,use,mtime,modify}] [--date=time]
[--file=reference-file] [--no-create][--help] [--version]
-a, --time=atime, --time=access, --time=use:只改变访问时间。
-c, --no-create:如果目标文件不存在,也不建立空文件。
-d, --date time是:使用time来代替目前时间。
-f:为了同BSD版本的touch兼容。
-m, --time=mtime, --time=modify:只改变修改时间。
-r, --file reference-file:用文件reference-file的时间来代替当前时间。
-t MMDDhhmm[[CC]YY][.ss]:使用此种格式的时间来代替当前时间。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例。将当前目录下的文件的时间参数修改为当前时间:
lark:->touch *
lark:-> ls -l
total 1883
drwx------ 2 fangh users 1024 Sep 21:07 Mail/
-rw-r--r-- 1 fangh users 71209 Sep 21:07 bak.tar.gz
drwx------ 7 fangh users 1024 Sep 21:07 circle/
-rw-rw-r-- 1 fangh users 1208006 Sep 21:07 circle.tgz
-rw-r--r-- 1 fangh users 378880 Sep 21:07 sec.tar.gz
-rw-r--r-- 1 fangh userw 252409 Sep 21:07 tcsh.txt
lark:->
85.tr
(1)简介
tr:替换或删除字符。
从标准输入中读取输入,经处理后输出到标准输出。
(2)部分参数说明
tr [-cat] [--complement] [--squeeze-repeats] [--truncate-set] [--truncate-set 1] 字符串1字符串2
tr {-s, --squeeze-repeats} [-c][--complement]字符串
tr{-d, --delete} [-c] 字符串1
tr{-d, --delete} {-s, --squeeze-repeats} [-c] [--complement]字符串1字符串2
-c, --complemen:补足字符串1。
-d, --delete:删除字符串1而不是替换。
-s, --squeeze-repeats:将字符串的顺序替换为一个顺序。
-t, --truncate-set1:将字符串1比字符串二长的地方截断。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例。将输入中的abc替换为ddd:
lark:->tr abc ddd
I love abc
I love ddd
86.tty
(1)简介
tty:显示目前终端所用的tty。
tty的返回值:
0:标准输入是一个tty。
1:标准输入是一个tty。
2:给出错误参数。
3:发生写错误
(2)部分参数说明
tty [-a] [--silent] [--quiet] [-help] [--version] -s, --silent, --quiet:不输出任何信息,只给出返回值。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例。显示目前终端所用的tty:
lark:->tty
/dev/ttypl
lark:->
87.umout,mount
(1)简介
mount:装载一个文件系统。
umount:卸下一个文件系统。
(2)部分参数说明
mount [-hV]
mount -a [-fFnrvw] [-t vfstype]
mount [-fnrvw] [-o options [, . . .]] device | dir
mount [-fnrvw] [-t vfstype] [-o options] device dir
umount [-h V]
umount -a [-n] [-v] [-t vfstypes]
umount [-n] [-v] special | node. . .
-V:输出版权信息。
-h:输出帮助信息。
-v:校验模式。
-a:mount在文件/etc/fstab中的所有文件系统。
-F:同-a联用,并行mount所有文件系统。
-f:同-v联用,不作真实mount过程只是检查输出。
-n:mount文件系统后不久写入文件/etc/mtab。
-r:将文件系统mount为只读模式。
-w:将文件系统mount为读写模式。
-t vfstype:指定文件系统类型。
现有可mount的系统类型在/usr/scr/linux/fs/filesystems.c中定义:
minix, ext, ext2, xiafs, hpfs, msdos, umdos, vfat, proc,
nfs, iso9660, smbfs, ncpfs, affs, ufs, romfs, sysv, xenix
-o选项:设定mount的一些参数:
async:文件系统必须被异步写入。
atime:每次访问时将i节点的访问时间更新。
auto:自动选择文件系统类型。
defaults:使用缺省选项suid, dev, exec, auto, nouser, async。
dev:解释文件系统上的特殊设备文件。
exec:允许运行文件系统上的可执行文件。
noatime:每次访问时不将i节点的访问时间更新。
noauto:禁止自动选择文件系统类型。
nodev:禁止解释文件系统上的特殊设备文件。
noexec:禁止运行文件文件系统上的可执行文件。
nosuid:根本上设定用户ID位和设定组位起作用。
nouser:禁止非超级用户使用。
remount:重新mount一个已经mount的文件系统。
ro:将文件系统mount为只读模式。
rw:将文件系统mount为读写模式。
suid:允许设定用户ID位和设定组位起作用。
sync:文件系统必须被同步写入。
user:允许非超级用户使用。
不加参数则列出系统目前mount的文件系统。
(3)范例。列出系统目前mount的文件系统。
lark:->mount
/dev/hdal on / type ext2_(rw)
none on/ proc type proc(rw)
/dev/hda3 on/home type ext2(rw)
/dev/hda2on/usr/local type ext2(rw)
lark:->
加载光驱:
lark:->mount/dev/hdb/mnt
88.uname
(1)简介
uname:显示系统信息。
(2)部分参数说明
uname [-snrvma][--sysname][--nodename][--release]
[--machine][--all][--help][--version]
-m, --machine:显示机器硬件种类。
-n, --nodename:显示机器网络节点名。
-r, --release:显示操作系统发布版本。
-s, --sysname:显示操作系统名称。
-v:显示操作系统版本。
-a, -all:显示上面的所有信息。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例。显示机器lark的全部信息:
lark:->uname -a
Linux lark 2.0.30 #3 Tue Jun 24 03:49:52 CDT 1997 I586 unkown
lark:->
89.unarj, unzip, lha
(1)简介
在DOS下最常用的压缩软件有adj, pkzip和早期的lha,他们产生的压缩文件如何在Linux下展开呢?这就要用到unarj, unzip,lha这三个工具软件了,其用法同其在dos下的同类软件用法几乎一样。只是请注意unarj和lha都是版权软件,是没有源码的,不属于GNU。且unarj和unzip只能解压不能压缩。
(2)部分参数说明
unarj 1压缩文件名:查看压缩文件目录。
unarj x压缩文件名:解开压缩文件。
unzip -v压缩文件名:查看压缩文件目录。
unzip -d 压缩文件名:解开压缩文件。
lha l压缩文件名:查看压缩文件目录。
lha x压缩文件名:解开压缩文件。
lha a压缩文件名 源文件名:压缩新文件。
90.uniq
(1)简介
uniq:从一个排好序的文件中删除重复的行。
(2)部分参数说明
uniq [-cdu] [-f skip-fields] [-s skip-chars] [-w check-chars]
[-# skip-fields] [+#skip-chars] [--count]
[--skip-chars=skip-chars] [--check-chars=check-chars]
[--help] [-version][输入文件][输出文件]
-u, --unique:只输出独一无二的行。
-d, --repeated:只输出重复的行。
-c, --count:输出重复行的重复次数。
-number, -f, --skin-fields=number:选择开始比较的域,number为忽略掉的域,各域之间是以TAB或空格键分开的。
+number, -s, --skip-chars=number;选择开始比较的字符,number为忽略掉的字符。
-w, --check-chars=number:选择比较多少个字符。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
如不指定输入文件则以标准输入代替,如不指定输出文件则以标准输出代替。
(3)范例。处理文件sourcefile,输出到标准输出:
lark:->cat sourcefile
abcd
abcd
abcde123
abcd
lark->uniq -c sourcefile
2 abcd
1 abcde123
1 abcd
lark:->
91.uudecode,uuencode
(1)简介
uuencode:将一个二进制文件编码为一个文本文件。
uudecode:将uuencode产生的文件复原。
在Internet尚未十分发达的时候,很多用户只能使用E-mail,要交换软件的话是一件十分麻烦的事情,因为不能用E-Mail直接传送二进制文件,于是uuencode和uudecode就成为十分有用的两个工具。uuencode产生的文本文件以begin644为开始标志,以end为结束标志,在这中间的就是编码过的文件。编码后的文件将比源文件大35%左右。uuencode产生的文件将输出到标准输出,如要存成文件,请使用管道功能将其重定向到一个磁盘文件中。
(2)部分参数说明
uuencode源文件名 编码时使用的文件名
uudecode 要解码的文件名
(3)范例。对文件sourcefile进行编码:
lark:->uuencode sourcefile sf
begin 664sf
886)C9'IA8F-D"F%B8V1E,3(S"F%B8V0*'
end
lark:->
将目录temp打包、压缩、编码后mail给用户fangh:
lark:->tar cvf -./tepm |gzip |uuencode temp.tar.gz |mail fangh
./temp/
./temp/sourcefil
lark:->
92.vi
(1)简介
vi:功能强大的UNIX编辑器。
vi是UNIX世界里最通用的全屏编辑器,所有UNIX机器都提供本编辑器。Linux里提供的是vi的加强板-vim,但是是同vi完全兼容的。vi的原意是“visual”即可视编辑器,用户键入的会立即被显示出来。其强大的编辑功能可能同任何一个最新的编辑器相媲美,学会vi可以让用户在任何一台UNIX机器无论是SUN,HP,AIX,SGI,还是Linux或FreeBSD上都可以得心应手地编辑文件。
(2)部分参数说明
只要在命令上键入vi就可以进入vi的编辑环境。
vi有两种状态,输入状态以及指令状态。用户在输入状态下可以输入文字资料指令状态是用来执行打开文件、存档、离开vi等操作命令,执行vi后首先进入指令状态,此时输入的任何字符都作为指令来处理。输入“vi文件名”则vi自动装入文件或开始一个新文件,vi屏幕的左方会出现波浪号 “-”,代表本行为空行。
如果进入输入状态呢?以下为相应的指令:
追加(append):
a从光标所在位置后面开始追加文字,光标后的文字随追加的文字向后移动。
A从光标所在列最后面的地方开始追加文字。
插入(insert):
i 从光标所在位置前面开始插入文字,光标后的文字随追加的文字向后移动。
I从光标所在列的第一个非空白字符前面开始插入文字。
开始(open):
o在光标所在列下新增一列并进入输入状态。
O在光标所在列上方新增一列并进入输入状态。
x删除光标所在字符。
dd删除光标所在的列。
r 修改光标所在字符接下来要修正的字符。
R 进入改写状态,新增文字会覆盖原先文字。
s删除光标所在字符,并进入输入状态。
S 删除光标所在的列,并进入输入状态。
在vi下如何移动光标
指令
说明
功能键
0
移动到光标所在列的最前面
[Home]
$
移动到光标所在列的最后面
[End]
[Ctrl] [d]
向下半页