在Linux中有近千条的命令,由于篇幅的关系,不可能将所有的命令全部列出。本附录只是对一些常用的命令进行介绍。读者在使用没有列出的命令时,如果有任何疑问,可以使用“command --help”获得该命令的在线帮助,或着查看相关的man pages获得更详细地使用说明。
alias
用一个简单的名字来代替一条复杂的命令(起别名),如果忽略了命令名,则打印所有已定义的命令的别名 。
语法:
alias [参数] aliasname=’命令’
-t 为Linux命令创建一个可跟踪的别名。
-x 输出别名,使之在shell脚本中使用。
ash
由Kenneth Almquist在1989年编写,它的很多特性接近于SYSTEM V的shell。
语法:
ash [-eflijnsxz] [+eflijnsxz] [ -c 命令] [参数]
-c 若使用-c参数,则ash在执行完这条命令后退出。
-s 若用-s参数,则ash从标准输出中读入命令,如果不跟-c -s参数则ash以所跟的第一个参数为文件名,从此文件中读入命令,直接输出到exit。如果参数0的第一个字符是“-”则ash确定为login shell,ash将从/etc/profile或用户目录中的.profile读入相应的设置和环境变量。
-e 执行命令后返回值为非零值时退出ash。
-f 关闭ash自动产生文件名的功能。
-j 打开伯克利Unix风格的工作控制。
-n 读入命令但不执行。
banner
在输出行中打印高质量的标题,如果输出要打印的文字,则其等待从标准输入中输入一行文字。
语法:
/usr/games/banner [-wn] msg
-w 宽度。输出宽度从132到n,n默认值为80列
bash
是目前广泛使用的一种shell,同sh兼容,并且包含了ksh和csh中一些有用的特性。
语法:
bash [参数] [文件名]
-c 字符串 从字符串中读入命令,如果字符串后还有变量则被设定为从 $0开始的位置参数。
-i 交互式的执行命令。例如:rm –i。
-s 从标准输入中读命令,直到输入exit。
- 表示参数执行完毕,并且屏蔽此后所跟的参数,后面的所有变量都被看作是文件名。
-norc 如果bash是交互的,则不执行个人初始化文件~/.bashrc,如果bash作为shell来运行,这个参数缺省是关闭的。
-noprofile 不执行系统范围内的启动文件,也不执行个人启动文件~/.bash_profile、~/bash_login或~/.profile,缺省情况下,bash作为登录shell时以这些文件作为启动文件。
-rcfile文件名 如果bash是交互的,则以此文件作为bash的启动文件。
-version 在bash开始时显示此bash的版本号。
-quiet 不显示版本号或其它信息,这是默认值。
-login 激活bash伪装为登录shell。
-posix 改变bash的行为,使其符合Posix1003.2规定的标准。
cal
显示一个日历。对于查询某年某月某日的用户来说是非常有用的。
语法:
cal [-jy] [月 年]
-j x显示julian日期(日子是从1月1日开始累加的)
-y 显示今年的日历。
年份必需写全,“cal 99”是不正确的,应该写为“cal 1999”。月份必须是1-12之间的数字或英文全称。不加任何参数则输出本月日历。
cat
将文件连接到一起,用“>”操作将几个文件组合成一个新的文件,或者是用“>>”把文件追加到已存文件的后面。
语法:
cat [参数] filelist
-e 打印一个 $来表示每行的结尾,这个选项只有与-v选项一起使用才有效。
-v 显示控制字符或其它不可打印的字符。
-s 隐去不可读文件的信息。
-t 把每个tab打印为^l,并把Form feed用^L填充
-u 无缓冲的打印输出。
filelist 用于结合文件的可选列表。
cd
改变当前工作目录。
语法:
cd 目录名
如果后面不加目录名,则返回用户的根目录,此外用户必须拥有进入该目录的权限。
chgrp
该变文件的组所有权。一些chgrp命令的选项有长短两种选项格式。我们这里只列出这些选项的短表示方式。详细资料请参看man pages。
语法:
chgrp [参数] 组文件
-c 只有在文件的所有权确实改变时才进行详细地说明。
-f 不打印所有权不能该变的文件的错误信息。
-v 详细说明所有权的变化。
-R 递归改变目录及其内容的所有权
--help 在标准输出上打印使用信息并退出。
--version 在标准输出行上打印版本信息并退出。
group 要改变的组。可以是GID,也可以是有效组名。
files 要改变组所有权的文件列表,以空格分开。
若不是文件的所有者或root,则不能修改文件的组所有权。
chmod
改变文件的模式。文件模式控制了与该文件相关的访问权限,Linux有三个安全级别:所有者级、组访问级和其它用户级。在这三个级中,有三种权限:读、写和执行。对于标准文件,读权限意味着可以浏览文件的内容,写权限可以修改文件,执行权限可以运行该文件。目录形式有所不同。读权限可以浏览该目录下的内容,写权限可以在目录下创建文件或删除文件。执行权限意味着可以从一个目录转变到另一个目录。
语法:
chmod [参数] 保护模式 文件或目录
-c 只有在文件的权限确实改变时才进行详细地说明。
-f 不输出权限不能改变的错误信息。
-v 详细说明权限的变化。
-R 改变本目录及其所有子目录的文件的权限。
--help 在标准输出上输出帮助信息并退出。
--version 在标准输出上输出版本信息并退出。
保护模式 格式为[ugoa…] [ [+ - = ] [rwxXstugo…]…][,…]
cp
拷贝文件。
语法:
cp [参数] 源文件 目标文件或目录
-a 在备份中尽可能的保留源文件的结构和属性。
-b 做将要覆盖或删除文件的备份。
-d 将符号链接作为符号链接拷贝,而不拷贝它们所链接的文件。并在备份中保留源文件间固有的链接关系。
-f 删除已存在的目标文件。
-i 提示是否覆盖已存在的目标文件。
-l 形成固有链接以替代非目录的拷贝。
-P 通过加入目标目录分支和指定的源文件名形成每个目标文件名。给cp的最后一个变量必须是已存在的目录名。
-p 保留原先文件的所有者、组、权限和时间标志。
-r 递归拷贝目录。
-s 建立符号连接,替代非目录文件拷贝。
-v 在拷贝前打印每个文件名。
-R 同- r
--help 在标准输出上打印帮助信息并退出。
--version 在标准输出上打印版本信息并退出。
crontab
操作每个用户的守护程序和该执行的时间表。
语法:
crontab file [-u user] 用指定的文件替代目前的crontab。
crontab – [-u user] 用标准输入代替当前的crontab
crontab –l [user] 列出用户目前的crontab
crontab –e [user] 编辑用户目前的crontab
crontab –d [user] 删除用户目前的crontab
crontab –c dir 指定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 要运行的程序。
date
显示系统的时间和日期,root可以使用该命令来设置日期和时间。用户可以控制日期如何显示。
语法:
date MMDDhhmmyy或date+formate
MM 月(0-12)。
DD 日期(1-31)。
hh 小时(00-23)。
mm 分钟(00-59)。
yy 年(00-99)。
+format 由%和紧跟其后的下列字符组成:
n 插入一行。
t 插入tab。
m 月份(数字)。
d 日期(数字)。
y 年份的最后两位。
D nn/dd/yy格式的日期。
I 小时。
M 分钟。
s 秒。
W 星期(0-6,0为星期日)
dd
拷贝一个文件
语法:
dd [-help] [-version] [if=file] [of=file][ibs=bytes] [obs=bytes] [bs=bytes] [cbs=bytes]
[skip=blocks] [seek=blicks] [conv={ascii, ebcdic, ibm, block, unblock, lcase, ucase,
swab, noerror, notrunc, sync}]
if=file 以file作为源文件代替标准输入。
of=file 以file作为目标文件代替标准输出。
ibs=bytes 一次读bytes个byte。
obs=bytes 一次写bytes个byte。
cbs=bytes 一次读写bytes个byte,这个参数将改写ibs和obs的值。
skip=blocks 在开头忽略blocks个ibs大小的块。
seek=blocks 在开头忽略blocks个obs大小的块。
count=blocks 只拷贝blocks个ibs大小的块。
conv=conversion [, conversion. . .] 转换文件,可转换的文件格式有ascii, ebcdic, ibm, block, unblock, lcase, ucase, swab, noerror, notrunc, sync。
--help 在标准输出上输出帮助信息并退出。
--version 在标准输出上输出版本信息并退出。
df
检查磁盘剩余空间
语法:
df [参数]
-a 列出block为零的文件系统缺省是不列出的。
-i 用inode的使用情况来代替block的使用情况。
-k 以K为单位输出block(默认是512bytes)。
-P 使用Posix格式输出。
-T 输出每个文件系统的类型。
-t 只输出列出在fstype中的类型的文件系统。
-x 只输出不在fstype中的类型的文件系统。
-v 无用,只是为了和System V版本的df兼容。
--help 在标准输出上输出帮助信息并退出。
--version 在标准输出上输出版本信息并退出。
diff
比较两个文本文件的不同
语法:
diff [参数] 源文件 目标文件
-a 将所有文件当做文本文件来处理。
-b 忽略空格造成的不同。
-B 忽略空行造成的不同。
-q 只报告何处不同,不报告具体信息。
-c 使用纲要输出格式。
-e 输出ed可以编辑的格式。
-f 输出同-e类似的反序格式。
-H 利用试探法加速对大文件的搜索。
-i 忽略大小写的变化。
-l 用pr对输出分页。
-n 输出RCS格式。
-r 比较目录时比较所有的子目录。
-v 在标准输出上输出版本信息并退出。
du
报告磁盘空间使用情况
语法:
du [参数]
-a 显示文件的总合。
-b 以byte为单位输出所占空间的大小。
-c 在处理完所有的参数后给出所有这些参数的总计。
-k 以kilobytes为单位输出所占空间的大小。
-l 统计所有文件的大小即使它已经在另一个连接中被统计过了。
-s 对每个参数只显示总合。
-x –one file system 忽略不在本文件系统上的目录。
-D 不统计命令行参数的符号链接的文件。
-L 不统计符号链接的文件。
-S 单独统计每个目录的大小,不包括子目录的大小。
--help 在标准输出上输出帮助信息并退出。
--version 在标准输出上输出版本信息并退出。
echo
本命令传给它的参数在标准输出上显示。
语法:
echo [参数] 字符串
-a 不输出新行。
-e 使用echo显示下列Esc字符。
\ a 警告(响铃)。
\ b 退格。
\ c 在行尾不另起一行。
\ f 换页。
\ n 换行。
\ r 回车。
\ t 制表符。
\ V 垂直制表符。
\ \ 反斜杠。
\ nnn 字符的八进制码是nnn。
--help 在标准输出上输出帮助信息并退出。
--version 在标准输出上输出版本信息并退出。
env
修改命令执行环境,不影响当前环境。也可显示当前环境。
语法:
env [参数] 变量 命令
-u 从原环境中删除变量
-i 开始一个空环境,忽略原环境的所有设置。
--help 在标准输出上输出帮助信息并退出。
--version 在标准输出上输出版本信息并退出。
file
检查文件的类型
语法:
file [参数] [-f namefile] [-m magicfile] 文件名
-v 在标准输出上输出版本信息并退出。
-m magicfile 指定用来代替/etc/magic的新文件。
-z 检查压缩过的文件。
-c 输出正在处理的magicfile的分析表格,常同-m参数联合起来 使用测试新的magicfile文件。
-f namefile 从文件namefile中读取要分析的文件名列表。
-L 允许符号链接。
文件名 要分析的文件名。
find
搜索特定的文件
语法:
find [路径..] [匹配表达式]
路径 要搜索的目录。
匹配表达式 要搜索的文件匹配标准或说明。
-name 文件名 告诉find要查找的文件。
-perm 模式 匹配所有符合指定数值模式值的文件,如果模式前面是“-”号,则搜索所有除这个模式以外的所有模式。
-size n 匹配大小为n个block的文件名。
-user 用户名 搜索所有属主为用户名的文件。
-group 组名 搜索所有属主为组名的文件。
-atime n 搜索在n天前访问过的文件。
-mtime n 搜索在n天前修改过的文件。
-exec 命令 对每个匹配的文件执行命令,标志{}用于指定命令执行时文件名出现的地方,命令必须终止于符号“\;”。
-print 将搜索结果输出到标准输出。
finger
显示系统中用户的信息。
语法:
funger [参数] 用户名
-b 在输出结果中略去用户的home和shell。
-f 隐藏头部几行。
-l 强迫长输出。
-p 不打印.plan文件。
-q 显示用户的快速列表。
-s 显示一个短格式。
user 指定登录名、实际名和姓。
fortune
输出一段寓言或谚语
语法:
fortune
grep
在文件中搜索匹配的行并输出。
grep
在文件中搜索匹配的行并输出。
语法:
grep [ -[AB] ]num] [ -[CEFGVBchilnsvwx] ] [-e]正确表达式 | -f file] [文件名]
-A num 输出匹配行后的num行。
-B num 输出匹配行前的num行。
-V 输出版权信息。
-f file 从文件中读入表达式。
-q 不输出。
-s 不输出错误信息。
gzexe
将可执行文件压缩成较小的可执行文件。
语法:
gzexe [文件名. . .]
-d 解压缩
gzip
压缩或解压缩文件
语法:
gzip [参数] 文件名。
-d 解压缩。
-h 显示帮助信息并退出。
-t 检验压缩文件。
-V 显示版权信息并退出。
-v 输出压缩信息。
-# #为0-9的数字,数字越小速度越快,但是压缩比越小。
-c 压缩结果输出到标准输出,如不加-c参数,则gzip将压缩为.gz文件并删除源文件。
head
显示文件的前几行。
语法:
head [参数] 文件
-c N 输出文件的前N个字节。
-n N 输出文件的前N行。
-q 不输出文件名的信息。
-v 输出文件名的信息。
--help 在标准输出上输出帮助信息并退出。
--version 在标准输出上输出版本信息并退出。
id
显示用户的系统标志,报告用户名、用户号(ID)、组名和组号(GID)。
语法:
id [参数]
-g 只显示组号。
-G 只显示次要组。
-u 只显示用户号。
--help 在标准输出上输出帮助信息并退出。
--version 在标准输出上输出版本信息并退出。
kill
终止当前进程。
语法:
kill [信号] 进程号
信号 送入可选信号,缺省值为SIGTERM。其它两个常用值,一个是SIGHUP,是调制解调器通过电话挂起的设备;另一个是SIGKILL,不能被进程忽略。
-l 显示可用kill传送的信号名称表。
less
按页显示文件。类似于more,但允许在文件中前后移动。
语法:
less [参数] 文件名
-? 输出less可以接受的命令选项。
-a 在屏幕上输出最后一行之后开始查询。
-c 从顶行向下全屏重写。
-C 与-c同,但写之前清屏。
-e 第二次到文件尾部时退出less。默认的退出方法是按“q”键。
-E 第一次到文件尾后自动退出less。
-i 查询时忽略大小写。
-n 去掉行号。
-o file 将输出拷贝到文件。
-q 不输出响铃。
-Q 同-q。
-s 将多个空行压缩成一个空行。
-x n 每次按制表符走n格,n的默认值是8。
ln
在文件间建立链接。
语法:
ln [参数] 源文件 目标文件
-b 为删除的文件建立备份。
-d,-F 允许root建立硬连接。
-f 删除目标文件。
-i 在删除文件时给出提示。
-n 如果目标文件是一个目录的符号链接,则代替此符号链接,而不是在这个目录中做链接。
-s 用符号链接代替硬连接。
-v 输出每个要连接的文件的文件名。
--help 在标准输出上输出帮助信息然后退出。
--version 在标准输出上输出版本信息然后退出。
ls
列出目录中的内容。
语法:
ls [参数] [目录]
-A 显示所有文件,包括隐藏文件(以“.”开头的文件,但不列出当前目录“.”和上级目录“..”。
-a 显示所有文件,包括“.”和“..”目录。
-c 按列列出文件。
-x 按行列出文件。
-d 只列出目录名;不列出它的内容。
-l 给出文件的长列表。包括权限、所有权、大小、文件名、最后修改时间等等。
阅读和发送邮件给其它的用户
语法:
mail [参数] [用户名]
-? 输出该命令的一个摘要。
-e 检查收件箱中的邮件。
-f file 打开文件来阅读邮件,如果没有指定文件,则使用mbox文件。
-F 把发送邮件保存在和第一个收到信息同名的文件中去。
-H 显示邮件箱中内容的头部信息概要。
-s Subject 把邮件头部中的主题栏设置为Subject。
-u 阅读用户的收件箱。
man
显示具有一定格式的在线手册。
语法:
man [参数] [section] 查询名
-a 显示匹配查询名的所有信息。
-b 在输出中留空行。
-d dir 把指定目录dir加到搜索路径中。
mcopy
从DOS文件系统拷贝文件或把文件拷贝到DOS文件系统。
语法:
mcopy [参数] 源文件 目标文件
-t 文本文件传输。Mcopy将回车/换行翻译成换行。
-n 当覆盖一个已存在的文件时不警告用户。
-m 保存文件修改时间。
mdir
显示MS-DOS目录的内容。
语法:
mdir [-w] 目录名
-w 用没有文件大小和建立日期的宽格式显示目录。
mesg
选择接收或不接收其它用户发送来的信息。
语法:
mesg [y] [n]
此命令用来控制接收其它用户利用talk或write向用户发出的信息,如果不想接收的话,使用mesg n就可以不接受别的用户向用户的终端发送过来的信息。
mkdir
建立新的目录
语法:
mkdir [参数] 目录名
-m mode 为新目录设置访问的模式。
-p 如果父目录不存在,创建所有的父目录。
more
分屏显示文件。按Enter键显示下一行,按空格键显示下一屏。
语法:
more [参数] [文件名]
-c 按页显示文件时,清空每个窗口而非卷动,因为这要快一些。
-f 统计逻辑行数而非屏幕行数。
-l 略过from-feed字符。
-r 强制以“^X”来显示控制字符。
-s 把多行空白用一行显示。
mv
移动或更名文件和目录
语法:
nv [参数] 源文件 目标文件
-b 为移动的文件制作备份。
-f 强制覆盖已有文件。
-i 在覆盖已有文件前提示用户。
-u 在目标文件的时间比原文件新时不覆盖目标文件。
-v 在移动文件时输出相关信息。
passwd
设置用户口令。
语法:
passwd [参数] 用户名
-l 屏蔽一个用户的帐号
-n 设定用户只有在min天后才可以修改密码。
-s 显示口令信息,如用户名、口令状态、最后改动时间。
-w 在max天后用户需要修改密码。
-x 设置用户密码有效的最长时间。
ps
报告进程状态。由于进程在执行中运行得很快,本报告只能反映查询瞬间的状态。
语法:
ps [参数]
-l 给出长列表。
-u 显示用户名和起始时间。
-j 按作业格式进行输出。
-s 按信号格式进行输出。
-v 按虚拟内存格式显示。
-m 显示内存信息。
-a 显示其它用户的进程。
-x 显示不带控制终端的进程。
-S 增加子CPU时间和页面出错。
-c 从内核的task_structune上列出命令行。
-e 显示环境。
-w 用宽格式输出。
-h 不显示题头。
-r 只显示正在运行的进程。
-n 为USER和WCHAN提供数字输出。
-txx 只显示受tty.xx控制的进程。
下面为所显示报告的各列及其说明:
PID 进程号。
PRI 进程优先级。
NI Linux进程的nice值。负值意味着占用较小的CPU时间。
SIZE 虚拟映像的大小,大小的计算为文本+数据+栈。
RSS 驻留空间的大小。显示当前常驻内存的程序的K字节数。
WCHAN 进程等待的内核时间的名称。
STAT 进程的状态,用下面代码中的一个给出。
R 可执行的。
S 睡眠状态。
D 不间断睡眠。
T 停止或跟踪。
Z 僵持。
W 进程没有驻留页。
TT 控制进程的tty名称。
PAGEIN 造成从磁盘读取页出错页面号。
TRS 文本驻留大小。
SWAP 交换设备上的K字节数。
pwd
显示正在工作或当前的目录名。
pwd [参数]
--help 在标准输出上输出帮助信息然后退出。
--version 在标准输出上输出版本信息然后退出。
rcp
远程拷贝命令。
语法:
rcp [参数] 主机名:文件1 主机名 文件2
-r 如果源文件是目录,则拷贝所有子目录,目标文件也必须是目录。
-p 尽量保持文件的修改时间和访问权限。
-k 要求rcp获得外部许可。
-x 给拷贝的数据流用DES方法加密。
reset
将终端复位。
如果由于某种原因终端在使用的过程中花掉了,这时使用reset就可以恢复。Reset调用tput函数,向终端发出复位信号。如果屏幕被Ctrl+s锁住了,可以使用Ctrl+q解除锁定。
rm
删除一个或多个文件。
语法:
rm [参数] 文件或目录
-f 忽略不存在的文件,并且不给用户任何提示。
-i 在删除每个文件时提示用户。
-r 删除目录。
-v 删除每个文件时输出文件信息。
--help 在标准输出上输出帮助信息然后退出。
--version 在标准输出上输出版本信息然后退出。
rmdir
删除空目录。
语法:
rmdir [参数] 目录列表
sdiff
产生文件1和文件2的并排比较,输出为:
text text 相同行。
text<行只存在于文件1中。
>text行只存在于文件2中。
text|text行不同。
语法:
sdiff [参数] 文件1 文件2
-w width 指定输出行宽度为width个字符。
-l 相同的行只输出在输出的左边。
-s 不显示相同的行。
文件1 输出中处于左边的文件。
文件2 输出中处于右边的文件。
set
显示shell变量的值
setcolor
设置屏幕的颜色和其它的属性。
语法:
-b color 把背景颜色设置为color。
-g color1 color2 把前景颜色设置为color1,背景颜色设置为color2。
-n 把屏幕复位为默认值白色前景黑色背景。
-r color1 color2 设置屏幕的反转显示前景为color1,反转显示背景为color2。
-o color 设置边框为color。
sync
清空Linux文件系统的缓冲区。
在系统的CPU停止工作以前必须调用该命令来将系统的缓冲区写入硬盘。Reboot和halt命令都调用该命令来清空缓冲区。Linux的优点之一就是磁盘存取速度很快,这是因为它将不用的内存都拿来当缓冲,这样系统在关机之前必须将缓冲清空,否则就会丢失数据。
su
改变用户的ID或变成root
语法:
su 用户名
tail
显示文件的最后一部分。
语法:
tail [参数] 文件名
tail默认显示文件列表中每个文件的后10行 ,如果没有文件名或文件名为“-”则其从标准输入中读取文件,如果有多个文件则其会在文件前面加上“==>文件名<==”以便区别。
-c N 显示文件后部的N比特大小的部分,N后面可以跟bkm参数。
b 512比特的块。
k 1k的块。
m 1M的字节块。
-f 如果文件的大小在增长的话,tail将跟随文件的增长而显示。
-l , -n N 显示文件的尾部N行。
-v 一直输出“==>文件名<==”形式的文件。
--help 在标准输出上显示帮助信息然后退出。
--version 在标准输出上显示版本信息然后退出。
tar
从一个打包介质中拷贝文件或恢复文件。如果files是目录,则整个子目录都一起操作,参数不需在文件之前。
语法:
tar [参数] 文件
-A 向归档文件中追加另一个tar文件。
-c 建立新的归档文件。
-d 将归档文件和系统文件进行比较。
--delete 从归档文件中删除文件。
-r 向归档文件末尾追加文件。
-t 对归档文件列目录。
-u 只追加比归档文件中的文件更新的文件。
-x 从归档文件中解开文件。
-b N 块的大小为N乘以512比特。
-B 为兼容BSD而设。
-C DIR 将目录名改为DIR。
--checkpoint 在读归档文件时输出文件名。
-v 处理时显示文件名。
tcsh
是类似bash的命令解释程序,是通用C shell的扩展。与bash一样,tcsh自己是完整的程序编辑语言,具体信息请查看mann pages。
tee
从标准输入中读取向标准输出或其它文件中写入。
语法:
tee [参数] 文件
-a 把输出附加到文件中,而不是覆盖它们。
-i 忽略所有的中断。
-u 使输出没有缓冲。
--help 在标准输出上输出帮助信息然后退出。
--version 在标准输出上输出版本信息然后退出。
test
最常见于if语句和while。If语句和while是shell的控制结构。在Bourne shell中编程使用。当要检测的结果为真时,test返回0,退出。
语法:
test [表达式]
-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旧则为真。
文件1 –ef 文件2 如果文件1比文件2在相同的设备上并且有相同的inode则为真。
-z 字符串 如果字符串长度为0则为真。
-n 字符串 如果字符串长度不为0则为真。
字符串1=字符串2 如果两个字符串相等则为真。
字符串1!=字符串2 如果两个字符串不相等则为真。
!表达式 如果表达式为假则为真。
表达式1 –a表达式2:表达式1和表达式2都为真则返回真。
表达式1- o 表达式2:表达式1或表达式2只要有一个为真就返回真。
time
确定程序执行多长时间。
语法:
time 命令
time报告了三个不同时间:
real 从开始命令起全部占用的时间,有时被称为“挂钟”时间。
user 花费CPU外部系统时间的时间总和。
sys 花费内核时间的总和,就是花费在满足系统需要的时间的总和。
所有CPU时间是user+sys时间的总和,这与real时间的不同之处在于real包含CPU花费在其它任务上的时间。
top
显示系统的最高进程。
该命令可以即时显示当前系统占用CPU时间的进程,它同时提供一个交互的界面让用户可以观察系统进程情况,并按照CPU使用情况、占用内存大小、运行时间来对进程排序,这是系统管理的一项必不可少的工具。
语法:
top [参数]
d 设定刷新屏幕的时间间隔。
q 此选项使top刷新时间为零,如果超级用户使用这个选项的话,则top以最高优先级运行。
S 设定累积模式,即对外界输入不作任何反应。
i 忽略死进程和僵尸进程。
c 显示命令行。
在运行top时按下“h”键就可以观看top交互命令的帮助。
tr
将文件中的字符从一种形式翻译或变换成另一种形式。例如,可以用tr将所有制表符该为空格。本命令用相对简单的结构能够做比较有力的字符处理。
语法:
tr [参数] 源字符串 目标字符串
-c 通常tr命令用目标串中的字符替换源串字符,在输出部分显示文件发生替换的原始内容。本选项限定指定的源串字符输出,并有效地附加字符到目标串。
-d 删除源串中指定的字符。
-s 去除目标串中指定的在输出时产生的重复字符,在输出中只剩下一个重复的字符。
tty
报告当前登录的终端设备名或检测标准输入是否是终端。
语法:
tty –s
-s 本选项测试标准输入是否是终端,不产生输出。若标准输入是终端,则结果为0,否则为1。
mount unmount
mount 安装一个文件系统。
umount 卸下一个文件系统。
语法:
mount –a [参数] [文件系统类型]
-V 输出版权信息。
-h 输出帮助信息。
-v 校验模式。
-a mount在文件/etc/fstabb中定义的所有文件系统。
-F 同-a连用,并行mount所有的文件系统。
-f 与-v连用,不做真实mount过程只是检查输出。
-n 安装文件系统后不写入/etc/mtab。
-r 将文件系统安装为只读模式。
-w 将文件系统安装成读写模式。
-t vfstype 指定文件系统的类型。如:minix,ext,ext2,xiafs,hpfs,msdos,umsdos, vfat,nfs,iso9660,smbfs等等
-o 设定mount的一些参数。
async 文件系统必须被异步写入。
atime 每次访问时将i节点的访问时间更新。
auto 自动选择文件系统的类型。
defaults 使用默认选项suid,dev,exec,auto,nouser与async等。
dev 解释文件系统上的特殊设备文件。
exec 允许运行文件系统上的可执行文件。
noatime 每次访问时不将i节点的访问时间更新。
noauto 禁止自动选择文件系统类型。
nodev 禁止解释文件系统上的特殊设备文件。
noexec 禁止运行文件系统上的可执行文件。
nosuid 禁止设定用户ID位和设定组位起作用。
nouser 禁止非root用户使用。
remount 重新mount一个已mount的文件系统。
ro 将文件系统mount为只读模式。
rw 将文件系统mount为读写模式。
suid 允许设定用户ID位和设定组位起作用。
sync 文件系统必须被同步写入。
user 允许非超级用户使用。
uname
显示系统信息。
语法:
uname [参数]
-m 显示计算机硬件种类。
-n 显示计算机的网络节点名。
-r 显示操作系统发布版本。
-s 显示操作系统名称。
-v 显示操作系统发行的版本。
-a 显示上面所有的信息。
--help 在标准输出上输出帮助信息并退出。
--version 在标准输出上输出版本信息并退出。
wall
向所有的用户发布信息。
语法:
wall 文件名
wall将给定文件名输出到所有登录用户的屏幕上,如果不给出文件名则以标准输入作为输入,以Ctrl-D作为文件结束符。只有root才能向那些设为屏蔽信息状态的用户的屏幕上输出信息。
wc
统计文件中字符、字和行的数量。
语法:
wc [参数] 文件
-c 只输出字节数。
-w 只输出单词数。
-l 只输出行数。
--help 在标准输出上输出帮助信息并退出。
--version 在标准输出上输出版本信息并退出。
who
查看当前系统上的用户和其它用户及登录信息。
语法:
who [参数] utmp式的文件
utmp式的文件 这是一个二者挑一的文件,读取它可以获得登录信息,通常是/var/log/wtmp。
-m 同whoami和“who am i”
-q 只输出用户的登录名和正在使用的用户数目。
-i 输出用户发呆时间,“.”表示用户没有发呆,“old”表明用户发呆超过24小时。
-H 输出报头。
-w,-T 输出用户的信息屏蔽状态。
+ 可写。
- 不可写。
? 不能发现终端设备。
--help 在标准输出上输出帮助信息并退出。
--version 在标准输出上输出版本信息并退出。
write
向另一个用户发送信息。
如果用户不是root,则不能对设定message n的用户发送信息,输入完毕后,使用Ctrl-D结束。
zcat
解压缩一个文件(以.z结尾)内容,而不改变压缩文件本身。
语法:
zat 文件.z