linux基本命令的使用
时间:2006-05-31 来源:黄金分隔
第一章 Linux基本命令的使用
本章主要讲解Linux下基本命令的使用,由于篇幅的关系,无法列出所有Linux命令的使用说明。读者在使用没有列出的命令时,可以使用"--help"参数查询该命令所附的在线帮助,或者利用man来查询更详细的使用说明。
1.ash
(1)简介
ash --a shell
这是由Kenneth Almquist在1989年编写的,ash是Linux下的许多命令解释器中的一个,它的许多特性接近于SYSTEM V的shell。
(2)部分参数说明
ash [ -efIijnsxz ] [ +efIijnsxz ] [ -c命令] [ 参数 ]
-c 命令:若用-c参数,则ash从标准输入中读入命令(在执行完-c带的命令之后)。
-s:若用-s参数,则ash从标准输入中读入命令(在执行完-c带的命令之后)。
如果不跟-c -s参数则ash以所跟的第一个参数为文件名,从此文件中读入命令。如无参数则ash缺省设定-s参数,从标准输入中读入命令,直到输入exit。
如果参数0的第一个字母是"-"则ash确定为login shell,ash将从/etc/profile或用户的根目录中的.profile读入相应的设置和环境变量。
-e:若用-e参数,则ash执行命令后返回值为非零值时则退出ash。
-f:若用-f参数,则ash关闭自动产生文件名功能。
-j:打开伯克利UNIX风格的工作控制。
-n:读入命令但是并不执行。
(3)范例
ash -c ls
ash执行ls这个命令后退回原先的目录和shell。
ash -s
ash执行一个新的shell,现在可以在这个shell中工作,按(Ctrl-D)或输入exit后,则退回原先的目录和shell,所设定的环境变量返回原先的值。
2.at
(1)简介
at,batch,atq,atrm:安排、检查、删除队列中的工作。
由Thomas Koenig编写。
(2)部分参数说明
at [-V] [-q队列] [-f文件名] [-mldbv] 时间
at -c 作业 [作业…]
atq [-V] [-q队列] [-v]
atrm [-V] 作业 [作业…]
batch [-V] [-q队列] [-f文件名] [-mv] [时间]
at在设定的时间执行作业。
atq列出用户排在队列中的作业,如果是超级用户,则列出队列中的所有工作。
atrm删除队列中的作业。
batch用低优先级运行作业,只要系统的loadavg(系统平均负载)<1.5(或者在atrun中设定的值)它就开始执行作业。
-V:若用-V参数,则显示版本号到标准错误输出。
-q队列:若用-q参数,则指定可选队列名称,队列名称可以是a到z或A到Z之间的任意字母。at的缺省队列名是c,batch的缺省队列名是E,队列的字母顺序越高,则队列的优先级越低。如果是大写字母的话则提交给batch,如果atq使用-q参数,则只显示这个队列中的作业。
-m:执行完作业后即使此作业并没有输也给提交作业的用户发送提示mail。
-f文件名:从文件中读取作业。
-l:等于atq。
-d:等于atrm。
-b:等于batch。
时间:这是用户设定的作业开始执行的时间。时间的格式分成三个部分:时间、日期、偏移量。可接受的时间形式是HHMM或HH:MM,在一天中指定的时间运行,如果时间过去了就在第二天执行。可以在时间后加入AM或PM使其在上午或下午运行,也可以指定在哪一天执行,给出日期的格式应为MMDDYY或MM/DD/YY或MM.DD.YY,也可以给出偏移量:
时间+计数时间间隔
时间间隔可以是minutes,hours,days,weeks。
也可以指定today让作业在今天执行,指定tommorow让作业在明天执行。
(3)注意事项
如果没有指定-f选项,是at从标准输入读入所有的命令,所以可以通过管道、重定向或交互输入来输入命令。
超级用户可以在任何情况下使用at系列的命令。一般用户使用at系列命令的权利由文件/etc/at.allow,/etc/at.deny控制。如果/etc/at.allow存在,则只有列在这个文件中的用户才能使用at系列的命令。如果/etc/at.allow文件不存在,则检查/etc/at.deny这个文件。只要不列在这个文件中的用户都可以使用at系列的命令。缺省的配置是/etc/at.deny,是一个空文件,这表明所有的用户都可以使用at系列的命令。
(4)范例
at -f work 4pm + 3 days
在三天后下午4点执行文件work中的作业。
at -f work 10am Jul 31
在七月31日上午10点执行文件work中的作业。
3.banner
banner:打印大标题。
banner在标准输出上打印高质量的标题,如果没有输入要打印的文字,则其等待从标准输入输入一行文字。其标题由"*"组成。由Mark Horton编写。
(2)部分参数说明
/usr/bin/banner [ -wn ]信息
-w宽度 输出宽度从131到n,n缺省为80列。
(3)注意事项
不能打印字符:< ,>,[,],\,^,_,{,},|,-。信息长度为10个英文字符,如果用空格分开字符串,还是连续打印字符串,两个字符串可以被括在引号(")中。这命名banner把这些字任串置于同一行中。
4.bash
(1)简介
bash:GNU Bourne-Again Shell
自由软件基金会(Free Software Foundation Inc)拥有bash版权。
bash是Linux下的许多命令解释器中的一个,同sh兼容,并且包含了ksh和csh中一些有用的特性。遵从IEEE Posix Shell and Tools specification(IEEE Working Group 1003.2)。
(2)部分参数说明
bash [参数] [文件名]
-c字符串:若用-c参数,则bash从字符串中读入命令,如果字符串后还有变量就被设定为从$0开始的位置参数。
-i:若用-i参数,则bash是交互的。
-s:若用-s参数,则bash从标准输入中读入命令(在执行完-c带的命令之后。)直到输入exit。
-:单一的-符号表明参数执行完毕,并且屏蔽此后所跟参数,后面的所有变量都被看作是文件名。
-norc:如果hash是交互的,则不执行个人初始化文件:-/.bashrc,如果bash作为sh来运行,这个参数缺省是关闭的。
-noprofile:不执行系统范围的启动文件/etc/profile也不执行个人的启动文件-/.bash_profile,-/.bash_login或-/.profile,缺省情况下,bash作为登录的shell时以这些文件作为启动文件。
--refile文件名:如果bash是交互的,则以此文件作为bash的启动文件。替代-/.bashrc。
-version:在bash开始时显示此bash的版本号。
-quiet:不显示版本号和其他信息,这是缺省值。
-login:激活bash,伪装为登录shell。
-nobraceexpansion:不执行大括号扩展。
-nolineediting:在交互状态下不使用GNU的readline库去读取命令。即取消了命令行编辑功能。
-posix:改变bash的行为,使其符合Posix 1003.2规定的标准。
(3)注意事项
bash过于庞大,运行速度也太慢,并且不符合Posix标准。在某些情况下aliases
模糊不清。
(4)范例
lark:->bash -version
GNU bash, version 1.14.7(1)
bash $
显示此bash的版本号,并进入一个交互的shell。
5.bc
(1)简介
bc:一个简单的计算器。
作者为Philip A.Nelson.,bc是一个支持交互式的表达式计算的语言,其格式类似于C语言,在命令行上还可以加载一个标准的数学库。
(2)部分参数说明
bc [-lwsqv] [长选项] [文件名…]
-l和--mathlib:定义标准数学库。
-w和--warn:给出对不符合Posix标准的扩展功能的警告。
-s和--standard:变成符合Posix标准的bc。
-q和--quiet:不输出GNU bc的欢迎信息。
-v和--version:输出版本号和版权信息后退出。
(3)范例
lark:->bc
bc 1.04
Copyright (c) 1991, 1992, 1993, 1994, 1997 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type 'warranty'.
1+2*3.1415926
7.2831852
quit
lark:->
6.cal
(1)简介
cal:显示一个日历。
最早出现在Version 6 AT&T UNIX。cal在标准输出上显示日历。对于查询某年某月某日的用户来说是十分有用的。
(2)部分参数说明
cal [-jy] [月[年]]
-j:显示julian日期(日子是从1月1日开始累加的)
-y:显示今年的日历
年份必须写全,"cal 89"是错误的,应该为"cal 1989"。
月份必须是在1~12之间的数字,或英文的全称(过少无法区分)。不加参数则输出当前月的日历。
(3)范例
lark:-> cal 3 1998
March 1998
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
lark:->
但是1752年9月4 日历就非常奇怪,少了13天。
lark:->cal 3 1998
September 1752
Su Mo Tu We Th Fr Sa
1 2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
这是因为这个月开始整个大不列颠帝国(美国那时还是英国殖民地),从凯撒历史更换成现行的公历。[注:教皇格列高里十三世(Pope Gregory XIII)于1582年改革历法,可是大不列颠帝国直到1752年才换用新的公历。]
7.cat
(1)简介
cat:连接文件并打印到标准输出。
cat是CA Tenate的缩写,常常用来显示文件,类似于DOS下的TYPE命令。
(2)部分参数说明
cat [-benstuvAET] [--number] [--number-nonblank]
[--squeeze-blank] [--show-nonprinting] [--show--ends]
[--show-tabs] [--show-all] [--help] [--version] [文件名…]
-b,--number-nonblank:计算所有非空输出行,从第一行开始计数。
-e:作用等于-vE。
-n:--number:计算所有输出行,从第一行开始计数。
-s,--squeeze-blank:将所有连续的多个空行替换为一个空行。
-t:作用等于-vT。
-u:没有作用,只是为了某些UNIX的兼容性而设。
-v,--show-nonprinting:显示除换行符和TAB以外的所有控制符。使用^作标志,并在字符的高位放置Escape控制符。
-A,--show-all:作用等于-vET.
-E,--show-ends:在每一行的结尾加上字符"$"。
-T,--show-tabs:显示控制符TAB为'^I'。
--help:输出帮助信息并退出(返回值为非零值)。
--version:输出版本信息并退出。
(3)范例
lark:->cat -b -E.lessrc 显示文件.lessrc的内容
1 back-line $ $
3 forw-scroll $ $
4 back-scroll $
5 goto-line $
6 goto-end $
lark:->cat myfile1 myfile2 >tmp 将文件myfile1,myfile2连结起来输出到文件tmp
8.cd
(1)简介
cd:改变当前目录。
(2)部分参数说明
cd目录名
如果不加目录名,则回到用户的根目录,此外用户必须拥有该目录的权限。进入另外一个用户的目录只要cd -用户名即可。
(3)范例
lark:/tmp>cd id1 进入id1目录
lark:/tmp/id1>cd-chenxy 进入用户chenxy的目录
lark:-chenxy>
9.chgrp
(1)简介
chgr:改变文件的组。
(2)部分参数说明
chgrp [-Refv] [--recursive] [--changes] [--silent]
[--quiet] [--verbose] [--help] [--version]组文件名…
-c --changes:只有在文件的组确实改变时才进行详细说明。
-f --quiet --silent:不输出组不能改变的文件的错误信息。
-v --verbose:详细说明组的变化。
-R --recursive:改变本目录及其所有子目录的文件的组。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
组:要改变到的组可以是组号对应的数字;也可以是/etc/group文件中的组名。
文件名:以空格分开的要改变组所有权的文件列表,支持通配符。
如果用户不是该文件的属主或超级用户,则不能改变该文件的组。
(3)范例
lark:->chgrq -R book /opt/local/book/*.*
改变/opt/local/book/及其子目录下的所有文件的组为book。
10.chmod
(1)简介
chmod:改变文件保护,文件保护控制用户对文件的访问权,有三个安全级别,所有者级别,组访问级别,其他用户访问级别,在这三个级别中,又有三种权限:读(r),写(w),执行(x)。(用户可以ls-lg来观看某一文件的所属的group)对于文件来说读权限意味着可以看文件的内容,写文件可以修改或删除文件,执行权限则可以执行它(类似于DOS下的EXE,COM,BAT文件)。对于目录来说,读权限意味着可以查看目录下的内容,写权限意味着能在目录下建立新文件,并可以从目录中删除文件,执行权限意味着可以从一个目录转变到另一个目录。
(2)部分参数说明
chmod [-Rcfv] [--recursive] [--changes] [--silent]
[--quiet] [--verbose] [--help] [--version] 保护权限 文件名…
-c --changes:只有在文件的权限确实改变时才进行详细说明。
-f --silent -quiet:不输出权限不能改变的文件的错误信息。
-v --verbose:详细说明权限的变化。
-R --recursive:改变本目录及其所有子目录的文件的权限。
--help在标准输出上输出帮助信息并退出。
--version在标准输出上输出版本信息并退出。
保护权限:格式为[ugoa…][[+ - =] [r w x Xstugo…]…] […]
"ugoa"控制哪些用户对该文件的权限将被改变:(u)文件的所有者,(g)与文件所有者同组的用户(o)其他组的用户(a)所有用户,操作符"+"使用用户选择的权限被追加到每个目标文件。操作符"-"使得这些权限被撤销。"="使得目标文件只具有这些权限。"r w x Xstugo"选择新的属性。(r)读权限(w)写权限(x)执行权(或对目录的访问权)(X)只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x属性(s)同时设定用户或组ID(t)保存程序的文本到交换设备上(u)目标文件属主(g)目标文件属主所在组(o)其他用户。如果用数字来表示属性,则(0)没有权限,(1)执行权,(2)读权,(4)写权,然后将其相加,所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。
文件名:以空格分开的需要改变权限的文件列表,支持通配符。
(3)范例
lark->chmod a + x destfile 使所有用户对文件destfile有读写执行权
lark->chmod 644 destfile 使所有用户可以读文件destfile只有属主才能改变
11.chown
(1)简介
chown:改变文件的属主和组。
(2)部分参数说明
chown [-Refv] [--recursive] [--changes] [--help] [--ver-sion] [--silent] [--quiet] [--verbose] [用户] [: .] [组] 文件名…
-c --changes:只有在文件的属主确实改变时才进行详细说明。
-f --silent -quiet:不输出属主不能改变的文件的错误信息。
-v --verbose:详细说明属主的变化。
-R --recursive:改变本目录及其所有子目录的文件的属主。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
用户:可以是用户名或用户id。
组:可以是组名或组的id。
文件名:以空格分开的要改变权限的文件列表,支持通配符。
(3)范例
lark->chown dfbb:book destfile 将文件destfile的属主改成dfbb,组改成book
12.chsh
(1)简介
改变用户登录的shell。
作者Julianne Frances Haugh
(2)部分参数说明
chsh [-s 登录的shell] [用户名]
普通用户可以改变自己的登录shell,超级用户可以改变其他用户的登录shell,所有的shell必须是在/etc/shells文件中列出的shell,但是超级用户不受这个限制。如果用户的shell是一个受限制的shell则用户不能改变其登录shell。如果不加-s参数则chsh输出用户的当前登录shell并提示用户输入新shell的路径。改变shell时都需要输入用户的密码。
(3)范例
lark:->chsh
Password:
Changing the login shell for dfbb
Enter the new value, or press return for the default
Login Shell [/bin/csh]:/bin/tcsh
lark:->
13.clear
(1)简介
clear:清除屏幕(类似于DOS的cls)
(2)范例
lark->clear 清除屏幕,提示符被移动到左上角
14.compress
(1)简介
compress,uncompress, zcat:压缩,展开文件。
compress利用LZW原理来压缩文件,原文件将被替代为扩张名为.Z的新文件。
uncompree和zcat则被用来展开压缩文件。
(2)部分参数说明
compress [-f] [-v] [-c] [-V] [-b bits] [文件名…]
uncompress [-f] [-v] [-c] [-V] [-b bits] [文件名…]
zcat [-v] [文件名…]
-f :强制替代所有原文件,如果不加此参数且compress工作在前台则compress将提示用户,该参数对于压缩整个目录的文件特别有用。
-v:在压缩过程中输出每个文件的压缩比。
-c:将压缩结果输出到标准输出。
-V:输出版权信息。
-b bits:bits为9-16的数字,用来控制LZW的压缩深度。
文件名:以空格分开的要压缩的文件列表,支持通配符。
(3)范例
lark: ->compress -f -v -V destfile 压缩文件destfile
Based on compress.c, v 4.0 85/07/30 12:50:00 joe Release
Options: BITS=16
destfile: Compression:5.55% --replaced with destfile.Z
lark:->uncompress destfile.Z 还原文件destfile
lark:->
15.cp
(1)简介
cp:拷贝文件
(2)部分参数说明
cp[options] 源文件 目标文件
cp[options] 源文件…目标目录
Options:
[-abdfilprsuvxPR] [-S backup-suffix] [-V {numbered, existing, simple}] [--backup] [--no-dereference] [--force] [--interactive] [--one-file-system] [--preserve] [--recursive] [--update] [--verbose] [--suffix=backup-suffix] [--version-control={numbered, existing, simple] [--archive] [--parents] [--link] [--symbolic-link] [--help] [--version]
-a, --archive:在拷贝过程中保留尽可能多的源文件的结构和属性,同-dpR作用相同。
-b, --backup:给将要覆盖和删除的文件作备份。
-d, --no-dereference:只拷贝符号连接,而不拷贝其所指向的文件并在拷贝中保留原有的连接关系。
-f --force:删除已存在的目标文件。
-I, --interactive:在删除已存在的目标文件时给出提示。
-l, --link:用硬连接来代替非目录文件的拷贝。
-P, --parents:将给出路径的源文件连路径一起拷贝。
cp --parents a/b/c exist-ing_dir' copies
将文件a/b/c拷贝到exist-ing_dir/a/b/c。
-p, --preserve:保留源文件的属主,组,权限和时间标志。
-r,:整目录拷贝
-s, --symbolic-link:用建立符号连接来代替非目录文件的拷贝,除非目标文件也在当前目录不然所有源文件都是绝对路径(从"/"开始)。在不支持符号连接的系统上将给出出错信息。
-u, --update:如果非目录目标文件已存在具有相同或更新的修改时间则不拷贝。
-v,--verbose:在拷贝时输出每个文件的名称。
-x, --one-file-systme:从开始拷贝的文件开始跳过在不同文件系统上的子目录。
-R, --recursive整目录拷贝。
--help 在标准输出上输出帮助信息并退出。
--version 在标准输出上输出版本信息并退出。
-S, --suffixbackup-suffix:用于产生备份文件的后缀,此选项修改由环境变量SIMPLE…BACKUP…SUFFIX设定的后缀,如果都没有定义则缺省是"-"。
-V, --version-control {numbered, existing, simple}:备份产生的类型。此选项修改由环境变量VERSION…CONTROL设定的备份产生的类型,如果都没有定义则缺省是"'existing"其有效选项是:
't' or 'numbered'总是建立编号备份。
'nil' or 'existing'只为已经有编号备份的文件建立编号备份,其他文件作单一备份。
'never' or 'simple'只建立单一备份。
(3)范例
lark:->cp sourcefile destflie 拷贝文件sourcefil到文件destfile。
lark:->cp */tmp 拷贝当前目录下所有文件到/tmp目录。
lark:->
16.cpio
(1)简介
cpio:向存档中拷贝文件或从存档中拷贝文件。
(2)部分参数说明
cpio {-o|--create} [-0acvABLV] [-C bytes] [-H format] [-M message] [-O [ [user @]host:] archive] [-F[[user@]host:]archive] [--file=[[user@]host:]archive] [--format=format] [--message=message] [--null] [--restet-access-time] [--verbose] [--dot] [--append] [--block-size=blocks] [--dereference] [--io-size=bytes] [--quiet] [--force-local] [--help] [--version] < name-list [>archive]
cpio {-I |--extract}[-bcdfmnrtsuvBSV] [-C bytes] [-E file] [-H format] [-M message] [-R [user][: .][group]] [-I [[user@]host:]archive] [-F [[user@]host:]archive] [--file=[[user@]host:]archive] [--make-directories]
[--nonmatching] [--preserve-modification-time] [--numericuid-gid] [--rename] [--list] [--swap-bytes] [--swap] [--dot] [--unconditional] [--verbose] [--block-size=blocks] [-swap-halfwords] [--io-size=bytes] [--pattern-file=file] [--format=format]
[--owner=[user][: .] [group]] [--no-preserve-owner] [--message=message] [--force-local] [no-absolute-filenames] [--sparse] [--only-verify-crc] [--quiet] [--help] [--version] [pattern…] [<archive]cpio {-p|--pass-through} [-0adlmuvLV] [-R [user][: .] [group]] [--null][--resct-access-time] [--make-directories] [--link] [--puiet] [--preserve-modificationtime] [--unconditional] [--verbose] [--dot] [--derefer-ence] [--owner=[uwer][: .] [group]] [--no-preserve-owner] [--sparse] [--help] [--version] destination-directory <name-list
cpio有三种模式:
·copy-out模式:向存档文件中拷贝文件,从标准输入给出的文件列表(这个文件列表可以用find命令来产生)读取源文件名,向标准输出写入存档文件。
·copy-in模式:从存档文件中拷贝文件,从标准输入读入存档文件,可以用通配符来确定要拷贝的文件名,如果不给出文件名则拷贝所有文件。
·copy-pass模式:将文件从一个目录拷贝到另外一个目录,实际上是把copy-out和copy-in模式结合起来,只不过不真的用一个存档文件,从标准输入给出的文件列表
读取源文件名,目标目录作为一个不带"-"的参数给出。
cpio支持下列文件格式:
binary,old ASCII,new ASCII,crc,HPUX binary,HPUX old ASCII,old tar,and POSIX.1 tar
缺省的cpio产生binary格式的存档文件。
-O, --null:在copy-out和copy-pass模式,文件列表由空字符结束而不是由换行结束。
-a, reset-access-time:在读取文件时重置文件的时间。
-A, --append:附加到已有的存档文件后,只工作在copy-out模式,存档文件必须是由-O,-F指定的磁盘文件。
-b, --swap:在copy-in模式既交换bytes又交换halfwords等于-sS。
-B:将I/O的块大小改变为5120bytes缺省是512bytes。
--block-size=BLOCK-SIZE:将I/O的块大小改变为IO-SIZE bytes。
-d, --make-directories:如果需要就创建目录。
-E FILE, --pattern-fil=FILE:在copy-in模式从文件FILE中读出要解开的文件列表。
-f, --nonmatching:只拷贝文件列表中没有文件。
-F, --file=archive:存档文件的文件名,如果目标设备是另外一台机器上的磁带机则用"HOSTNAME:文件名"来处理,cpio自动加上username@(用户必须在那台机器的-/.rhosts文件中添加本机器)。
--forc-local:在使用-F,-I,-O选项时即使文件名中有":"号也把它作为一个本地文件来处理
-H FORMAT, --format=FORMAT:存档文件使用FORMAT(bin, odc, newc, crc, tar, ustar, hpbin, hpodc)格式。
-I, --extract:使用copy-in模式。
-I archive:等同于 -F, --file=archive。
-k:无用(为某些兼容性而设)。
-l, --link:如果可能用连接文件代替拷贝文件。
-L, --dereference:对于文件连接直接拷贝文件而不是连接。
-m, --preserve-modification-time:产生文件时恢复文件的修改时间。
-M MESSAGE,--message=MESAGE:在备份媒体用完时给出提示信息MESSAGE(中间用%d给出卷标)。
-n, --numeric-uid-gid:在文件列表时用数字的UID和GID代替名字。
--no-absolute-filenames:在copy-in模式用相对路径代替绝对路径。
--no-preserve-owner:在copy-in和copy-pass模式不改变文件的属主在恢复时恢复这些属主,本参数对于普通用户是缺省选项。
-o, --create:使用copy-out模式。
-O archive:等同于-F, --file=archive。
only-verify-crc:在读CRC格式的存档文件时只检查每个文件的CRC而不解开文件。
-p, --pass-through:使用copy-pass模式。
quiet:不输出已拷贝的块的数目。
-r, --rename:交互式地给文件改名。
-R [user] [: .] [group], --owner [user] [: .] [group] :在copy-out和copy-pass模式将所有文件的属主和组改变成设定的用户和组(只有超级用户才能使用)。
-sparse:在copy-out和copy-pass模式将小文件写入一个大块时用零来填补剩余部分。
-s, --swap-bytes:在copy-in模式交换bytes。
-S, --swap-halfwords:在copy-in模式交换halfwords。
-t, --list:s'输出输入的文件列表。
-u, --unconditional:替代所有同名的现存文件而不给出提示。
-v, --verose:列出正在处理的文件给出"ls -1"格式的文件列表。
-V --dot:在处理每个文件时输出"."。
--version:输出版权信息并退出。
(3)范例
lark:->cpio -0 <filelist> d
cpio: sourcefile: truncating inode number
1 block
lark:->
从文件filelis中读出源文件列表,读入源文件并写入存档文件d。
lark:->cpio -i -v -F d
sourcefile
1 block
lark:->
从存档文件d中拷贝出文件。
17.crontab
(1)简介
crontab:操作每个用户的守护程序和该执行的时间表。
作者 Matthew Dillon
(2)部分参数说明
crontab file [-u user]:用指定的文件替代目前的crontab。
crontab - [-u user]:用标准输入替代目前的crontab。
crontab -l [ user]:列出用户目前的crontab。
crontab -e[ user]:编辑用户目前的crontab。
crontab -d[ user]:删除用户目前的crontab。
crontab -c[ user]:指定crontab的目录。
crontab文件的格式:M H D m d cmd
M:分钟(0-59)
H:小时(0-23)
D:天(1-31)
m:月(1-12)
d:一星期内的天(0-6,0为星期天)
cmd:要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量。
下面是一个例子文件:
# MIN HOUR DAY MONTH DAYOFWEEK COMMAND
# 每天早上6点
10 6 * * * date
# 每两个小时
0 */2 * * * date
# 晚上11点以早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 14 4 * mon-wed date
# 1月份日早上4点
0 4 1 jan * date
(3)范例
lark:->crontab -1 列出用户目前的crontab。
# MIN HOUR DAY MONTH DAYOF WEEK COMMAND
10 6 * * * date
0 */2 * * * date
0 23-7/2, 8 * * * date
lark:->
18.csh
1.简介
见tcsh
19.cut
(1)简介
cut:将文件中的每一行都去掉一个域。
(2)部分参数说明
cut {-b byte-list, --bytes=byte-list} [-n] [--help]
[--version] [file...]
cut {-c character-list, --characters=character-list}
[--help] [--version] [file...]
cut {-f field-list, --fields=field-list} [-d delim] [-s]
[-delimiter=delim] [--only-delimited] [--help] [--veresion] [file...]
byte-list,character-list,和field-list是数字或一个区间,最小是1,区间格式为"n-m",n为开始的数字,m为结束的数字,"n-"意味着行尾。
-b, --bytes bytd-list:只输出在byte-list区间的bytes,TABs和backspaces都占1byte。
-c, --characters character-list:只输出在区间character-list内的字符TABs和backspaces都占一个字符。
-f, --fields field-list:只输出在field-list内的域。
-d, --delimiter delim:指定在-f参数中的field-list的分割符(为delim中的第一个字符,缺省为TAB)。
-n:不分割多byte的字符。
-s, --only-delimited:在-f参数中不输出没有域分割符的行。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例
lark:->cut sourcefile
total 0
-rw-r--r-- 1 fangh users 0 Aug 23 21:46 destfile
lark:->cut -c 5-20 sourcefile
1 0
r--r-- 1 fangh
lark:->
20.date
(1)简介
date:打印或设置系统日期和时间。
(2)部分参数说明
date [-u] [-d datestr] [-s datestr] [--utc] [--universal]
[--date=datestr] [--set=datestr] [--help] [--version]
[+FORMAT] [MMDDhhmm[[CC]YY][.ss]]
+FORMAT:控制如何显示日期
指令:%:%号
n:新行
t:TAB
时间域:
%H 小时(00..23)
%I 小时(01..12)
%k 小时(0..23)
%1 小时(1..12)
%M 分钟(00..59)
%p AM或PM
%r 12小时(hh:mm:ss[AP]M)
%s 从1970-01-01 00:00:00 UTC开始的时间
%S 秒(00..61)
%T 24小时(hh:mm:ss)
%X 时间表示(%H:%M:%S)
%Z 时区(如EDT)如没有指定时区则不显示
日期域:
%a 缩写形式的星期名(Sun..Sat)
%A 星期名(Sunday..Saturday)
%b 缩写形式的月名(Jan..Dec)
%B 月名(January..December)
%c 日期和时间(Sat Nov 04 12:02:33 EST 1989)
%d 每个月的第几天(01..31)
%D 日期(mm/dd/yy)
%h 等同于%b
%j 一年的第几天(001..366)
%m 月份(01..12)
%U 一年中的第几个星期,星期天为星期的第一天(00..53)
%w 每个星期的第几天(0..6)0为星期天
%W 一年中的第几个星期,星期一为星期的第一天(00..53(00..53))
%x 日期(mm/dd/yy)
%y 年份的后两个数字(00..99)
%Y 年份(1970...)
[MMDDhhmm[[CC]YY][.ss]]
MM 月份
DD 日期
hh 小时
mm 分钟
CC 年份的前两位(可选项)
YY 年份的后两位(可选项)
ss 秒(可选项)
只有超级用户才有权限设置系统时间(启动时在CMOS中读出)。
-d datestr, --date dates :显示datestr中指定的日期和时间。
-s datestr, --set datestr :设定datestr中指定的日期和时间。
-u, --universal:显示或设定格林威治时间(缺省为本地时间)。
-help:在标准输出上输出帮助信息并退出。
-version:在标准输出上输出版权信息并退出。
(3)范例。打印两天前的时间:
lark:->date --date '2 days ago'
Fri Aug 22 20:20:08 CDT 1997
lark:->
打印月份和日期:
lark:->date ' + % B % d'
August 24
lark:->
21.dd
(1)简介
dd:拷贝一个文件(并可以同时转化它)。
(2)部分参数说明
dd [--help] [--version] [if=file] [of=file] [ibs=bytes]
[obs=bytes] [bs=bytes] [cbs=bytes] [skip=blocks]
[seek=blocks] [count=blocks]
[conv={ascii, ebcdic, ibm, block, unblock, lease, ucase, noerror, notrunc,sync}]
if=file:以file作为源文件以代替标准输入。
of=file:以file作为目标文件一代替标准输出。
ibs=bytes:一次读bytes个byte。
obs=bytes:一次写bytes个byte。
cbs=bytes:一次读写bytes个byte,这个参数将改写bit和obs的值。
skip=blocks:从开头忽略blocks个ibs大小的块。
seek=blocks:从开头忽略blocks个obs大小的块。
count=blocks:只拷贝blocks个ibs大小的块。
conv=conversion[,conversion...]:转换文件,可转换的格式计算有:
ascll, ebcdic, ibm, block, unblock, lcase, ucase, swab, noerror, notrunc, sync
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例。将文件sourcefile拷贝到文件destfile。
lark->dd if =sourcefile of=destfile
0 + 1 records in
0 +1 records out
lark:->
22.df
(1)简介
df:报告磁盘剩余空间。
(2)部分参数说明
df [-aikPv] [-t fstype] [-x fstype] [--all] [--inodes]
[--type=fstype] [--exclude-type=fstype] [--kilobytes]
[--portabiliry] [--print-type] [--help] [--version] [file-name. . .]
-a, --all:列出BLOCK为零的文件系统缺省是不列出。
-i, --inodes:用inode使用状况来代替block使用状况。
-k, --kilobytes:用1K为单位来输出block(缺省是512bytes)。
-P, --portability:使用POSIX格式输出。
-T, --print-type:输出每个文件系统的类型。
-t, --type=fstype:只输出列在fstype中的类型的文件系统。
-x, --exclude-type=fstype:只输出不在fstype中的类型的文件系统。
-v:无用,只是为了同SYSTEM V版本的df兼容。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例
lark:->df -a -T
Filesystem Type 1024-blocks Used Avaiable Capacity Mounted on
/dev/hdal ext2 497667 335214 136751 71% /
none proc 0 0 0 0% /proc
/dev/hda1 ext2 2454879 105267 2222699 5% /home
/dev/hda2 ext2 995147 49603 89413 5% /usr/local
lark:->
23.diff
(1)简介
diff:比较两个文件的不同。
(2)部分参数说明
diff [选项] 源文件 目标文件
-a:将所有文件当作文本文件来处理。
-b:忽略空格造成的不同。
-B:忽略空行造成的不同。
-q --brief:只报告何处不同,不报告具体信息。
-c:使用纲要输出格式。
-e --ed:输出ed可以编辑的格式。
-f:输出同-c类似的反序格式。
-H:利用试探法加速对大文件的搜索。
-i:忽略大小写的变化。
-l --paginate:用pr对输出分页。
-n --rcs:输出RCS格式。
-r --recursive:比较目录时比较所有子目录。
--report-identical-files -s:两文件相同才报告。
-v --version:在标准输出上输出版本信息并退出。
常常利用diff来产生补丁程序(patch)。
(3)范例。比较destfile和sourcefile:
lark:->diff sourcefile destfile
1,2cl
< total 0
< -rw-r--r-- 1 fangh users 0 Aug 23 21:46 filelist
---
> ./sourcefile
lark:->
24.dialog
(1)简介
用来在shell编程中产生对话框。作者:John Gatewood Ham。
(2)范例
ark:-> dialog --title "test" --yesno "this is a test" 7 40
lqqqqqqqqqqqqqqqq test qqqqqqqqqqqqqqqqk
x this is a test x
x x
x x
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
x <Yes> <No> x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
lark.->
(1)简介
du:报告磁盘空间使用情况
(2)部分参数说明
du[-abcklsxDLS] [--all] [--total] [--count-links] [--sum-marize]
[--bytes] [--kilobytes] [--one-file-system]
[--separate-dirs] [--dereference] [--dereference-arge]
[--help] [--version] [filename...]
-a , --all:显示文件总和。
-b, --bytes:以byte为单位输出所占空间大小。
-c, --total:在处理完所有参数后给出所有这些参数的总计。
-k ,--kilobytes:以kilobytes为单位输出所占空间大小。
-l, --count-links:统计所有文件的大小即使它已经在另一个连接中被统计过了。
-s --summarize:对于每个参数只显示总和。
-x, --one-file-system:忽略不在本文件系统上的目录。
-D, --dereference-args:不统计是命令行的话参数的符号连接的文件。
-L, --dereference:不统计符号连接的文件。
-S, --separate-dirs:单独计算每个目录的大小,不包括子目录的大小。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例
lark:->tmp>du
1 ./.X11-unix
15274 ./.data
4 ./.id4
15293 .
lark:/tmp>
26.echo
(1)简介
echo:显示一行文本。
(2)部分参数说明
echo [-ne] [字符串. . .]
echo {--help, --version}
-n :不输出新行。
-e:使echo可以输出下列ESC字符;
\a 警告(响铃)。
\b 退格。
\c 在行尾不另起一行。
\f 换页。
\n 换行。
\r 回车。
\t 制表符。
\V 垂直制表符号。
\ \ 反斜杠。
\ nnn 字符的八进制码是nnn。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
注意大多数shell内建echo命令,上述参数只对/usr/bin/echo起作用。
(3)范例
lark:->/bin/echo -e just \\ wait
just \ wait
lark:->
27.ed
(1)简介
ed red:文本行编辑器。
(2)部分参数说明
ed [-] [-Gs] [-p字符串] [文件名]
red [-] [-Gs] [-p字符穿] [文件名]
-:在使用e,r,w,q和!命令时不输出信息。
-G:禁止向后一致性,作用于命令'G','V','f','l','m','t',和'!!'。
-s:禁止诊断,一般当ed的输入是一个脚本文件时使用该项。
-p字符串:以该字符串为提示符。
文件名:要编辑的文件名。
(3)范例
lark:->ed .lessrc
114
wq
114
lark:->
28.egrep
(1)简介
见grep
29.env
(1)简介
env:在修改过的环境中运行程序,运行完毕后不影响原环境设置。
(2)部分参数说明
env [-] [-1] [-u name] [--ignore-environment]
[--unset=name] [help] [--version][name=value]...[命令
[参数...]]
-u, --unset name:从原环境中删除变量(name为变量名)。
-, -I, --ignore-environment:开始一个空环境,忽略原环境的所有设置。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例
lark:->env - ls
destfil destfile sourcefile
lark:->
30.expand
(1)简介
expand:将文件中的TAB转换为空格并输出到标准输出。
(2)部分参数说明
expand [-tab1[,tab2[, . . .]]] [-t tab1[,tab2[, . . .]]] [-i]
[--tabs=tab1[,tab2[, . . .]]] [--initial] [--help] [--ver-
sion] [文件名. . . ]
-,,-t,--tabs tab1[,bab2[, . . .]]:如果只有一个tab1,则将TAB转化为tab1个空白(缺省为8)如果有tab2,tabe. . .则将第一个TAB转化为tab1个空格,第二个TAB转化为tab2个空格,没有指出的全部转化为一个空格。
-e, --initial:只转化用来分开两个非空格和TAB字符的TAB为空格。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例
lark:->expand test
abc
lark:->
31.fdformat
(1)简介
fdformat:低级格式化一张软盘。
作者:Werner Almesberger
(2)部分参数说明
fdformat [-n] 设备
支持的设备格式有:
/dev/fd0d360 (minor=4)
/dev/fd0h1200 (minor=8)
/dev/fd0D360 (minor=12)
/dev/fd0H360 (minor=12)
/dev/fd0D720 (minor=16)
/dev/fd0H720 (minor=16)
/dev/fd0h360 (minor=20)
/dev/fd0h360 (minor=24)
/dev/fd0H1440 (minor=28)
/dev/fd1d360 (minor=5)
/dev/fd1h1200 (minor=9)
/dev/fd1d360 (minor=13)
/dev/fd1H360 (minor=13)
/dev/fd1D720 (minor=17)
/dev/fd1H720 (minor=17)
/dev/fd1h360 (minor=21)
/dev/fd1h720 (minor=25)
/dev/fd1H1440 (minor=29)
(2)部分参数说明
-n:在格式化时不校验
32.fgrep
(1) 简介
见 grep
33.file
(1)简介
file:探测文件类型。
(2)部分参数说明
file [-vezL] [-f namefile] [-m magicfiles] 文件名...
-v:在标准输出上输出版本信息并退出。
-m magicfiles:指定用来代替缺省幻数文件(/etc/magic)的新幻数文件。
-z:探测压缩过的文件。
-c:输出正在处理的幻数文件的分析表格,常同-m参数联合使用来测试新幻数文件。
-f namefile:从文件namefile中读取要分析的文件名列表。
-L:允许符号连接。
文件名:要分析的文件名。
(3)范例
lark:/tmp>file*
destfile: ASCII text
clm.rc.OLD: English text
portnum:
rc.inetI.OLD:Bourne shell script text
lark:/tmp>
34.find
(1)简介
find:用来在大量目录中搜寻特定文件的强有力的工具。
(2)部分参数说明
find [路径. . .] [匹配表达式]
路径. . .:要搜寻的目录(可以是多个目录,用空格分开)。
匹配表达式:要搜寻的文件的匹配标准或说明。
-name文件名:告诉FIND要找什么文件;要找的文件包括在引号中(支持通配符*和?)。
-perm模式:匹配所有符合指定数字模式值的文件,如果模式前面是"-"号则搜寻所有除这个模式以外的所有模式。
-size n匹配大小为n个block的文件(若n后有nK大小的文件)。
-user用户名:搜寻所有属主为用户名(名称和ID都可以)的文件。
-group组名:搜寻所有组为组名的文件。
-atime n组名:搜寻所有组为组名的文件。
-atime n:搜寻在前n天访问过的文件。
-mtime n:搜寻在前n天修改过的文件。
-exec文件:对于每个匹配文件执行命令,标志{}用于指定命令执行时文件。
名出现的地方,命令必须中止于符号"\;"。
-print:输出搜寻结果到标准输出。
(3)范例
lark:/>find ./ -name "passwd" -print
./user/bin/passwd
./home/ftp/etc/passwd
./etc/passwd
lark:/>
35.fortune
(1)简介
fortune:输出一段有趣的谚语或格言
作者:Ken Arnold
(2)范例
lark:/>fortune
"I must have a prodigious quantity of mind; it takes me as much as a
week sometimes to make it up."
--Mark Twain, "The Innocents Abroad"
lark:/>
36.grep
(1)简介
grep,egrep,fgrep:在文件中搜寻匹配的行并输出。
(2)部分参数说明
grep[-[[AB]]num][-[CEFGVBchilnsvwx]][-e]正则表达式
|-ffile] [文件名. . . ]
-A num:输出匹配行后的num行
-B num:输出匹配行前的num行
-V:输出版权信息
-f file:从文件中读入表达式
-q:不输出
-s:不输出错误信息
grep=Global Regular Expression Print, grep来自ed的搜寻所有符合某表达式的命令:"g/re/p",其中re代表规则表达式。
rgrep是fixed grep,只能查询固定串。
egrep是extended grep扩展查询,支持某些增强的表达式。
(3)范例。在文件services中查找含有ftp的行。
lark:/etc>grep ftp services
ftp 21/tcp
tftp 69/udp
sftp 115/tcp
lark:/etc>
37.gzexe
(1)简介
gzexe:将可执行文件压缩成较小的可执行文件(类似于DOS下的PKLITE,LZEXE)。
(2)部分参数说明
gzexe[文件名. . . ]
-d解压缩
本命令对那些磁盘空间较小的用户特别有用。
(3)范例
lark:->ls -la cat
-rwxr-xr-x 1 fangh users 20916 Aug25 21:33cat*
lark:->gzexe cat
cat:
lark:->ls-la cat
-rw xr-xr-x 1 fangh users 11283 Aug 25 21:33 cat*
lark:->
38.gzip
(1)简介
gzip,gunzip,zcat:压缩或展开文件。
(2)部分参数说明
gzip[-acdfhlLnNrtv V19][-S suffix] [文件名 . . .]
gunzip[-acfhlLnNrtvV][-S suffix][文件名. . .]
zcat[-fhLV][文件名. . . ]
-d --decompree --uncompress:解压。
-h --help:显示帮助信息并退出。
-t --test:检验压缩文件。
-V --version:显示版权信息并退出。
-v:输出压缩信息。
-# --fast --best:#为1(fast)-9(best)数字越小速度越快,但压缩比越小,缺省为6。
-c --stdout --to-stdout:压缩结果输出到标准输出,如不加-c参数,则gzip将源文件压缩为.gz文件并删除源文件。
(3)范例
lark:->gzip -v sourcefile
sourcefile: 15.2% --replaced with sourcefile.gz
lark:->
39.head
(1)简介
head:显示文件的前几行。
(2)部分参数说明
head[-c N[bkm]][-n N][-qv][--bytes=N[bkm]][--lines=N]
[--quiet][--silent][--verbose][--help][--version]
[文件名. . .]
head[-N bcklmqv][文件名. . .]
-c N, --bytes N:输出文件的前N个字节。
-n N, --lines N:输出文件的前N行。
-q, --quiet, --silent:不输出文件名的信息。
-v, --verbose:输出文件名的信息。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例。输出文件.lessrc的第一行。
lark:->head -n 1 .lessrc
forw-line
lark:->
40.hostid
(1)简介
hostid:显示或设置系统的HOSTID。
作者:Mitch Dsouza.
(2)部分参数说明
hostid [-v] [十六进制的ID]
-v:给出十进制和十六进制的ID。
对于每一台机器,其HOSTID是唯一的,只有超级用户才能更改。
(3)范例
lark:->hostid -v
Hostid is 650780800 (0×26ca2080)
lark:->
41.id
(1)简介
id:显示当前用户的用户名和组。
(2)部分参数说明
id [-a]
-a 参数用在支持一用户多组的系统上。
id在取得用户和user id和group id后从文件/etc/passwd,/etc/group中查出用户的用户名和组名。
(3)范例
lark:-> id
uid=1000(fangh)gid=100(users)group=100(users)
lark:->
42.join
(1)简介
join:从两个文件中取出相同的行,按照指定的关键字为匹配的两行连接成一行。
(2)部分参数说明
join [-a 1|2][-v 1|2][-v empty-string][-o fieldlist. . .]
[-t char][-j[1|2]field] [-1 field] [-2 field]
文件1文件2
join{--help, --version}
-a file-number:文件1或2中不匹配的行也输出,file-number可以是1或2。
-e string:用字符串string代替输出的空域。
-1, -j1 field:在文件1的第field个域连接两个文件。
-2, -j2 field:在文件2的第field个域连接两个文件。
-j field:等于是-1 field -2 field。
-o field-list. . .:按照field-list中的格式构造输出行。
-t char:用字符char作为输入输出域的分割符。
-v file-number:为文件file-number的每一个不匹配的行打印一行代替通常的输出。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例
lark:->join testfile1 testfile2
this is testfile is testfile
lark:->
43.kill
(1)简介
kill:中止一个进程
(2)部分参数说明
kill [-a信号|-p] [-a]进程号. . .
kill -l [信号]
kill向指定的进程发出特定的信号,如果没有指定信号则送出TERM信号,TERM信号将杀死没有捕捉到这个信号的进程。对于某些进程可能要使用KILL(9)信号强制杀死。例如:kill -9 11721。将强制杀死进程11721。大多数SHELL内建kill命令。
进程号. . :指定要杀死的进程列表,每个进程号可以是一个进程的id或者进程名。
-s:指定要送出的信号,信号可以由数字给出,也可以是信号名。常用的信号有KILL(不能被进程忽略),HUP。
-P:只打印进程的ID不送出信号。
-I:打印所有信号列表(在/usr/include/linux/signal.h中定义)。
(3)范例。杀掉进程11721:
lark:->ps
PID TTY STAT TIME COMMAND
11668 pl s 0:00 -tcsh
11721 pl T0:00 cat
11737 pl R 0:00 cat
11737 pl R 0:00 ps
lark:!>kill 11721
[1] Terminated cat
lark:->
44.last
(1)简介
last:显示过去多少个用户或终端登录到到机器。
(2)部分参数说明
last:[-数目][-f文件名][-t tty] [-h 节点名][-i IP地址][-l][-y][用户名. . .]
last从文件/var/log./wtmp中读出用户登录和离开的所有记录,并且可以查询某个用户登录的情况,某个节点登录的情况,某个tty登录的情况。例如"last root -t console"将列出所有root用户在控制台上登录的情况,如果不加参数则last将显示出所有用户登录的情况。
-数目:确定显示多少行。
-f 文件名:用指定的log文件代替缺省的/var/log/wtmp文件。
-h节点名:只显示从某个节点登录的用户。
-l:用IP地址显示远端地址。
-t tty:只显示在特定tty上登录的用户。
-y:输出日期加上年份。
(3)范例。显示过去3次用户fangh登录的情况:
lark:->last -3 fangh
fangh ttyp1 csun01.ihep.ac.c Tue Aug 26 18:46 still logged in
fangh ttyp2 csun01.ihep.ac.c Mon Aug 25 22:32 - 23:14 (00:41)
fangh ttyp2 csun01.ihep.ac.c Mon Aug 25 19:58 - 21:59 (02:01)
lark:->
45.less
(1)简介
less:相对于more,用来按页显示文件。
作者:Mark Nudelman
(2)部分参数说明
less -?
less --help
less- V
less --version
less [-[+]aBcCdeEfgGiImMnNqQrsSuUVwX]
[-b bufs] [-h lines][-j line][-k keyfile]
[-{oO}logfile][-p pattern][-P prompt][-t tag]
[-T tagsfile] [-x tab] [-y lines][-[x]lines]
[+[+]cmd][--][文件名]. . .
less类似于more,但是less允许向前或向后浏览文件。less不全部读入文件后才显示,所以在显示大文件时它的显示速度比vi之类的编辑器快。less采用termcap,所以它支持的终端类型非常广泛。
-\? --help:列出less的所有操作命令。
-a:查询时从当前屏幕的最后一行之后开始查询。
-bn:指定less为每一个文件开nK的缓冲区。
-B:当less的输入是从管道中来的时候,其缓冲区的大小是字典设置 ,如果加上本选项,则使用由-bn指定大小的缓冲区,但这有可能丢失前面输入的内容。
-c:从上往下刷屏,缺省的是从下往上刷屏。
-C:同-c,只是刷屏之前先清屏。
-d:less在哑终端上要输出错误信息,此参数强制less继续执行刷屏滚屏之类的命令。
-e:当less第二次到达文件末尾时则退出,缺省的退出方式是命令"q"。
-E:当less第一次到达文件末尾时就退出。
-f:打开非正常文件(一个目录,或一个设备文件)。
-hn:指定回滚的最在行数。
-I:搜寻时忽略大小写。
-m:显示已经显示的文件百分比。
-q -Q:不输出响铃符号。
-r:显示控制符。
--version -V:显示版权信息。
(3)范例。显示test文件:
lark:-> less test
46.ln
(1)简介
ln:在文件间建立连接
(2)部分参数说明
ln [参数]源文件[目标文件]
ln[参数]源文件. . .dierectory
参数:
[-bdfinsvF][-s backup-suffix][-V{numbered, existing, simple}]
[--version-control={numbered, existing, simple}]
[--backup][--directory][--force][--interactive]
[--no-dereference][--symbolic][--verbose][--suf-
fix=backup-suffix][--help][-version]
-b, --backup:为删除的文件建立备份。
-d, -F, --directory:允许超级用户建立硬连接。
-f, --force:删除目标文件。
-i, interactive:在删除文件时给出提示。
-n, --no-dereference:如果目标文件是一个一个目录的符号连接则替代此符号连接,而不是在这个目录中作连接。
-s, --symbolic:用符号连接代替硬连接。
-v, --verbose:输出每个要连接的文件的文件名。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
另外对链接文件做改变属性的动作是没有意义的,因为只有它们链接到的文件的属性才是文件的真正属性。
(3)范例。将文件sourcefile连接到文件test:
lark:-> ln -s sourcefile test
lark:->ls -la test
lrwxrwxrwx 1fangh users 10 Aug 26 20:36 test -> sourcefile
lark:->
47.logname
(1)简介
logname:输出用户的登录时的用户名。
(2)范例
lark:->logname
fangh
lark:->
48.ls
(1)简介
ls,dir, vdir:列出目录下的文件(类似于DOS下的DIR命令)。
(2)部分参数说明
ls [-abcdefgiklmnopqrstuxABCFGLNQRSUX178] [-w cols] [-T cols] [-I pattern] [--all] [--escape] [--directory]
[--inode] [--kilobytes] [--numeric-uid-gid] [--no-group] [--hid-control-chars] [--reverse] [--size]
[--width=cols] [--tabsize=cols] [--almost-all] [--ignore-backups] [--classify] [--file-type] [--full-time]
[--ignore=pattern] [--dereference] [--leteral] [--quote-name] [--trvitdobr] [--sort={none,time,size,extension}] [--for mat={long,verbose,commas,across,vertical,single-column}]
[--time={atime,access,use,ctime,status}] [--color[={yes,no,tty}]] [--colour[={yes,no,tty}]][--7bit][--8bit] [--help][--version][name. . .]
-a, --all:列出目录系的所有文件,包括以"."开头的隐含文件。
-c, --time=ctime, --time=status:输出文件的i节点的修改时间,并按此排序。
-d, --directory:将目录当作文件一样显示,而不是显示其下的文件。
-e, --full-time:输出时间的全部信息,而不是输出简略信息。
-f -U, --sort=none:对目录下的文件不排序。
-g:无用。
-i, --inode:输出文件的i节点的索引信息。
-k, --kilobytes:如果输出文件大小,则按K的形式输出。
-l, --format=long, --format=verbose:输出文件的详细信息。
-m, --format=commas:横向输出文件名,以","作分割符。
-n, --numeric-uid-gid:用数字的UID,GID代替名称。
-o, --color, --colour, --color=yes, --colour=yes:输出彩色文件名。
-p -F,--classify:在每个文件名后附上一个字符以说明该文件的类型。
-q, --hide-control-chars:用?代替不可输出的字符。
-r, --reverse:对目录反向排序。
-s, --size:在每个文件名后输出该文件的大小。
-t, --sort=time:用时间对目录排序。
-u, --time=atime, --time=access, --time=use:用文件的上次被访问的时间来排序。
-x, --format=across, --format=horizontal:输出按列输出,横向排序。
-A, --almost-all:输出除了"."". ."以外的所有文件。
-B, --ignore-backups:不输出以"-"结尾的备份文件。
-C, --format=vertical:输出按列输出,纵向排序。
-G, --no-group:输出文件的组的信息。
-L, --dereference:列出连接文件连接到的文件。
-N, --literal:不限制文件长度。
-R, --recursive:列出所有子目录下的文件。
-S, --sort=size:用文件大小排序。
-X, --sort=extension:用文件扩展名(最后一个"."后的字符)的字符顺序排序。
-l, --format=single-column:一行只输出一个文件。
-7, --7bit:不输出SCII(ISO646)(0x20-0x7E)以外的字符。
-8,--8bit:输出所有8-bit ISO8859(0x20-0x7E, 0xA1-0xFF)字符
-8, --8bit:输出所有8-bit ISO 8859 (0x20-0x7E,0xA1-0xFF)字符。
-w, --width cols:设定输出宽度为cols列。
-T, --tabsize cols:设定每个TAB宽度为cols列。
--color=no, --colour=no:不显示彩色文件名。
--help;在标准输出上输出帮助信息并退出。
-version:在标准输出上输出版本信息并退出。
(3)范例。列出当前目录下的所有文件:
lark:->ls -la
total 6
drwxr-x--- 2 fangh users 1024 Aug 26 20:52 ./
drwxr-xr-x 19 root root 1024 Aug 26 21:09../
-rw-r--r-- 1 fangh users 15 Aug 21 21:57.bash_history
-rw-r--r-- 1 fangh users 34 Aug 20 20:41 .less
-rw-r--r-- 1 fangh users 114Aug 25 19:58 .lessrc
-rw-r--r-- 1fangh users 72Aug 24 18:43 sourcefile
lrwxrwxrwx 1fangh users 10 Aug 26 20:36 test ->sourcefile
lark:->
49.man
(1)简介
man:显示具有一定格式的在线手册。
(2)部分参数说明
man[-adfhkKtwW][-m system][-p string][-C config - file]
[-M path] [-P pager] [-S section -list] [section]查询名. . .
man搜寻的路径由MANPATH和(MAN)PAGER 这两个环境变量设置。
-C config_file:指定man.config这个配置文件的位置,缺省在usr/lib/man.config。
-M path:指定man搜寻存放在线手册的路径。
-P pager:指定用来显示手册的程序,缺省/usr/bin/less。
-S section _list:选择手册的章节。
-k关键字:查询包含该关键字的所有man page。
man对于新手和老手来说都是非常有用的工具,用来快速查询命令和程序的使用方法和参数。编程人员也可以用来查询C函数的用法。对于'rn(1)'或'ctime(3)'这样的输出,其中括弧中的数字是指Unix手册中该文件所在的章节。当你打man3 ctime时,表示是要查阅在第3节中的ctime的内容。下面是常见的Unix手册的分类。
1 用户命令
2 系统调用
3 库函数
4 设备和设备驱动程
5 文件格式
6 游戏
7 有用的杂类,如宏命令包
8 系统维护和管理命令
(3)范例。查询ls的用法:
lark->man ls
50.mtools
(1)简介
mtools:用来在UNIX下访问DOS下磁盘的工具包。
(2)工具介绍
mcd:进入DOS子目录。
mcd[DOS下的目录名]
mcopy:拷贝DOS文件。
mcopy[-tnvmoOsSrRA]源文件 目标文件
mcopy[-tnvmoOsSrRA]源文件 [源文件列表]目标目录
copy[-tnvm]MSDOS源文件
t:将文本文件中的回车和换行符转化为换行符。
n:覆盖已有文件时不给出提示信息。
medl:删除DOS文件。
medl [-v] msdos文件[msdos文件列表]
mdeltree:删除DOS目录。
mdeltree[-v]msdos目录[msdos目录列表]
mdir:查看DOS目录。
mdir[-w]mdos目录
mdir[-f][-w][-a]msdos文件[msdos文件列表]
-w 输出宽行文件列表(不包括时间信息)同DOS下的dir/w。
-a列出隐藏文件。
-f不计算磁盘剩余空间。
mformat:格式化DOS磁盘。
mformat[-t磁道][-h磁头][-s扇区][-l 扇标]
[-F][-I文件系统版本][-S大小代码][-2 0磁道上的扇区
][-M软件扇区大小][-a][-X][-C]
[-H隐藏扇区][-r根扇区]驱动器:
mkmanifest:创建一个恢复UNIX格式的文件名的SHELL。
mkmanifest[文件名]
mlabel[-ves]驱动器:[新卷标]
c清除原有卷标。
s显示原有卷标。
mmd:创建DOS目录。
mmd[-voOsSrRA]msdos目录[msdos目录列表]
mmove:移动DOS下的文件。
mmove[-voOsSrRA]源文件 目标文件
mmove[-voOsSrRA]源文件[源文件列表]目标目录
mmount:mount DOS磁盘。
mmount msdos驱动器[转载参数]
mtype:显示DOS下的文件。
mtpye[-ts]msdos文件[msdos文件列表]
t观看文本文件。
s略去高位字符。
mrd:删除DOS下的目录。
mrd[-v]msdos目录[msdos目录列表]
mren:将DOS下的文件改名。
mren[-voOsSrRA]源文件 目标文件
51.mesg
(1)简介
mesg:选择接收或者不接收其他用户发来的信息。
(2)部分参数说明
mesg[n][y]
此命令用来控制是否接受其他用户利用talk或是write向用户发出的信息(缺省是接受),如果用户不想被打扰的话(例如用户正在编辑文件时)使用merg n就可以不接受别的用户向用户的终端发过来的信息,不过这样有可能用户会错过别的用户发出的谈话请求,如果用户想取消这一设置使用mesg y就可以恢复接受其他用户发来的信息.mesg不跟参数则显示用户目前的设置情况。
(3)范例
lark:->mesg n
lark:->mesg
is n
lark:->
52.mkdir
(1)简介
mkdir:建立目录(同DOS下的md)。
(2)部分参数说明
mkdir[-p][-m权限][--parents][--mode=权限][--help]
[--version]目录列表
(3)范例
-m, --mode权限:给予建立的目录以设定的权限(缺省为drwxr-xr-x)。
-p, --parents:确定输入的每一层目录都存在,建立所有不存在的目录,例如mkdir -p test/book如果test目录不存在则建立test目录。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
53.mknod
(1)简介
mknod:建立特殊文件。
(3)部分参数说明
mknod[选项]文件名{bcu}major minor
mknod[选项]文件名p
Options:
[-m 权限][--mode=权限][--help][--version]
mknod和来建立FIFO(管道文件)文件,特殊字符文件,特殊块文件。
p建立FIFO文件。
b建立块文件(有缓存)。
c,u建立字符文件(无缓存)。
注意 当建立块文件和字符文件时必须给出设备的major和minor数,mknod常常被和来建立设备文件(/dev目录下都是设备文件)。
-m, --mode权限:给予建立的文件以设定的权限(缺省为0666)。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例
lark:->mknod tt p
lark:->ls -la tt
prw-r--r-- 1 fangh users 0 Sep 2 20:33 tt|
lark:->
54.more
(1)简介
more:在终端上按页观看文件的过滤器。
more的功能没有less那么强大。而且less还提供了对more的模拟,不过一般和户可能更习惯于使用同DOS环境下相似的more.
(2)部分参数说明
more[0dlfqesu][-num][+/要搜寻的字符串][+行数][文件列表]
-num:设定屏幕的大小(行数)
-d:more给出提示"[Press space to continue, 'q' to quit.]"在输入错误的命令时给出"[Press 'h' for instructions.]"来代表响铃。
-l:通常more将^L看成是一个特殊字符,如果文件中含有这个字符则more会在这一行停下来,此参数屏蔽这一特性。
-f:让more逻辑地计算文件的行数,缺省是按显示在屏幕上的行数来计算的。
-p:不滚屏,而是在清屏后显示下一屏。
-c:不滚屏,而是从上到下显示下一屏。
-s:将多个连续的空行转化成一行。
-u:屏蔽下划线。
+/:设定要搜寻的字符串。
+行数:从文件的第几行开始显示。
(3)范例。显示文件/etc/group并搜寻字符串bbs:
lark:->more+/bbs/etc/group
. . .skipping
users::100:games
nogroup::-1:
bbs:x:99:bbs,bbsroot,bbsuser
lark:->
55.mv
(1)简介
mv:将文件改名。
(2)部分参数说明
mv[参数]源文件目标文件
mv[ 参数]源文件 列表(支持通配符)目标目录
Options:
[-bfiuv][-S backup-suffix] [-V{numbered, existing,simple}] [--backup]
[--force][--interactive][--update][--verbose][--suffix=backup-suffix]
[--version-control={numbered,existing,simple}][--help][--version]
mv将文件从一个文件名更改到另一个文件名,或者将一批文件从一个目录移动到另外一个目录。
注意 在不同的文件是移动文件时,只能移动普通文件。
-b, --backup:为要移动的文件制作备份。
-f, --force:强制覆盖已有文件。
-i, --interactive:在覆盖已有文件前给出提示让用户选择是否覆盖。
-u, --update:在目标文件的时间比原文件新时不覆盖目标文件。
-v, --verbose:在移动每个文件时输出相应信息。
-help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例
lark:->mv -v sourcefile destfile
sourcefile ->destfile
lark:->
56.newgrp
(1)简介
newgrp:改变用户的组ID。
sg:以用户的另一组ID运行命令。
(2)部分参数说明
newgrp[-][组]
sg[-]组[-c 命令]
new grp这条命令用来在用户登录后改变用户的组ID,如果不跟"-"参数,则所有环境设置将被继续下来,反之则重新初始化,使用这条命令时如果不跟参数,则将用户的组改变为/etc/passwd文件中缺省组,在输入命令后会提示让用户输入密码。如果用户不是要改变到的组的成员或该组的密码部分是空的,则该用户将被屏蔽。sg命令同newgrp类似,但是该命令不改变用户的shell。在运行完给定的命令后退回原先的组ID和shell。
(3)范例。改变用户的组ID到sys:
bash # newgrp sys
#exit
exit
hash #
57.nice
(1)简介
nice:以设定的优先权来运行程序。
(2)部分参数说明
nice[-n adjustment] [-adjustment][--adjustmen=adjustment][--help][--version][命令[参数列表]]
-n adjustment, -adjustment, --adjustment=adjustment:adjustmen为要调整的新优先权,缺省为10,最高为-20(优先权最高)最低为19(优先权最低)
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例。以优先权-19运行程序mpg123:
lark:->nice -19/usr/local/bin/mpg123 music1.mp3
58.passwd
(1)简介
passwd:设置用户的密码。
(2)部分参数说明
passwd[-f|-s] [用户名]
passwd[-g][-r|R]组名
passwd[-x max] [-n min] [-w warn] [-i inact]用户名
passwd{-l|-u|-d|-S}用户名
用户可以用passwd这个命令更改自己的登录密码,一般用户只能更改他自己的密码,超级用户可以更改其他所有用户的密码,超级用户和组的管理者可以更改组的密码,还可以用这个命令来更改用户的其他信息,如用户的全名,用户的登录shell,用户的密码失效的时间间隔等等。用户首先被提示输入旧密码,程序接受这个密码并将其加密后同文件/etc/passwd(或/etc/shadow如果有shadow的话)中存储的旧密码进行比较,用户只有一次机会输入正确的密码,但是超级用户不必输入,因为这样才可以替那些忘记密码的用户更改密码。用户的密码可以由大小写字母和阿拉伯数字及标点符号组成,最长8位,最短5位。如果用户输入的密码符合条件,则passwd提示用户再输入一遍以便确认,在两次输入密码相互吻合之后就将用户的密码改变。如果使用选项-g,则是让超级用户和组的管理者更改组的密码,如果不加组名则使用当前组。在使用-g选项的的同时使用-r选项则解除组的密码,使得任何一个用户都可以具有访问这个组的和,反之使用-R选项则让这个组对任何用户都是不可访问的。超级用户可以用选项-x,-n,-w,-i选项来设定用户密码的使用期限。-x选项用来设定用户密码有效的最长期限,在max天后用户需要改变密码,而-n选项则设定用户只有在min天之后才能改变密码,-w选项用来设置警告用户的天数,-i选项用来设置在incact天后将用户的帐号屏蔽掉,在inact天后用户将不能登录入自己的帐号。使用选项-l可以屏蔽一个用户的帐号(将用户的密码改成一个不可能解密的值),使用选项则恢复这个用户的帐号,密码被更改到上一次的值,即-l选项的逆过程。使用-S选项则输出用户帐号的状态,输出的信息由下列部分组成:第一部分是表示用户的帐号是屏蔽(L),无密码(NP),有可使用的密码(P),第二部分是最后一次改变密码的时间。下面四个部份分别是最小使用密码时间,最长使用密码时间,警告时间,无效时间。即上文所述-n,-x,-w,-i选项所设置的时间。
下面向读者介绍一下密码设置应注意的一些问题,对于UNIX系统来说,其安全性同每个用户的密码都有关系,一个设置得很好的密码会让攻击系统的黑客花费很长的时间而一无所得,而一个简单的密码会让一个精心设置的系统的安全毁于一旦。因而仔细地挑选密码对于每个用户来说都是一件很重要的工作。下面给出设置密码的一些建议:不要使用自己或家人的名字的汉语拼音,生日,门牌号电话号码来组成密码,也不要使用一个字典里能查得到的英文单词作来密码,这些都属于容易攻击的密码范围,也不要将密码记在一个别人看得见的地方。另外为了使密码易记,可以使用下面的方法,以一句英文句子的第一个字母或最后的五个字母来作为密码,例如:
Do you still love me tomorrow?
密码为Dyslmt?
这就是一个黑客们不大可能加入字典的一个密码,其安全性显然较好。另外密码中最好包含数字和大小写,这样安全性会有所提高。
(3)范例。更改密码:
lark:->passwd
Changing password for fangh
Old password:oldpass 密码并不显示出来
Enter the new password(minimum of 5, maximum of 8 characters)
Please use a combination of upper and lower case letters and numbers.
New password:newpass
Re-enter new password:newpass
Password changed
lark:->passwd-S 显示用户情况
fangh P09/05/97 0 99999 7-1
lark:->
59.paste
(1)简介
paste:将不同文件的行连接起来。
(2)部分参数说明
paste[-s][-d delim-list][--serial][--delimiters=delimlist][--help][-version][文件列表. . .]
-s, --serial:一次只从一个文件中取一行,而不是从每个文件中取一行。
-d, --delimitesr delim-list:使用delim-list中的符号来代替缺省的TAB键为行为割符。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
缺省的paste将输出到标准输出上。
(3)范例。将文件sourcel source2输出到文件dest中:
lark->paste sourcel source2 >dest
60.pr
(1)简介
pr:处理文件以便打印,输出到标准输出。
(2)部分参数说明
pr[+PAGE][-COLUMN][-abcdfFmrtv][-e[in-tab-char[in-tab-width]]][-b header][-i[out-tab-char[out-tab-width]]] [-l page-length][-n[number-separator[digits]]][-o left-margin][-s[column-seqarator]][-w pagewidth][--help][--version][文件列表. . .]
+PAGE:从第一PAGE页开始打印。
-COLUMN:输出COLUMN栏。
-d:将输出的每一行后加一新的空白行。
-e[in-tab-char[in-tab-width]]将TAB扩展为空格,in-tab-char为设定的TAB符(缺省就是TAB),in-tab-width,为每个TAB扩展为几个空格,缺省为8个。
-F, -f:在页间使用换页符,缺省使用新行填满剩余部分。
-h header:用header字符串来代替缺省的文件名作为输出的标题。
-i[out-tab-char[out-tab-width]]:将空格缩定写成TAB,out-tab-char为设定的TAB符(缺省就是TAB),out-tab-width为几个空格缩写为TAB,缺省为8个。
-l page-length:设置输出的每页有page-length行。
-m:将所有文件同时并行输出到几个栏位内。
-n[number-separator[digits]]:输出行号,number-separator为行号后的字符。缺省为TAB,digits为行号的位数,缺省为5。
-o left-margin:设定左边界为left-margin个空格。
-r:打不开文件时不输出错误信息。
-s[column-seqarator]:用单个字符column-separator分栏,缺省为TAB。
-w page-width:设定页宽为page-width列,缺省为72。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例。对文件destfile进行处理:
lark:->pr -f destfile -n
97-09-08 21:15 destfile Page 1
1 total9
2 -rw-r--r 1fangh users 172 Sep 6 17:09 aaa
3 -rw-r--r 1fangh users 0 Sep 8 21:15 desfile
4 -rw-r--r 1fangh users 99 Sep 6 21:08 destfile
5 -rw-r--r 1fangh users 28 Sep 7 14:28 list
6 -rw-r--r 2fangh users 1024 Sep 6 17:09 mail/
7 -rw----- 1fangh users 3652 Sep 8 15:45 mbox
8 drwxr-xr-x 6fangh users 1024 Sep 6 16:57 mp3/
lark:->
(1)简介
ps:查看进程状态。
(2)部分参数说明
ps[-][lujsvmaxScewhrnu][txx][O[+|-]kl[[+|-]k2. . .]
--sortX[+|-]key[,[+|-]]key[,. . .]] --help --vesion [pids]
-l:长列表。
-u:用户格式:给出用户名和开始的时间。
-j:作业格式:给出pgid,sid。
-s:信号格式。
-v:虚拟存储器格式。
-m:显示内存信息。
-f:给出树状格式。
-a:显示其他用户的进程。
-x:显示没有控制台的进程。
-c:从task-struct中给出进程名。
-e:显示环境。
-w:宽行输出,不自动换行。
-h:无标题。
-r:只显示正在运行的程序。
-n:用数字来输出USER和WCHAN。
txx:只显示受tty.xx控制的进程。
pids:只显示特定的进程。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
下面解释一下各栏的意义:
FLAGS:长格式的F域。 S: 睡眠。
UID: 用户的ID。 D: 不可打断的睡眠。
PID: 进程的ID。 T: 停止或跟踪。
PPID: 父进程的ID。 Z: 僵尸进程。
PRI: 进程优先级。 W: 进程没有驻留页。
NI: 标准UNIX的优先级 N: 进程有一负nice值。
SIZE: 虚拟内存的大小。 TTY: 进程的控制台。
RSS: 驻留空间的大小。 PAGEIN:主内存页失败的数目(页失败造成页
WCHAN:进程等待的内核事件。从磁盘或CACHE中读取)。
STAT: 进程状态:代码如下。TRS:文本驻留大小。
R: 正在运行。 SHARE:共享内存。
SWAP:交换设备上的K字节数。
(3)范例。显示当前进程:
lark:->ps -c
PID TTY STAT TIME COMMAND
8724 p4 s 0:00 tcsh
8876 p6 R 0:00 ps
lark:->
62.pwd
(1)简介
pwd:显示正在工作或当前目录名。
(2)部分参数说明
pwd [--help, --version]
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
注意pwd输出的是真实路径名,它不会输出符号连接的目录名。
大多数UNIX shell内建pwd命令,这样用户运行的就有可能不是/bin/pwd这个 命令。
(3)范例。列出当前工作目录:
lark:->pwd
/home/fangh
lark:->
63.quota
(1)简介
qutoa[-guv|q]
qutoa[-uv|q] 用户名
qutoa[-gv|q] 组名
-g:显示用户所在某个组的磁盘限制。
-u:显示用户的磁盘限制(缺省设置)。
-v:显示没有分配空间的文件系统的分配情况。
-q:显示简洁的信息,除了超过限额的情况一般不显示。
注意 Linux缺省是不设置quota的,如果用户要设置quota请阅系统管理部分。
(3)范例
lark:->quota
Disk quotas for users fangh (uid 10000):none
lark:->
64.rcp
(1)简介
rcp:在计算机间拷贝文件。
(2)部分参数说明
rcp [-px][-k realm]源文件名 目标文件名
rcp[-px][-r][-k realm]源文件列表 目标目录
-r:如果源文件名是目录,则拷贝所有子目录,目标文件必须也是目录。
-p:尽量保持文件的修改时间和访问权限。
-k:要求rcp获得外部许可。
-x:给拷贝的数据流用DES方法加密。
注意 要成功地拷贝文件,用户必须在目标机器上具有运行rsh的权利。参见rsh和rlogin。
(3)范例。从机器siskin上拷贝文件:
lark:-> rcp siskin:/home/fangh/mbox./mbox
lark:->
65.reset
(1)简介
reset:将终端复位。
在使用终端的过程中,有时会发现屏幕在字符"花"掉了,这时使用reset就可以恢复,例如在运行完电路分析软件PSPICE后,就会发现屏幕字符错乱,使用reset就恢复正常。reset调用tput函数,向终端发出复位信号。如果屏幕被Ctrl+S锁住了,可以用Ctrl+Q来解除锁定。
(2)范例。将终端复位。
lark:->reset
66.rm
(1)简介
rm:删除文件或目录。
(2)部分参数说明
rm [-dfirvR][--directory][--force][--interactive]
[--recursive][--help][--version][--verbose]文件名列表. . .
-d, --directory:本选项将用unlink替代rmdir来删除目录,只有超级用户有权使用。这种删除方法不用先使目录为空,但本选项在目录非空时会造成目录中的文件簇丢失,在执行这个命令后可以用fsck来修复文件系统。
-f, --force:忽略不存在的文件,并且不给用户任何提示。
-i, --interactive:在删除每个文件时提示用户选择"y"或"n"。
-r, -R, --recursive:将整个目录删除,连带所有子目录。
-v, --verbose:删除每个文件时输出文件信息。
--help:在标准输出上输出帮助衆
本章主要讲解Linux下基本命令的使用,由于篇幅的关系,无法列出所有Linux命令的使用说明。读者在使用没有列出的命令时,可以使用"--help"参数查询该命令所附的在线帮助,或者利用man来查询更详细的使用说明。
1.ash
(1)简介
ash --a shell
这是由Kenneth Almquist在1989年编写的,ash是Linux下的许多命令解释器中的一个,它的许多特性接近于SYSTEM V的shell。
(2)部分参数说明
ash [ -efIijnsxz ] [ +efIijnsxz ] [ -c命令] [ 参数 ]
-c 命令:若用-c参数,则ash从标准输入中读入命令(在执行完-c带的命令之后)。
-s:若用-s参数,则ash从标准输入中读入命令(在执行完-c带的命令之后)。
如果不跟-c -s参数则ash以所跟的第一个参数为文件名,从此文件中读入命令。如无参数则ash缺省设定-s参数,从标准输入中读入命令,直到输入exit。
如果参数0的第一个字母是"-"则ash确定为login shell,ash将从/etc/profile或用户的根目录中的.profile读入相应的设置和环境变量。
-e:若用-e参数,则ash执行命令后返回值为非零值时则退出ash。
-f:若用-f参数,则ash关闭自动产生文件名功能。
-j:打开伯克利UNIX风格的工作控制。
-n:读入命令但是并不执行。
(3)范例
ash -c ls
ash执行ls这个命令后退回原先的目录和shell。
ash -s
ash执行一个新的shell,现在可以在这个shell中工作,按(Ctrl-D)或输入exit后,则退回原先的目录和shell,所设定的环境变量返回原先的值。
2.at
(1)简介
at,batch,atq,atrm:安排、检查、删除队列中的工作。
由Thomas Koenig编写。
(2)部分参数说明
at [-V] [-q队列] [-f文件名] [-mldbv] 时间
at -c 作业 [作业…]
atq [-V] [-q队列] [-v]
atrm [-V] 作业 [作业…]
batch [-V] [-q队列] [-f文件名] [-mv] [时间]
at在设定的时间执行作业。
atq列出用户排在队列中的作业,如果是超级用户,则列出队列中的所有工作。
atrm删除队列中的作业。
batch用低优先级运行作业,只要系统的loadavg(系统平均负载)<1.5(或者在atrun中设定的值)它就开始执行作业。
-V:若用-V参数,则显示版本号到标准错误输出。
-q队列:若用-q参数,则指定可选队列名称,队列名称可以是a到z或A到Z之间的任意字母。at的缺省队列名是c,batch的缺省队列名是E,队列的字母顺序越高,则队列的优先级越低。如果是大写字母的话则提交给batch,如果atq使用-q参数,则只显示这个队列中的作业。
-m:执行完作业后即使此作业并没有输也给提交作业的用户发送提示mail。
-f文件名:从文件中读取作业。
-l:等于atq。
-d:等于atrm。
-b:等于batch。
时间:这是用户设定的作业开始执行的时间。时间的格式分成三个部分:时间、日期、偏移量。可接受的时间形式是HHMM或HH:MM,在一天中指定的时间运行,如果时间过去了就在第二天执行。可以在时间后加入AM或PM使其在上午或下午运行,也可以指定在哪一天执行,给出日期的格式应为MMDDYY或MM/DD/YY或MM.DD.YY,也可以给出偏移量:
时间+计数时间间隔
时间间隔可以是minutes,hours,days,weeks。
也可以指定today让作业在今天执行,指定tommorow让作业在明天执行。
(3)注意事项
如果没有指定-f选项,是at从标准输入读入所有的命令,所以可以通过管道、重定向或交互输入来输入命令。
超级用户可以在任何情况下使用at系列的命令。一般用户使用at系列命令的权利由文件/etc/at.allow,/etc/at.deny控制。如果/etc/at.allow存在,则只有列在这个文件中的用户才能使用at系列的命令。如果/etc/at.allow文件不存在,则检查/etc/at.deny这个文件。只要不列在这个文件中的用户都可以使用at系列的命令。缺省的配置是/etc/at.deny,是一个空文件,这表明所有的用户都可以使用at系列的命令。
(4)范例
at -f work 4pm + 3 days
在三天后下午4点执行文件work中的作业。
at -f work 10am Jul 31
在七月31日上午10点执行文件work中的作业。
3.banner
banner:打印大标题。
banner在标准输出上打印高质量的标题,如果没有输入要打印的文字,则其等待从标准输入输入一行文字。其标题由"*"组成。由Mark Horton编写。
(2)部分参数说明
/usr/bin/banner [ -wn ]信息
-w宽度 输出宽度从131到n,n缺省为80列。
(3)注意事项
不能打印字符:< ,>,[,],\,^,_,{,},|,-。信息长度为10个英文字符,如果用空格分开字符串,还是连续打印字符串,两个字符串可以被括在引号(")中。这命名banner把这些字任串置于同一行中。
4.bash
(1)简介
bash:GNU Bourne-Again Shell
自由软件基金会(Free Software Foundation Inc)拥有bash版权。
bash是Linux下的许多命令解释器中的一个,同sh兼容,并且包含了ksh和csh中一些有用的特性。遵从IEEE Posix Shell and Tools specification(IEEE Working Group 1003.2)。
(2)部分参数说明
bash [参数] [文件名]
-c字符串:若用-c参数,则bash从字符串中读入命令,如果字符串后还有变量就被设定为从$0开始的位置参数。
-i:若用-i参数,则bash是交互的。
-s:若用-s参数,则bash从标准输入中读入命令(在执行完-c带的命令之后。)直到输入exit。
-:单一的-符号表明参数执行完毕,并且屏蔽此后所跟参数,后面的所有变量都被看作是文件名。
-norc:如果hash是交互的,则不执行个人初始化文件:-/.bashrc,如果bash作为sh来运行,这个参数缺省是关闭的。
-noprofile:不执行系统范围的启动文件/etc/profile也不执行个人的启动文件-/.bash_profile,-/.bash_login或-/.profile,缺省情况下,bash作为登录的shell时以这些文件作为启动文件。
--refile文件名:如果bash是交互的,则以此文件作为bash的启动文件。替代-/.bashrc。
-version:在bash开始时显示此bash的版本号。
-quiet:不显示版本号和其他信息,这是缺省值。
-login:激活bash,伪装为登录shell。
-nobraceexpansion:不执行大括号扩展。
-nolineediting:在交互状态下不使用GNU的readline库去读取命令。即取消了命令行编辑功能。
-posix:改变bash的行为,使其符合Posix 1003.2规定的标准。
(3)注意事项
bash过于庞大,运行速度也太慢,并且不符合Posix标准。在某些情况下aliases
模糊不清。
(4)范例
lark:->bash -version
GNU bash, version 1.14.7(1)
bash $
显示此bash的版本号,并进入一个交互的shell。
5.bc
(1)简介
bc:一个简单的计算器。
作者为Philip A.Nelson.,bc是一个支持交互式的表达式计算的语言,其格式类似于C语言,在命令行上还可以加载一个标准的数学库。
(2)部分参数说明
bc [-lwsqv] [长选项] [文件名…]
-l和--mathlib:定义标准数学库。
-w和--warn:给出对不符合Posix标准的扩展功能的警告。
-s和--standard:变成符合Posix标准的bc。
-q和--quiet:不输出GNU bc的欢迎信息。
-v和--version:输出版本号和版权信息后退出。
(3)范例
lark:->bc
bc 1.04
Copyright (c) 1991, 1992, 1993, 1994, 1997 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type 'warranty'.
1+2*3.1415926
7.2831852
quit
lark:->
6.cal
(1)简介
cal:显示一个日历。
最早出现在Version 6 AT&T UNIX。cal在标准输出上显示日历。对于查询某年某月某日的用户来说是十分有用的。
(2)部分参数说明
cal [-jy] [月[年]]
-j:显示julian日期(日子是从1月1日开始累加的)
-y:显示今年的日历
年份必须写全,"cal 89"是错误的,应该为"cal 1989"。
月份必须是在1~12之间的数字,或英文的全称(过少无法区分)。不加参数则输出当前月的日历。
(3)范例
lark:-> cal 3 1998
March 1998
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
lark:->
但是1752年9月4 日历就非常奇怪,少了13天。
lark:->cal 3 1998
September 1752
Su Mo Tu We Th Fr Sa
1 2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
这是因为这个月开始整个大不列颠帝国(美国那时还是英国殖民地),从凯撒历史更换成现行的公历。[注:教皇格列高里十三世(Pope Gregory XIII)于1582年改革历法,可是大不列颠帝国直到1752年才换用新的公历。]
7.cat
(1)简介
cat:连接文件并打印到标准输出。
cat是CA Tenate的缩写,常常用来显示文件,类似于DOS下的TYPE命令。
(2)部分参数说明
cat [-benstuvAET] [--number] [--number-nonblank]
[--squeeze-blank] [--show-nonprinting] [--show--ends]
[--show-tabs] [--show-all] [--help] [--version] [文件名…]
-b,--number-nonblank:计算所有非空输出行,从第一行开始计数。
-e:作用等于-vE。
-n:--number:计算所有输出行,从第一行开始计数。
-s,--squeeze-blank:将所有连续的多个空行替换为一个空行。
-t:作用等于-vT。
-u:没有作用,只是为了某些UNIX的兼容性而设。
-v,--show-nonprinting:显示除换行符和TAB以外的所有控制符。使用^作标志,并在字符的高位放置Escape控制符。
-A,--show-all:作用等于-vET.
-E,--show-ends:在每一行的结尾加上字符"$"。
-T,--show-tabs:显示控制符TAB为'^I'。
--help:输出帮助信息并退出(返回值为非零值)。
--version:输出版本信息并退出。
(3)范例
lark:->cat -b -E.lessrc 显示文件.lessrc的内容
1 back-line $ $
3 forw-scroll $ $
4 back-scroll $
5 goto-line $
6 goto-end $
lark:->cat myfile1 myfile2 >tmp 将文件myfile1,myfile2连结起来输出到文件tmp
8.cd
(1)简介
cd:改变当前目录。
(2)部分参数说明
cd目录名
如果不加目录名,则回到用户的根目录,此外用户必须拥有该目录的权限。进入另外一个用户的目录只要cd -用户名即可。
(3)范例
lark:/tmp>cd id1 进入id1目录
lark:/tmp/id1>cd-chenxy 进入用户chenxy的目录
lark:-chenxy>
9.chgrp
(1)简介
chgr:改变文件的组。
(2)部分参数说明
chgrp [-Refv] [--recursive] [--changes] [--silent]
[--quiet] [--verbose] [--help] [--version]组文件名…
-c --changes:只有在文件的组确实改变时才进行详细说明。
-f --quiet --silent:不输出组不能改变的文件的错误信息。
-v --verbose:详细说明组的变化。
-R --recursive:改变本目录及其所有子目录的文件的组。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
组:要改变到的组可以是组号对应的数字;也可以是/etc/group文件中的组名。
文件名:以空格分开的要改变组所有权的文件列表,支持通配符。
如果用户不是该文件的属主或超级用户,则不能改变该文件的组。
(3)范例
lark:->chgrq -R book /opt/local/book/*.*
改变/opt/local/book/及其子目录下的所有文件的组为book。
10.chmod
(1)简介
chmod:改变文件保护,文件保护控制用户对文件的访问权,有三个安全级别,所有者级别,组访问级别,其他用户访问级别,在这三个级别中,又有三种权限:读(r),写(w),执行(x)。(用户可以ls-lg来观看某一文件的所属的group)对于文件来说读权限意味着可以看文件的内容,写文件可以修改或删除文件,执行权限则可以执行它(类似于DOS下的EXE,COM,BAT文件)。对于目录来说,读权限意味着可以查看目录下的内容,写权限意味着能在目录下建立新文件,并可以从目录中删除文件,执行权限意味着可以从一个目录转变到另一个目录。
(2)部分参数说明
chmod [-Rcfv] [--recursive] [--changes] [--silent]
[--quiet] [--verbose] [--help] [--version] 保护权限 文件名…
-c --changes:只有在文件的权限确实改变时才进行详细说明。
-f --silent -quiet:不输出权限不能改变的文件的错误信息。
-v --verbose:详细说明权限的变化。
-R --recursive:改变本目录及其所有子目录的文件的权限。
--help在标准输出上输出帮助信息并退出。
--version在标准输出上输出版本信息并退出。
保护权限:格式为[ugoa…][[+ - =] [r w x Xstugo…]…] […]
"ugoa"控制哪些用户对该文件的权限将被改变:(u)文件的所有者,(g)与文件所有者同组的用户(o)其他组的用户(a)所有用户,操作符"+"使用用户选择的权限被追加到每个目标文件。操作符"-"使得这些权限被撤销。"="使得目标文件只具有这些权限。"r w x Xstugo"选择新的属性。(r)读权限(w)写权限(x)执行权(或对目录的访问权)(X)只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x属性(s)同时设定用户或组ID(t)保存程序的文本到交换设备上(u)目标文件属主(g)目标文件属主所在组(o)其他用户。如果用数字来表示属性,则(0)没有权限,(1)执行权,(2)读权,(4)写权,然后将其相加,所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。
文件名:以空格分开的需要改变权限的文件列表,支持通配符。
(3)范例
lark->chmod a + x destfile 使所有用户对文件destfile有读写执行权
lark->chmod 644 destfile 使所有用户可以读文件destfile只有属主才能改变
11.chown
(1)简介
chown:改变文件的属主和组。
(2)部分参数说明
chown [-Refv] [--recursive] [--changes] [--help] [--ver-sion] [--silent] [--quiet] [--verbose] [用户] [: .] [组] 文件名…
-c --changes:只有在文件的属主确实改变时才进行详细说明。
-f --silent -quiet:不输出属主不能改变的文件的错误信息。
-v --verbose:详细说明属主的变化。
-R --recursive:改变本目录及其所有子目录的文件的属主。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
用户:可以是用户名或用户id。
组:可以是组名或组的id。
文件名:以空格分开的要改变权限的文件列表,支持通配符。
(3)范例
lark->chown dfbb:book destfile 将文件destfile的属主改成dfbb,组改成book
12.chsh
(1)简介
改变用户登录的shell。
作者Julianne Frances Haugh
(2)部分参数说明
chsh [-s 登录的shell] [用户名]
普通用户可以改变自己的登录shell,超级用户可以改变其他用户的登录shell,所有的shell必须是在/etc/shells文件中列出的shell,但是超级用户不受这个限制。如果用户的shell是一个受限制的shell则用户不能改变其登录shell。如果不加-s参数则chsh输出用户的当前登录shell并提示用户输入新shell的路径。改变shell时都需要输入用户的密码。
(3)范例
lark:->chsh
Password:
Changing the login shell for dfbb
Enter the new value, or press return for the default
Login Shell [/bin/csh]:/bin/tcsh
lark:->
13.clear
(1)简介
clear:清除屏幕(类似于DOS的cls)
(2)范例
lark->clear 清除屏幕,提示符被移动到左上角
14.compress
(1)简介
compress,uncompress, zcat:压缩,展开文件。
compress利用LZW原理来压缩文件,原文件将被替代为扩张名为.Z的新文件。
uncompree和zcat则被用来展开压缩文件。
(2)部分参数说明
compress [-f] [-v] [-c] [-V] [-b bits] [文件名…]
uncompress [-f] [-v] [-c] [-V] [-b bits] [文件名…]
zcat [-v] [文件名…]
-f :强制替代所有原文件,如果不加此参数且compress工作在前台则compress将提示用户,该参数对于压缩整个目录的文件特别有用。
-v:在压缩过程中输出每个文件的压缩比。
-c:将压缩结果输出到标准输出。
-V:输出版权信息。
-b bits:bits为9-16的数字,用来控制LZW的压缩深度。
文件名:以空格分开的要压缩的文件列表,支持通配符。
(3)范例
lark: ->compress -f -v -V destfile 压缩文件destfile
Based on compress.c, v 4.0 85/07/30 12:50:00 joe Release
Options: BITS=16
destfile: Compression:5.55% --replaced with destfile.Z
lark:->uncompress destfile.Z 还原文件destfile
lark:->
15.cp
(1)简介
cp:拷贝文件
(2)部分参数说明
cp[options] 源文件 目标文件
cp[options] 源文件…目标目录
Options:
[-abdfilprsuvxPR] [-S backup-suffix] [-V {numbered, existing, simple}] [--backup] [--no-dereference] [--force] [--interactive] [--one-file-system] [--preserve] [--recursive] [--update] [--verbose] [--suffix=backup-suffix] [--version-control={numbered, existing, simple] [--archive] [--parents] [--link] [--symbolic-link] [--help] [--version]
-a, --archive:在拷贝过程中保留尽可能多的源文件的结构和属性,同-dpR作用相同。
-b, --backup:给将要覆盖和删除的文件作备份。
-d, --no-dereference:只拷贝符号连接,而不拷贝其所指向的文件并在拷贝中保留原有的连接关系。
-f --force:删除已存在的目标文件。
-I, --interactive:在删除已存在的目标文件时给出提示。
-l, --link:用硬连接来代替非目录文件的拷贝。
-P, --parents:将给出路径的源文件连路径一起拷贝。
cp --parents a/b/c exist-ing_dir' copies
将文件a/b/c拷贝到exist-ing_dir/a/b/c。
-p, --preserve:保留源文件的属主,组,权限和时间标志。
-r,:整目录拷贝
-s, --symbolic-link:用建立符号连接来代替非目录文件的拷贝,除非目标文件也在当前目录不然所有源文件都是绝对路径(从"/"开始)。在不支持符号连接的系统上将给出出错信息。
-u, --update:如果非目录目标文件已存在具有相同或更新的修改时间则不拷贝。
-v,--verbose:在拷贝时输出每个文件的名称。
-x, --one-file-systme:从开始拷贝的文件开始跳过在不同文件系统上的子目录。
-R, --recursive整目录拷贝。
--help 在标准输出上输出帮助信息并退出。
--version 在标准输出上输出版本信息并退出。
-S, --suffixbackup-suffix:用于产生备份文件的后缀,此选项修改由环境变量SIMPLE…BACKUP…SUFFIX设定的后缀,如果都没有定义则缺省是"-"。
-V, --version-control {numbered, existing, simple}:备份产生的类型。此选项修改由环境变量VERSION…CONTROL设定的备份产生的类型,如果都没有定义则缺省是"'existing"其有效选项是:
't' or 'numbered'总是建立编号备份。
'nil' or 'existing'只为已经有编号备份的文件建立编号备份,其他文件作单一备份。
'never' or 'simple'只建立单一备份。
(3)范例
lark:->cp sourcefile destflie 拷贝文件sourcefil到文件destfile。
lark:->cp */tmp 拷贝当前目录下所有文件到/tmp目录。
lark:->
16.cpio
(1)简介
cpio:向存档中拷贝文件或从存档中拷贝文件。
(2)部分参数说明
cpio {-o|--create} [-0acvABLV] [-C bytes] [-H format] [-M message] [-O [ [user @]host:] archive] [-F[[user@]host:]archive] [--file=[[user@]host:]archive] [--format=format] [--message=message] [--null] [--restet-access-time] [--verbose] [--dot] [--append] [--block-size=blocks] [--dereference] [--io-size=bytes] [--quiet] [--force-local] [--help] [--version] < name-list [>archive]
cpio {-I |--extract}[-bcdfmnrtsuvBSV] [-C bytes] [-E file] [-H format] [-M message] [-R [user][: .][group]] [-I [[user@]host:]archive] [-F [[user@]host:]archive] [--file=[[user@]host:]archive] [--make-directories]
[--nonmatching] [--preserve-modification-time] [--numericuid-gid] [--rename] [--list] [--swap-bytes] [--swap] [--dot] [--unconditional] [--verbose] [--block-size=blocks] [-swap-halfwords] [--io-size=bytes] [--pattern-file=file] [--format=format]
[--owner=[user][: .] [group]] [--no-preserve-owner] [--message=message] [--force-local] [no-absolute-filenames] [--sparse] [--only-verify-crc] [--quiet] [--help] [--version] [pattern…] [<archive]cpio {-p|--pass-through} [-0adlmuvLV] [-R [user][: .] [group]] [--null][--resct-access-time] [--make-directories] [--link] [--puiet] [--preserve-modificationtime] [--unconditional] [--verbose] [--dot] [--derefer-ence] [--owner=[uwer][: .] [group]] [--no-preserve-owner] [--sparse] [--help] [--version] destination-directory <name-list
cpio有三种模式:
·copy-out模式:向存档文件中拷贝文件,从标准输入给出的文件列表(这个文件列表可以用find命令来产生)读取源文件名,向标准输出写入存档文件。
·copy-in模式:从存档文件中拷贝文件,从标准输入读入存档文件,可以用通配符来确定要拷贝的文件名,如果不给出文件名则拷贝所有文件。
·copy-pass模式:将文件从一个目录拷贝到另外一个目录,实际上是把copy-out和copy-in模式结合起来,只不过不真的用一个存档文件,从标准输入给出的文件列表
读取源文件名,目标目录作为一个不带"-"的参数给出。
cpio支持下列文件格式:
binary,old ASCII,new ASCII,crc,HPUX binary,HPUX old ASCII,old tar,and POSIX.1 tar
缺省的cpio产生binary格式的存档文件。
-O, --null:在copy-out和copy-pass模式,文件列表由空字符结束而不是由换行结束。
-a, reset-access-time:在读取文件时重置文件的时间。
-A, --append:附加到已有的存档文件后,只工作在copy-out模式,存档文件必须是由-O,-F指定的磁盘文件。
-b, --swap:在copy-in模式既交换bytes又交换halfwords等于-sS。
-B:将I/O的块大小改变为5120bytes缺省是512bytes。
--block-size=BLOCK-SIZE:将I/O的块大小改变为IO-SIZE bytes。
-d, --make-directories:如果需要就创建目录。
-E FILE, --pattern-fil=FILE:在copy-in模式从文件FILE中读出要解开的文件列表。
-f, --nonmatching:只拷贝文件列表中没有文件。
-F, --file=archive:存档文件的文件名,如果目标设备是另外一台机器上的磁带机则用"HOSTNAME:文件名"来处理,cpio自动加上username@(用户必须在那台机器的-/.rhosts文件中添加本机器)。
--forc-local:在使用-F,-I,-O选项时即使文件名中有":"号也把它作为一个本地文件来处理
-H FORMAT, --format=FORMAT:存档文件使用FORMAT(bin, odc, newc, crc, tar, ustar, hpbin, hpodc)格式。
-I, --extract:使用copy-in模式。
-I archive:等同于 -F, --file=archive。
-k:无用(为某些兼容性而设)。
-l, --link:如果可能用连接文件代替拷贝文件。
-L, --dereference:对于文件连接直接拷贝文件而不是连接。
-m, --preserve-modification-time:产生文件时恢复文件的修改时间。
-M MESSAGE,--message=MESAGE:在备份媒体用完时给出提示信息MESSAGE(中间用%d给出卷标)。
-n, --numeric-uid-gid:在文件列表时用数字的UID和GID代替名字。
--no-absolute-filenames:在copy-in模式用相对路径代替绝对路径。
--no-preserve-owner:在copy-in和copy-pass模式不改变文件的属主在恢复时恢复这些属主,本参数对于普通用户是缺省选项。
-o, --create:使用copy-out模式。
-O archive:等同于-F, --file=archive。
only-verify-crc:在读CRC格式的存档文件时只检查每个文件的CRC而不解开文件。
-p, --pass-through:使用copy-pass模式。
quiet:不输出已拷贝的块的数目。
-r, --rename:交互式地给文件改名。
-R [user] [: .] [group], --owner [user] [: .] [group] :在copy-out和copy-pass模式将所有文件的属主和组改变成设定的用户和组(只有超级用户才能使用)。
-sparse:在copy-out和copy-pass模式将小文件写入一个大块时用零来填补剩余部分。
-s, --swap-bytes:在copy-in模式交换bytes。
-S, --swap-halfwords:在copy-in模式交换halfwords。
-t, --list:s'输出输入的文件列表。
-u, --unconditional:替代所有同名的现存文件而不给出提示。
-v, --verose:列出正在处理的文件给出"ls -1"格式的文件列表。
-V --dot:在处理每个文件时输出"."。
--version:输出版权信息并退出。
(3)范例
lark:->cpio -0 <filelist> d
cpio: sourcefile: truncating inode number
1 block
lark:->
从文件filelis中读出源文件列表,读入源文件并写入存档文件d。
lark:->cpio -i -v -F d
sourcefile
1 block
lark:->
从存档文件d中拷贝出文件。
17.crontab
(1)简介
crontab:操作每个用户的守护程序和该执行的时间表。
作者 Matthew Dillon
(2)部分参数说明
crontab file [-u user]:用指定的文件替代目前的crontab。
crontab - [-u user]:用标准输入替代目前的crontab。
crontab -l [ user]:列出用户目前的crontab。
crontab -e[ user]:编辑用户目前的crontab。
crontab -d[ user]:删除用户目前的crontab。
crontab -c[ user]:指定crontab的目录。
crontab文件的格式:M H D m d cmd
M:分钟(0-59)
H:小时(0-23)
D:天(1-31)
m:月(1-12)
d:一星期内的天(0-6,0为星期天)
cmd:要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量。
下面是一个例子文件:
# MIN HOUR DAY MONTH DAYOFWEEK COMMAND
# 每天早上6点
10 6 * * * date
# 每两个小时
0 */2 * * * date
# 晚上11点以早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 14 4 * mon-wed date
# 1月份日早上4点
0 4 1 jan * date
(3)范例
lark:->crontab -1 列出用户目前的crontab。
# MIN HOUR DAY MONTH DAYOF WEEK COMMAND
10 6 * * * date
0 */2 * * * date
0 23-7/2, 8 * * * date
lark:->
18.csh
1.简介
见tcsh
19.cut
(1)简介
cut:将文件中的每一行都去掉一个域。
(2)部分参数说明
cut {-b byte-list, --bytes=byte-list} [-n] [--help]
[--version] [file...]
cut {-c character-list, --characters=character-list}
[--help] [--version] [file...]
cut {-f field-list, --fields=field-list} [-d delim] [-s]
[-delimiter=delim] [--only-delimited] [--help] [--veresion] [file...]
byte-list,character-list,和field-list是数字或一个区间,最小是1,区间格式为"n-m",n为开始的数字,m为结束的数字,"n-"意味着行尾。
-b, --bytes bytd-list:只输出在byte-list区间的bytes,TABs和backspaces都占1byte。
-c, --characters character-list:只输出在区间character-list内的字符TABs和backspaces都占一个字符。
-f, --fields field-list:只输出在field-list内的域。
-d, --delimiter delim:指定在-f参数中的field-list的分割符(为delim中的第一个字符,缺省为TAB)。
-n:不分割多byte的字符。
-s, --only-delimited:在-f参数中不输出没有域分割符的行。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例
lark:->cut sourcefile
total 0
-rw-r--r-- 1 fangh users 0 Aug 23 21:46 destfile
lark:->cut -c 5-20 sourcefile
1 0
r--r-- 1 fangh
lark:->
20.date
(1)简介
date:打印或设置系统日期和时间。
(2)部分参数说明
date [-u] [-d datestr] [-s datestr] [--utc] [--universal]
[--date=datestr] [--set=datestr] [--help] [--version]
[+FORMAT] [MMDDhhmm[[CC]YY][.ss]]
+FORMAT:控制如何显示日期
指令:%:%号
n:新行
t:TAB
时间域:
%H 小时(00..23)
%I 小时(01..12)
%k 小时(0..23)
%1 小时(1..12)
%M 分钟(00..59)
%p AM或PM
%r 12小时(hh:mm:ss[AP]M)
%s 从1970-01-01 00:00:00 UTC开始的时间
%S 秒(00..61)
%T 24小时(hh:mm:ss)
%X 时间表示(%H:%M:%S)
%Z 时区(如EDT)如没有指定时区则不显示
日期域:
%a 缩写形式的星期名(Sun..Sat)
%A 星期名(Sunday..Saturday)
%b 缩写形式的月名(Jan..Dec)
%B 月名(January..December)
%c 日期和时间(Sat Nov 04 12:02:33 EST 1989)
%d 每个月的第几天(01..31)
%D 日期(mm/dd/yy)
%h 等同于%b
%j 一年的第几天(001..366)
%m 月份(01..12)
%U 一年中的第几个星期,星期天为星期的第一天(00..53)
%w 每个星期的第几天(0..6)0为星期天
%W 一年中的第几个星期,星期一为星期的第一天(00..53(00..53))
%x 日期(mm/dd/yy)
%y 年份的后两个数字(00..99)
%Y 年份(1970...)
[MMDDhhmm[[CC]YY][.ss]]
MM 月份
DD 日期
hh 小时
mm 分钟
CC 年份的前两位(可选项)
YY 年份的后两位(可选项)
ss 秒(可选项)
只有超级用户才有权限设置系统时间(启动时在CMOS中读出)。
-d datestr, --date dates :显示datestr中指定的日期和时间。
-s datestr, --set datestr :设定datestr中指定的日期和时间。
-u, --universal:显示或设定格林威治时间(缺省为本地时间)。
-help:在标准输出上输出帮助信息并退出。
-version:在标准输出上输出版权信息并退出。
(3)范例。打印两天前的时间:
lark:->date --date '2 days ago'
Fri Aug 22 20:20:08 CDT 1997
lark:->
打印月份和日期:
lark:->date ' + % B % d'
August 24
lark:->
21.dd
(1)简介
dd:拷贝一个文件(并可以同时转化它)。
(2)部分参数说明
dd [--help] [--version] [if=file] [of=file] [ibs=bytes]
[obs=bytes] [bs=bytes] [cbs=bytes] [skip=blocks]
[seek=blocks] [count=blocks]
[conv={ascii, ebcdic, ibm, block, unblock, lease, ucase, noerror, notrunc,sync}]
if=file:以file作为源文件以代替标准输入。
of=file:以file作为目标文件一代替标准输出。
ibs=bytes:一次读bytes个byte。
obs=bytes:一次写bytes个byte。
cbs=bytes:一次读写bytes个byte,这个参数将改写bit和obs的值。
skip=blocks:从开头忽略blocks个ibs大小的块。
seek=blocks:从开头忽略blocks个obs大小的块。
count=blocks:只拷贝blocks个ibs大小的块。
conv=conversion[,conversion...]:转换文件,可转换的格式计算有:
ascll, ebcdic, ibm, block, unblock, lcase, ucase, swab, noerror, notrunc, sync
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例。将文件sourcefile拷贝到文件destfile。
lark->dd if =sourcefile of=destfile
0 + 1 records in
0 +1 records out
lark:->
22.df
(1)简介
df:报告磁盘剩余空间。
(2)部分参数说明
df [-aikPv] [-t fstype] [-x fstype] [--all] [--inodes]
[--type=fstype] [--exclude-type=fstype] [--kilobytes]
[--portabiliry] [--print-type] [--help] [--version] [file-name. . .]
-a, --all:列出BLOCK为零的文件系统缺省是不列出。
-i, --inodes:用inode使用状况来代替block使用状况。
-k, --kilobytes:用1K为单位来输出block(缺省是512bytes)。
-P, --portability:使用POSIX格式输出。
-T, --print-type:输出每个文件系统的类型。
-t, --type=fstype:只输出列在fstype中的类型的文件系统。
-x, --exclude-type=fstype:只输出不在fstype中的类型的文件系统。
-v:无用,只是为了同SYSTEM V版本的df兼容。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例
lark:->df -a -T
Filesystem Type 1024-blocks Used Avaiable Capacity Mounted on
/dev/hdal ext2 497667 335214 136751 71% /
none proc 0 0 0 0% /proc
/dev/hda1 ext2 2454879 105267 2222699 5% /home
/dev/hda2 ext2 995147 49603 89413 5% /usr/local
lark:->
23.diff
(1)简介
diff:比较两个文件的不同。
(2)部分参数说明
diff [选项] 源文件 目标文件
-a:将所有文件当作文本文件来处理。
-b:忽略空格造成的不同。
-B:忽略空行造成的不同。
-q --brief:只报告何处不同,不报告具体信息。
-c:使用纲要输出格式。
-e --ed:输出ed可以编辑的格式。
-f:输出同-c类似的反序格式。
-H:利用试探法加速对大文件的搜索。
-i:忽略大小写的变化。
-l --paginate:用pr对输出分页。
-n --rcs:输出RCS格式。
-r --recursive:比较目录时比较所有子目录。
--report-identical-files -s:两文件相同才报告。
-v --version:在标准输出上输出版本信息并退出。
常常利用diff来产生补丁程序(patch)。
(3)范例。比较destfile和sourcefile:
lark:->diff sourcefile destfile
1,2cl
< total 0
< -rw-r--r-- 1 fangh users 0 Aug 23 21:46 filelist
---
> ./sourcefile
lark:->
24.dialog
(1)简介
用来在shell编程中产生对话框。作者:John Gatewood Ham。
(2)范例
ark:-> dialog --title "test" --yesno "this is a test" 7 40
lqqqqqqqqqqqqqqqq test qqqqqqqqqqqqqqqqk
x this is a test x
x x
x x
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
x <Yes> <No> x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
lark.->
(1)简介
du:报告磁盘空间使用情况
(2)部分参数说明
du[-abcklsxDLS] [--all] [--total] [--count-links] [--sum-marize]
[--bytes] [--kilobytes] [--one-file-system]
[--separate-dirs] [--dereference] [--dereference-arge]
[--help] [--version] [filename...]
-a , --all:显示文件总和。
-b, --bytes:以byte为单位输出所占空间大小。
-c, --total:在处理完所有参数后给出所有这些参数的总计。
-k ,--kilobytes:以kilobytes为单位输出所占空间大小。
-l, --count-links:统计所有文件的大小即使它已经在另一个连接中被统计过了。
-s --summarize:对于每个参数只显示总和。
-x, --one-file-system:忽略不在本文件系统上的目录。
-D, --dereference-args:不统计是命令行的话参数的符号连接的文件。
-L, --dereference:不统计符号连接的文件。
-S, --separate-dirs:单独计算每个目录的大小,不包括子目录的大小。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例
lark:->tmp>du
1 ./.X11-unix
15274 ./.data
4 ./.id4
15293 .
lark:/tmp>
26.echo
(1)简介
echo:显示一行文本。
(2)部分参数说明
echo [-ne] [字符串. . .]
echo {--help, --version}
-n :不输出新行。
-e:使echo可以输出下列ESC字符;
\a 警告(响铃)。
\b 退格。
\c 在行尾不另起一行。
\f 换页。
\n 换行。
\r 回车。
\t 制表符。
\V 垂直制表符号。
\ \ 反斜杠。
\ nnn 字符的八进制码是nnn。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
注意大多数shell内建echo命令,上述参数只对/usr/bin/echo起作用。
(3)范例
lark:->/bin/echo -e just \\ wait
just \ wait
lark:->
27.ed
(1)简介
ed red:文本行编辑器。
(2)部分参数说明
ed [-] [-Gs] [-p字符串] [文件名]
red [-] [-Gs] [-p字符穿] [文件名]
-:在使用e,r,w,q和!命令时不输出信息。
-G:禁止向后一致性,作用于命令'G','V','f','l','m','t',和'!!'。
-s:禁止诊断,一般当ed的输入是一个脚本文件时使用该项。
-p字符串:以该字符串为提示符。
文件名:要编辑的文件名。
(3)范例
lark:->ed .lessrc
114
wq
114
lark:->
28.egrep
(1)简介
见grep
29.env
(1)简介
env:在修改过的环境中运行程序,运行完毕后不影响原环境设置。
(2)部分参数说明
env [-] [-1] [-u name] [--ignore-environment]
[--unset=name] [help] [--version][name=value]...[命令
[参数...]]
-u, --unset name:从原环境中删除变量(name为变量名)。
-, -I, --ignore-environment:开始一个空环境,忽略原环境的所有设置。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例
lark:->env - ls
destfil destfile sourcefile
lark:->
30.expand
(1)简介
expand:将文件中的TAB转换为空格并输出到标准输出。
(2)部分参数说明
expand [-tab1[,tab2[, . . .]]] [-t tab1[,tab2[, . . .]]] [-i]
[--tabs=tab1[,tab2[, . . .]]] [--initial] [--help] [--ver-
sion] [文件名. . . ]
-,,-t,--tabs tab1[,bab2[, . . .]]:如果只有一个tab1,则将TAB转化为tab1个空白(缺省为8)如果有tab2,tabe. . .则将第一个TAB转化为tab1个空格,第二个TAB转化为tab2个空格,没有指出的全部转化为一个空格。
-e, --initial:只转化用来分开两个非空格和TAB字符的TAB为空格。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例
lark:->expand test
abc
lark:->
31.fdformat
(1)简介
fdformat:低级格式化一张软盘。
作者:Werner Almesberger
(2)部分参数说明
fdformat [-n] 设备
支持的设备格式有:
/dev/fd0d360 (minor=4)
/dev/fd0h1200 (minor=8)
/dev/fd0D360 (minor=12)
/dev/fd0H360 (minor=12)
/dev/fd0D720 (minor=16)
/dev/fd0H720 (minor=16)
/dev/fd0h360 (minor=20)
/dev/fd0h360 (minor=24)
/dev/fd0H1440 (minor=28)
/dev/fd1d360 (minor=5)
/dev/fd1h1200 (minor=9)
/dev/fd1d360 (minor=13)
/dev/fd1H360 (minor=13)
/dev/fd1D720 (minor=17)
/dev/fd1H720 (minor=17)
/dev/fd1h360 (minor=21)
/dev/fd1h720 (minor=25)
/dev/fd1H1440 (minor=29)
(2)部分参数说明
-n:在格式化时不校验
32.fgrep
(1) 简介
见 grep
33.file
(1)简介
file:探测文件类型。
(2)部分参数说明
file [-vezL] [-f namefile] [-m magicfiles] 文件名...
-v:在标准输出上输出版本信息并退出。
-m magicfiles:指定用来代替缺省幻数文件(/etc/magic)的新幻数文件。
-z:探测压缩过的文件。
-c:输出正在处理的幻数文件的分析表格,常同-m参数联合使用来测试新幻数文件。
-f namefile:从文件namefile中读取要分析的文件名列表。
-L:允许符号连接。
文件名:要分析的文件名。
(3)范例
lark:/tmp>file*
destfile: ASCII text
clm.rc.OLD: English text
portnum:
rc.inetI.OLD:Bourne shell script text
lark:/tmp>
34.find
(1)简介
find:用来在大量目录中搜寻特定文件的强有力的工具。
(2)部分参数说明
find [路径. . .] [匹配表达式]
路径. . .:要搜寻的目录(可以是多个目录,用空格分开)。
匹配表达式:要搜寻的文件的匹配标准或说明。
-name文件名:告诉FIND要找什么文件;要找的文件包括在引号中(支持通配符*和?)。
-perm模式:匹配所有符合指定数字模式值的文件,如果模式前面是"-"号则搜寻所有除这个模式以外的所有模式。
-size n匹配大小为n个block的文件(若n后有nK大小的文件)。
-user用户名:搜寻所有属主为用户名(名称和ID都可以)的文件。
-group组名:搜寻所有组为组名的文件。
-atime n组名:搜寻所有组为组名的文件。
-atime n:搜寻在前n天访问过的文件。
-mtime n:搜寻在前n天修改过的文件。
-exec文件:对于每个匹配文件执行命令,标志{}用于指定命令执行时文件。
名出现的地方,命令必须中止于符号"\;"。
-print:输出搜寻结果到标准输出。
(3)范例
lark:/>find ./ -name "passwd" -print
./user/bin/passwd
./home/ftp/etc/passwd
./etc/passwd
lark:/>
35.fortune
(1)简介
fortune:输出一段有趣的谚语或格言
作者:Ken Arnold
(2)范例
lark:/>fortune
"I must have a prodigious quantity of mind; it takes me as much as a
week sometimes to make it up."
--Mark Twain, "The Innocents Abroad"
lark:/>
36.grep
(1)简介
grep,egrep,fgrep:在文件中搜寻匹配的行并输出。
(2)部分参数说明
grep[-[[AB]]num][-[CEFGVBchilnsvwx]][-e]正则表达式
|-ffile] [文件名. . . ]
-A num:输出匹配行后的num行
-B num:输出匹配行前的num行
-V:输出版权信息
-f file:从文件中读入表达式
-q:不输出
-s:不输出错误信息
grep=Global Regular Expression Print, grep来自ed的搜寻所有符合某表达式的命令:"g/re/p",其中re代表规则表达式。
rgrep是fixed grep,只能查询固定串。
egrep是extended grep扩展查询,支持某些增强的表达式。
(3)范例。在文件services中查找含有ftp的行。
lark:/etc>grep ftp services
ftp 21/tcp
tftp 69/udp
sftp 115/tcp
lark:/etc>
37.gzexe
(1)简介
gzexe:将可执行文件压缩成较小的可执行文件(类似于DOS下的PKLITE,LZEXE)。
(2)部分参数说明
gzexe[文件名. . . ]
-d解压缩
本命令对那些磁盘空间较小的用户特别有用。
(3)范例
lark:->ls -la cat
-rwxr-xr-x 1 fangh users 20916 Aug25 21:33cat*
lark:->gzexe cat
cat:
lark:->ls-la cat
-rw xr-xr-x 1 fangh users 11283 Aug 25 21:33 cat*
lark:->
38.gzip
(1)简介
gzip,gunzip,zcat:压缩或展开文件。
(2)部分参数说明
gzip[-acdfhlLnNrtv V19][-S suffix] [文件名 . . .]
gunzip[-acfhlLnNrtvV][-S suffix][文件名. . .]
zcat[-fhLV][文件名. . . ]
-d --decompree --uncompress:解压。
-h --help:显示帮助信息并退出。
-t --test:检验压缩文件。
-V --version:显示版权信息并退出。
-v:输出压缩信息。
-# --fast --best:#为1(fast)-9(best)数字越小速度越快,但压缩比越小,缺省为6。
-c --stdout --to-stdout:压缩结果输出到标准输出,如不加-c参数,则gzip将源文件压缩为.gz文件并删除源文件。
(3)范例
lark:->gzip -v sourcefile
sourcefile: 15.2% --replaced with sourcefile.gz
lark:->
39.head
(1)简介
head:显示文件的前几行。
(2)部分参数说明
head[-c N[bkm]][-n N][-qv][--bytes=N[bkm]][--lines=N]
[--quiet][--silent][--verbose][--help][--version]
[文件名. . .]
head[-N bcklmqv][文件名. . .]
-c N, --bytes N:输出文件的前N个字节。
-n N, --lines N:输出文件的前N行。
-q, --quiet, --silent:不输出文件名的信息。
-v, --verbose:输出文件名的信息。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例。输出文件.lessrc的第一行。
lark:->head -n 1 .lessrc
forw-line
lark:->
40.hostid
(1)简介
hostid:显示或设置系统的HOSTID。
作者:Mitch Dsouza.
(2)部分参数说明
hostid [-v] [十六进制的ID]
-v:给出十进制和十六进制的ID。
对于每一台机器,其HOSTID是唯一的,只有超级用户才能更改。
(3)范例
lark:->hostid -v
Hostid is 650780800 (0×26ca2080)
lark:->
41.id
(1)简介
id:显示当前用户的用户名和组。
(2)部分参数说明
id [-a]
-a 参数用在支持一用户多组的系统上。
id在取得用户和user id和group id后从文件/etc/passwd,/etc/group中查出用户的用户名和组名。
(3)范例
lark:-> id
uid=1000(fangh)gid=100(users)group=100(users)
lark:->
42.join
(1)简介
join:从两个文件中取出相同的行,按照指定的关键字为匹配的两行连接成一行。
(2)部分参数说明
join [-a 1|2][-v 1|2][-v empty-string][-o fieldlist. . .]
[-t char][-j[1|2]field] [-1 field] [-2 field]
文件1文件2
join{--help, --version}
-a file-number:文件1或2中不匹配的行也输出,file-number可以是1或2。
-e string:用字符串string代替输出的空域。
-1, -j1 field:在文件1的第field个域连接两个文件。
-2, -j2 field:在文件2的第field个域连接两个文件。
-j field:等于是-1 field -2 field。
-o field-list. . .:按照field-list中的格式构造输出行。
-t char:用字符char作为输入输出域的分割符。
-v file-number:为文件file-number的每一个不匹配的行打印一行代替通常的输出。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例
lark:->join testfile1 testfile2
this is testfile is testfile
lark:->
43.kill
(1)简介
kill:中止一个进程
(2)部分参数说明
kill [-a信号|-p] [-a]进程号. . .
kill -l [信号]
kill向指定的进程发出特定的信号,如果没有指定信号则送出TERM信号,TERM信号将杀死没有捕捉到这个信号的进程。对于某些进程可能要使用KILL(9)信号强制杀死。例如:kill -9 11721。将强制杀死进程11721。大多数SHELL内建kill命令。
进程号. . :指定要杀死的进程列表,每个进程号可以是一个进程的id或者进程名。
-s:指定要送出的信号,信号可以由数字给出,也可以是信号名。常用的信号有KILL(不能被进程忽略),HUP。
-P:只打印进程的ID不送出信号。
-I:打印所有信号列表(在/usr/include/linux/signal.h中定义)。
(3)范例。杀掉进程11721:
lark:->ps
PID TTY STAT TIME COMMAND
11668 pl s 0:00 -tcsh
11721 pl T0:00 cat
11737 pl R 0:00 cat
11737 pl R 0:00 ps
lark:!>kill 11721
[1] Terminated cat
lark:->
44.last
(1)简介
last:显示过去多少个用户或终端登录到到机器。
(2)部分参数说明
last:[-数目][-f文件名][-t tty] [-h 节点名][-i IP地址][-l][-y][用户名. . .]
last从文件/var/log./wtmp中读出用户登录和离开的所有记录,并且可以查询某个用户登录的情况,某个节点登录的情况,某个tty登录的情况。例如"last root -t console"将列出所有root用户在控制台上登录的情况,如果不加参数则last将显示出所有用户登录的情况。
-数目:确定显示多少行。
-f 文件名:用指定的log文件代替缺省的/var/log/wtmp文件。
-h节点名:只显示从某个节点登录的用户。
-l:用IP地址显示远端地址。
-t tty:只显示在特定tty上登录的用户。
-y:输出日期加上年份。
(3)范例。显示过去3次用户fangh登录的情况:
lark:->last -3 fangh
fangh ttyp1 csun01.ihep.ac.c Tue Aug 26 18:46 still logged in
fangh ttyp2 csun01.ihep.ac.c Mon Aug 25 22:32 - 23:14 (00:41)
fangh ttyp2 csun01.ihep.ac.c Mon Aug 25 19:58 - 21:59 (02:01)
lark:->
45.less
(1)简介
less:相对于more,用来按页显示文件。
作者:Mark Nudelman
(2)部分参数说明
less -?
less --help
less- V
less --version
less [-[+]aBcCdeEfgGiImMnNqQrsSuUVwX]
[-b bufs] [-h lines][-j line][-k keyfile]
[-{oO}logfile][-p pattern][-P prompt][-t tag]
[-T tagsfile] [-x tab] [-y lines][-[x]lines]
[+[+]cmd][--][文件名]. . .
less类似于more,但是less允许向前或向后浏览文件。less不全部读入文件后才显示,所以在显示大文件时它的显示速度比vi之类的编辑器快。less采用termcap,所以它支持的终端类型非常广泛。
-\? --help:列出less的所有操作命令。
-a:查询时从当前屏幕的最后一行之后开始查询。
-bn:指定less为每一个文件开nK的缓冲区。
-B:当less的输入是从管道中来的时候,其缓冲区的大小是字典设置 ,如果加上本选项,则使用由-bn指定大小的缓冲区,但这有可能丢失前面输入的内容。
-c:从上往下刷屏,缺省的是从下往上刷屏。
-C:同-c,只是刷屏之前先清屏。
-d:less在哑终端上要输出错误信息,此参数强制less继续执行刷屏滚屏之类的命令。
-e:当less第二次到达文件末尾时则退出,缺省的退出方式是命令"q"。
-E:当less第一次到达文件末尾时就退出。
-f:打开非正常文件(一个目录,或一个设备文件)。
-hn:指定回滚的最在行数。
-I:搜寻时忽略大小写。
-m:显示已经显示的文件百分比。
-q -Q:不输出响铃符号。
-r:显示控制符。
--version -V:显示版权信息。
(3)范例。显示test文件:
lark:-> less test
46.ln
(1)简介
ln:在文件间建立连接
(2)部分参数说明
ln [参数]源文件[目标文件]
ln[参数]源文件. . .dierectory
参数:
[-bdfinsvF][-s backup-suffix][-V{numbered, existing, simple}]
[--version-control={numbered, existing, simple}]
[--backup][--directory][--force][--interactive]
[--no-dereference][--symbolic][--verbose][--suf-
fix=backup-suffix][--help][-version]
-b, --backup:为删除的文件建立备份。
-d, -F, --directory:允许超级用户建立硬连接。
-f, --force:删除目标文件。
-i, interactive:在删除文件时给出提示。
-n, --no-dereference:如果目标文件是一个一个目录的符号连接则替代此符号连接,而不是在这个目录中作连接。
-s, --symbolic:用符号连接代替硬连接。
-v, --verbose:输出每个要连接的文件的文件名。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
另外对链接文件做改变属性的动作是没有意义的,因为只有它们链接到的文件的属性才是文件的真正属性。
(3)范例。将文件sourcefile连接到文件test:
lark:-> ln -s sourcefile test
lark:->ls -la test
lrwxrwxrwx 1fangh users 10 Aug 26 20:36 test -> sourcefile
lark:->
47.logname
(1)简介
logname:输出用户的登录时的用户名。
(2)范例
lark:->logname
fangh
lark:->
48.ls
(1)简介
ls,dir, vdir:列出目录下的文件(类似于DOS下的DIR命令)。
(2)部分参数说明
ls [-abcdefgiklmnopqrstuxABCFGLNQRSUX178] [-w cols] [-T cols] [-I pattern] [--all] [--escape] [--directory]
[--inode] [--kilobytes] [--numeric-uid-gid] [--no-group] [--hid-control-chars] [--reverse] [--size]
[--width=cols] [--tabsize=cols] [--almost-all] [--ignore-backups] [--classify] [--file-type] [--full-time]
[--ignore=pattern] [--dereference] [--leteral] [--quote-name] [--trvitdobr] [--sort={none,time,size,extension}] [--for mat={long,verbose,commas,across,vertical,single-column}]
[--time={atime,access,use,ctime,status}] [--color[={yes,no,tty}]] [--colour[={yes,no,tty}]][--7bit][--8bit] [--help][--version][name. . .]
-a, --all:列出目录系的所有文件,包括以"."开头的隐含文件。
-c, --time=ctime, --time=status:输出文件的i节点的修改时间,并按此排序。
-d, --directory:将目录当作文件一样显示,而不是显示其下的文件。
-e, --full-time:输出时间的全部信息,而不是输出简略信息。
-f -U, --sort=none:对目录下的文件不排序。
-g:无用。
-i, --inode:输出文件的i节点的索引信息。
-k, --kilobytes:如果输出文件大小,则按K的形式输出。
-l, --format=long, --format=verbose:输出文件的详细信息。
-m, --format=commas:横向输出文件名,以","作分割符。
-n, --numeric-uid-gid:用数字的UID,GID代替名称。
-o, --color, --colour, --color=yes, --colour=yes:输出彩色文件名。
-p -F,--classify:在每个文件名后附上一个字符以说明该文件的类型。
-q, --hide-control-chars:用?代替不可输出的字符。
-r, --reverse:对目录反向排序。
-s, --size:在每个文件名后输出该文件的大小。
-t, --sort=time:用时间对目录排序。
-u, --time=atime, --time=access, --time=use:用文件的上次被访问的时间来排序。
-x, --format=across, --format=horizontal:输出按列输出,横向排序。
-A, --almost-all:输出除了"."". ."以外的所有文件。
-B, --ignore-backups:不输出以"-"结尾的备份文件。
-C, --format=vertical:输出按列输出,纵向排序。
-G, --no-group:输出文件的组的信息。
-L, --dereference:列出连接文件连接到的文件。
-N, --literal:不限制文件长度。
-R, --recursive:列出所有子目录下的文件。
-S, --sort=size:用文件大小排序。
-X, --sort=extension:用文件扩展名(最后一个"."后的字符)的字符顺序排序。
-l, --format=single-column:一行只输出一个文件。
-7, --7bit:不输出SCII(ISO646)(0x20-0x7E)以外的字符。
-8,--8bit:输出所有8-bit ISO8859(0x20-0x7E, 0xA1-0xFF)字符
-8, --8bit:输出所有8-bit ISO 8859 (0x20-0x7E,0xA1-0xFF)字符。
-w, --width cols:设定输出宽度为cols列。
-T, --tabsize cols:设定每个TAB宽度为cols列。
--color=no, --colour=no:不显示彩色文件名。
--help;在标准输出上输出帮助信息并退出。
-version:在标准输出上输出版本信息并退出。
(3)范例。列出当前目录下的所有文件:
lark:->ls -la
total 6
drwxr-x--- 2 fangh users 1024 Aug 26 20:52 ./
drwxr-xr-x 19 root root 1024 Aug 26 21:09../
-rw-r--r-- 1 fangh users 15 Aug 21 21:57.bash_history
-rw-r--r-- 1 fangh users 34 Aug 20 20:41 .less
-rw-r--r-- 1 fangh users 114Aug 25 19:58 .lessrc
-rw-r--r-- 1fangh users 72Aug 24 18:43 sourcefile
lrwxrwxrwx 1fangh users 10 Aug 26 20:36 test ->sourcefile
lark:->
49.man
(1)简介
man:显示具有一定格式的在线手册。
(2)部分参数说明
man[-adfhkKtwW][-m system][-p string][-C config - file]
[-M path] [-P pager] [-S section -list] [section]查询名. . .
man搜寻的路径由MANPATH和(MAN)PAGER 这两个环境变量设置。
-C config_file:指定man.config这个配置文件的位置,缺省在usr/lib/man.config。
-M path:指定man搜寻存放在线手册的路径。
-P pager:指定用来显示手册的程序,缺省/usr/bin/less。
-S section _list:选择手册的章节。
-k关键字:查询包含该关键字的所有man page。
man对于新手和老手来说都是非常有用的工具,用来快速查询命令和程序的使用方法和参数。编程人员也可以用来查询C函数的用法。对于'rn(1)'或'ctime(3)'这样的输出,其中括弧中的数字是指Unix手册中该文件所在的章节。当你打man3 ctime时,表示是要查阅在第3节中的ctime的内容。下面是常见的Unix手册的分类。
1 用户命令
2 系统调用
3 库函数
4 设备和设备驱动程
5 文件格式
6 游戏
7 有用的杂类,如宏命令包
8 系统维护和管理命令
(3)范例。查询ls的用法:
lark->man ls
50.mtools
(1)简介
mtools:用来在UNIX下访问DOS下磁盘的工具包。
(2)工具介绍
mcd:进入DOS子目录。
mcd[DOS下的目录名]
mcopy:拷贝DOS文件。
mcopy[-tnvmoOsSrRA]源文件 目标文件
mcopy[-tnvmoOsSrRA]源文件 [源文件列表]目标目录
copy[-tnvm]MSDOS源文件
t:将文本文件中的回车和换行符转化为换行符。
n:覆盖已有文件时不给出提示信息。
medl:删除DOS文件。
medl [-v] msdos文件[msdos文件列表]
mdeltree:删除DOS目录。
mdeltree[-v]msdos目录[msdos目录列表]
mdir:查看DOS目录。
mdir[-w]mdos目录
mdir[-f][-w][-a]msdos文件[msdos文件列表]
-w 输出宽行文件列表(不包括时间信息)同DOS下的dir/w。
-a列出隐藏文件。
-f不计算磁盘剩余空间。
mformat:格式化DOS磁盘。
mformat[-t磁道][-h磁头][-s扇区][-l 扇标]
[-F][-I文件系统版本][-S大小代码][-2 0磁道上的扇区
][-M软件扇区大小][-a][-X][-C]
[-H隐藏扇区][-r根扇区]驱动器:
mkmanifest:创建一个恢复UNIX格式的文件名的SHELL。
mkmanifest[文件名]
mlabel[-ves]驱动器:[新卷标]
c清除原有卷标。
s显示原有卷标。
mmd:创建DOS目录。
mmd[-voOsSrRA]msdos目录[msdos目录列表]
mmove:移动DOS下的文件。
mmove[-voOsSrRA]源文件 目标文件
mmove[-voOsSrRA]源文件[源文件列表]目标目录
mmount:mount DOS磁盘。
mmount msdos驱动器[转载参数]
mtype:显示DOS下的文件。
mtpye[-ts]msdos文件[msdos文件列表]
t观看文本文件。
s略去高位字符。
mrd:删除DOS下的目录。
mrd[-v]msdos目录[msdos目录列表]
mren:将DOS下的文件改名。
mren[-voOsSrRA]源文件 目标文件
51.mesg
(1)简介
mesg:选择接收或者不接收其他用户发来的信息。
(2)部分参数说明
mesg[n][y]
此命令用来控制是否接受其他用户利用talk或是write向用户发出的信息(缺省是接受),如果用户不想被打扰的话(例如用户正在编辑文件时)使用merg n就可以不接受别的用户向用户的终端发过来的信息,不过这样有可能用户会错过别的用户发出的谈话请求,如果用户想取消这一设置使用mesg y就可以恢复接受其他用户发来的信息.mesg不跟参数则显示用户目前的设置情况。
(3)范例
lark:->mesg n
lark:->mesg
is n
lark:->
52.mkdir
(1)简介
mkdir:建立目录(同DOS下的md)。
(2)部分参数说明
mkdir[-p][-m权限][--parents][--mode=权限][--help]
[--version]目录列表
(3)范例
-m, --mode权限:给予建立的目录以设定的权限(缺省为drwxr-xr-x)。
-p, --parents:确定输入的每一层目录都存在,建立所有不存在的目录,例如mkdir -p test/book如果test目录不存在则建立test目录。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
53.mknod
(1)简介
mknod:建立特殊文件。
(3)部分参数说明
mknod[选项]文件名{bcu}major minor
mknod[选项]文件名p
Options:
[-m 权限][--mode=权限][--help][--version]
mknod和来建立FIFO(管道文件)文件,特殊字符文件,特殊块文件。
p建立FIFO文件。
b建立块文件(有缓存)。
c,u建立字符文件(无缓存)。
注意 当建立块文件和字符文件时必须给出设备的major和minor数,mknod常常被和来建立设备文件(/dev目录下都是设备文件)。
-m, --mode权限:给予建立的文件以设定的权限(缺省为0666)。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例
lark:->mknod tt p
lark:->ls -la tt
prw-r--r-- 1 fangh users 0 Sep 2 20:33 tt|
lark:->
54.more
(1)简介
more:在终端上按页观看文件的过滤器。
more的功能没有less那么强大。而且less还提供了对more的模拟,不过一般和户可能更习惯于使用同DOS环境下相似的more.
(2)部分参数说明
more[0dlfqesu][-num][+/要搜寻的字符串][+行数][文件列表]
-num:设定屏幕的大小(行数)
-d:more给出提示"[Press space to continue, 'q' to quit.]"在输入错误的命令时给出"[Press 'h' for instructions.]"来代表响铃。
-l:通常more将^L看成是一个特殊字符,如果文件中含有这个字符则more会在这一行停下来,此参数屏蔽这一特性。
-f:让more逻辑地计算文件的行数,缺省是按显示在屏幕上的行数来计算的。
-p:不滚屏,而是在清屏后显示下一屏。
-c:不滚屏,而是从上到下显示下一屏。
-s:将多个连续的空行转化成一行。
-u:屏蔽下划线。
+/:设定要搜寻的字符串。
+行数:从文件的第几行开始显示。
(3)范例。显示文件/etc/group并搜寻字符串bbs:
lark:->more+/bbs/etc/group
. . .skipping
users::100:games
nogroup::-1:
bbs:x:99:bbs,bbsroot,bbsuser
lark:->
55.mv
(1)简介
mv:将文件改名。
(2)部分参数说明
mv[参数]源文件目标文件
mv[ 参数]源文件 列表(支持通配符)目标目录
Options:
[-bfiuv][-S backup-suffix] [-V{numbered, existing,simple}] [--backup]
[--force][--interactive][--update][--verbose][--suffix=backup-suffix]
[--version-control={numbered,existing,simple}][--help][--version]
mv将文件从一个文件名更改到另一个文件名,或者将一批文件从一个目录移动到另外一个目录。
注意 在不同的文件是移动文件时,只能移动普通文件。
-b, --backup:为要移动的文件制作备份。
-f, --force:强制覆盖已有文件。
-i, --interactive:在覆盖已有文件前给出提示让用户选择是否覆盖。
-u, --update:在目标文件的时间比原文件新时不覆盖目标文件。
-v, --verbose:在移动每个文件时输出相应信息。
-help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例
lark:->mv -v sourcefile destfile
sourcefile ->destfile
lark:->
56.newgrp
(1)简介
newgrp:改变用户的组ID。
sg:以用户的另一组ID运行命令。
(2)部分参数说明
newgrp[-][组]
sg[-]组[-c 命令]
new grp这条命令用来在用户登录后改变用户的组ID,如果不跟"-"参数,则所有环境设置将被继续下来,反之则重新初始化,使用这条命令时如果不跟参数,则将用户的组改变为/etc/passwd文件中缺省组,在输入命令后会提示让用户输入密码。如果用户不是要改变到的组的成员或该组的密码部分是空的,则该用户将被屏蔽。sg命令同newgrp类似,但是该命令不改变用户的shell。在运行完给定的命令后退回原先的组ID和shell。
(3)范例。改变用户的组ID到sys:
bash # newgrp sys
#exit
exit
hash #
57.nice
(1)简介
nice:以设定的优先权来运行程序。
(2)部分参数说明
nice[-n adjustment] [-adjustment][--adjustmen=adjustment][--help][--version][命令[参数列表]]
-n adjustment, -adjustment, --adjustment=adjustment:adjustmen为要调整的新优先权,缺省为10,最高为-20(优先权最高)最低为19(优先权最低)
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例。以优先权-19运行程序mpg123:
lark:->nice -19/usr/local/bin/mpg123 music1.mp3
58.passwd
(1)简介
passwd:设置用户的密码。
(2)部分参数说明
passwd[-f|-s] [用户名]
passwd[-g][-r|R]组名
passwd[-x max] [-n min] [-w warn] [-i inact]用户名
passwd{-l|-u|-d|-S}用户名
用户可以用passwd这个命令更改自己的登录密码,一般用户只能更改他自己的密码,超级用户可以更改其他所有用户的密码,超级用户和组的管理者可以更改组的密码,还可以用这个命令来更改用户的其他信息,如用户的全名,用户的登录shell,用户的密码失效的时间间隔等等。用户首先被提示输入旧密码,程序接受这个密码并将其加密后同文件/etc/passwd(或/etc/shadow如果有shadow的话)中存储的旧密码进行比较,用户只有一次机会输入正确的密码,但是超级用户不必输入,因为这样才可以替那些忘记密码的用户更改密码。用户的密码可以由大小写字母和阿拉伯数字及标点符号组成,最长8位,最短5位。如果用户输入的密码符合条件,则passwd提示用户再输入一遍以便确认,在两次输入密码相互吻合之后就将用户的密码改变。如果使用选项-g,则是让超级用户和组的管理者更改组的密码,如果不加组名则使用当前组。在使用-g选项的的同时使用-r选项则解除组的密码,使得任何一个用户都可以具有访问这个组的和,反之使用-R选项则让这个组对任何用户都是不可访问的。超级用户可以用选项-x,-n,-w,-i选项来设定用户密码的使用期限。-x选项用来设定用户密码有效的最长期限,在max天后用户需要改变密码,而-n选项则设定用户只有在min天之后才能改变密码,-w选项用来设置警告用户的天数,-i选项用来设置在incact天后将用户的帐号屏蔽掉,在inact天后用户将不能登录入自己的帐号。使用选项-l可以屏蔽一个用户的帐号(将用户的密码改成一个不可能解密的值),使用选项则恢复这个用户的帐号,密码被更改到上一次的值,即-l选项的逆过程。使用-S选项则输出用户帐号的状态,输出的信息由下列部分组成:第一部分是表示用户的帐号是屏蔽(L),无密码(NP),有可使用的密码(P),第二部分是最后一次改变密码的时间。下面四个部份分别是最小使用密码时间,最长使用密码时间,警告时间,无效时间。即上文所述-n,-x,-w,-i选项所设置的时间。
下面向读者介绍一下密码设置应注意的一些问题,对于UNIX系统来说,其安全性同每个用户的密码都有关系,一个设置得很好的密码会让攻击系统的黑客花费很长的时间而一无所得,而一个简单的密码会让一个精心设置的系统的安全毁于一旦。因而仔细地挑选密码对于每个用户来说都是一件很重要的工作。下面给出设置密码的一些建议:不要使用自己或家人的名字的汉语拼音,生日,门牌号电话号码来组成密码,也不要使用一个字典里能查得到的英文单词作来密码,这些都属于容易攻击的密码范围,也不要将密码记在一个别人看得见的地方。另外为了使密码易记,可以使用下面的方法,以一句英文句子的第一个字母或最后的五个字母来作为密码,例如:
Do you still love me tomorrow?
密码为Dyslmt?
这就是一个黑客们不大可能加入字典的一个密码,其安全性显然较好。另外密码中最好包含数字和大小写,这样安全性会有所提高。
(3)范例。更改密码:
lark:->passwd
Changing password for fangh
Old password:oldpass 密码并不显示出来
Enter the new password(minimum of 5, maximum of 8 characters)
Please use a combination of upper and lower case letters and numbers.
New password:newpass
Re-enter new password:newpass
Password changed
lark:->passwd-S 显示用户情况
fangh P09/05/97 0 99999 7-1
lark:->
59.paste
(1)简介
paste:将不同文件的行连接起来。
(2)部分参数说明
paste[-s][-d delim-list][--serial][--delimiters=delimlist][--help][-version][文件列表. . .]
-s, --serial:一次只从一个文件中取一行,而不是从每个文件中取一行。
-d, --delimitesr delim-list:使用delim-list中的符号来代替缺省的TAB键为行为割符。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
缺省的paste将输出到标准输出上。
(3)范例。将文件sourcel source2输出到文件dest中:
lark->paste sourcel source2 >dest
60.pr
(1)简介
pr:处理文件以便打印,输出到标准输出。
(2)部分参数说明
pr[+PAGE][-COLUMN][-abcdfFmrtv][-e[in-tab-char[in-tab-width]]][-b header][-i[out-tab-char[out-tab-width]]] [-l page-length][-n[number-separator[digits]]][-o left-margin][-s[column-seqarator]][-w pagewidth][--help][--version][文件列表. . .]
+PAGE:从第一PAGE页开始打印。
-COLUMN:输出COLUMN栏。
-d:将输出的每一行后加一新的空白行。
-e[in-tab-char[in-tab-width]]将TAB扩展为空格,in-tab-char为设定的TAB符(缺省就是TAB),in-tab-width,为每个TAB扩展为几个空格,缺省为8个。
-F, -f:在页间使用换页符,缺省使用新行填满剩余部分。
-h header:用header字符串来代替缺省的文件名作为输出的标题。
-i[out-tab-char[out-tab-width]]:将空格缩定写成TAB,out-tab-char为设定的TAB符(缺省就是TAB),out-tab-width为几个空格缩写为TAB,缺省为8个。
-l page-length:设置输出的每页有page-length行。
-m:将所有文件同时并行输出到几个栏位内。
-n[number-separator[digits]]:输出行号,number-separator为行号后的字符。缺省为TAB,digits为行号的位数,缺省为5。
-o left-margin:设定左边界为left-margin个空格。
-r:打不开文件时不输出错误信息。
-s[column-seqarator]:用单个字符column-separator分栏,缺省为TAB。
-w page-width:设定页宽为page-width列,缺省为72。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
(3)范例。对文件destfile进行处理:
lark:->pr -f destfile -n
97-09-08 21:15 destfile Page 1
1 total9
2 -rw-r--r 1fangh users 172 Sep 6 17:09 aaa
3 -rw-r--r 1fangh users 0 Sep 8 21:15 desfile
4 -rw-r--r 1fangh users 99 Sep 6 21:08 destfile
5 -rw-r--r 1fangh users 28 Sep 7 14:28 list
6 -rw-r--r 2fangh users 1024 Sep 6 17:09 mail/
7 -rw----- 1fangh users 3652 Sep 8 15:45 mbox
8 drwxr-xr-x 6fangh users 1024 Sep 6 16:57 mp3/
lark:->
(1)简介
ps:查看进程状态。
(2)部分参数说明
ps[-][lujsvmaxScewhrnu][txx][O[+|-]kl[[+|-]k2. . .]
--sortX[+|-]key[,[+|-]]key[,. . .]] --help --vesion [pids]
-l:长列表。
-u:用户格式:给出用户名和开始的时间。
-j:作业格式:给出pgid,sid。
-s:信号格式。
-v:虚拟存储器格式。
-m:显示内存信息。
-f:给出树状格式。
-a:显示其他用户的进程。
-x:显示没有控制台的进程。
-c:从task-struct中给出进程名。
-e:显示环境。
-w:宽行输出,不自动换行。
-h:无标题。
-r:只显示正在运行的程序。
-n:用数字来输出USER和WCHAN。
txx:只显示受tty.xx控制的进程。
pids:只显示特定的进程。
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
下面解释一下各栏的意义:
FLAGS:长格式的F域。 S: 睡眠。
UID: 用户的ID。 D: 不可打断的睡眠。
PID: 进程的ID。 T: 停止或跟踪。
PPID: 父进程的ID。 Z: 僵尸进程。
PRI: 进程优先级。 W: 进程没有驻留页。
NI: 标准UNIX的优先级 N: 进程有一负nice值。
SIZE: 虚拟内存的大小。 TTY: 进程的控制台。
RSS: 驻留空间的大小。 PAGEIN:主内存页失败的数目(页失败造成页
WCHAN:进程等待的内核事件。从磁盘或CACHE中读取)。
STAT: 进程状态:代码如下。TRS:文本驻留大小。
R: 正在运行。 SHARE:共享内存。
SWAP:交换设备上的K字节数。
(3)范例。显示当前进程:
lark:->ps -c
PID TTY STAT TIME COMMAND
8724 p4 s 0:00 tcsh
8876 p6 R 0:00 ps
lark:->
62.pwd
(1)简介
pwd:显示正在工作或当前目录名。
(2)部分参数说明
pwd [--help, --version]
--help:在标准输出上输出帮助信息并退出。
--version:在标准输出上输出版本信息并退出。
注意pwd输出的是真实路径名,它不会输出符号连接的目录名。
大多数UNIX shell内建pwd命令,这样用户运行的就有可能不是/bin/pwd这个 命令。
(3)范例。列出当前工作目录:
lark:->pwd
/home/fangh
lark:->
63.quota
(1)简介
qutoa[-guv|q]
qutoa[-uv|q] 用户名
qutoa[-gv|q] 组名
-g:显示用户所在某个组的磁盘限制。
-u:显示用户的磁盘限制(缺省设置)。
-v:显示没有分配空间的文件系统的分配情况。
-q:显示简洁的信息,除了超过限额的情况一般不显示。
注意 Linux缺省是不设置quota的,如果用户要设置quota请阅系统管理部分。
(3)范例
lark:->quota
Disk quotas for users fangh (uid 10000):none
lark:->
64.rcp
(1)简介
rcp:在计算机间拷贝文件。
(2)部分参数说明
rcp [-px][-k realm]源文件名 目标文件名
rcp[-px][-r][-k realm]源文件列表 目标目录
-r:如果源文件名是目录,则拷贝所有子目录,目标文件必须也是目录。
-p:尽量保持文件的修改时间和访问权限。
-k:要求rcp获得外部许可。
-x:给拷贝的数据流用DES方法加密。
注意 要成功地拷贝文件,用户必须在目标机器上具有运行rsh的权利。参见rsh和rlogin。
(3)范例。从机器siskin上拷贝文件:
lark:-> rcp siskin:/home/fangh/mbox./mbox
lark:->
65.reset
(1)简介
reset:将终端复位。
在使用终端的过程中,有时会发现屏幕在字符"花"掉了,这时使用reset就可以恢复,例如在运行完电路分析软件PSPICE后,就会发现屏幕字符错乱,使用reset就恢复正常。reset调用tput函数,向终端发出复位信号。如果屏幕被Ctrl+S锁住了,可以用Ctrl+Q来解除锁定。
(2)范例。将终端复位。
lark:->reset
66.rm
(1)简介
rm:删除文件或目录。
(2)部分参数说明
rm [-dfirvR][--directory][--force][--interactive]
[--recursive][--help][--version][--verbose]文件名列表. . .
-d, --directory:本选项将用unlink替代rmdir来删除目录,只有超级用户有权使用。这种删除方法不用先使目录为空,但本选项在目录非空时会造成目录中的文件簇丢失,在执行这个命令后可以用fsck来修复文件系统。
-f, --force:忽略不存在的文件,并且不给用户任何提示。
-i, --interactive:在删除每个文件时提示用户选择"y"或"n"。
-r, -R, --recursive:将整个目录删除,连带所有子目录。
-v, --verbose:删除每个文件时输出文件信息。
--help:在标准输出上输出帮助衆
相关阅读 更多 +