1、Unix常用命令第一章 目录及文件操作命令1.1 ls语法: ls -RadCxmlnogrtucpFbqisf1 目录或文件说明: ls 命令列出指定目录下的文件,缺省目录为当前目录 ./,缺省输出顺序为纵向按字符顺序排列。-R 递归地列出每个子目录的内容-a 列出所有文件,包括第一个字符为“.”的隐藏文件-d 若后面参数是目录,则只列出目录名而不列出目录内容,常与-l选项连用以显示目录状态。-C 输出时多列显示-x 横向按字符顺序排列-m 输出按流式格式横向排列,文件名之间用逗号(,)分隔-l 长列表输出,显示文件详细信息,每行一个文件,从左至右依次是:文件存取模式 链接数 文件主 文件组
2、 文件字节数 上次修改时间其中文件存取模式用 10个字母表示,从左至右的意义如下:第一个字母表示文件种类,可以是以下几种情况:d 为目录文件l 为链接b 为块文件c 为字符型文件p 为命名管道(FIFO)- 为普通文件后面 9个字母分别表示文件主、同组用户、其他用户对文件的权力,用 r表示可读,w 表示可写,x 表示可执行。如果是设备文件,则在文件字节数处显示:主设备 从设备。 -n 与-l 选项相同,只是文件主用数字(即 UID)显示,文件组用数字(即 GID)表示-o 与-l 选项相同,只是不显示文件组-g 与-l 选项相同,只是不显示文件主-r 逆序排列-t 按时间顺序排列而非按名字-u
3、 显示时间时使用上次访问时间而非上次修改时间-c 显示时间时使用上次修改 i节点时间而非上次修改时间-p 若所列文件是目录文件,则在其后显示斜杠(/)-F 在目录文件后加/,在可执行文件后加*-b 文件名中若有非打印字符,则用八进制显示该字符-q 文件名中的打印字符用?表示-i 显示节点号-s 显示文件长度时使用块长度而非字节长度-f 将后面的参数解释为目录并列出其中的每一项-1 每行仅列一项例子:ls 列出当前目录下的文件ls -al /bin 以长列表的形式列出目录 /bin 下的所有文件,包括隐藏文件1.2 pwd语法: pwd说明: 本命令用于显示当前的工作目录例子:pwd 显示出当前
4、的工作目录1.3 cd语法: cd 目录说明:本命令用于改变当前的工作目录,无参数时使用环境变量$HOME 作为其参数,$HOME 一般为注册时进入的路径。例子:cd 回到注册进入时的目录cd /tmp 进入 /tmp 目录cd / 进入上级目录1.4 mkdir语法: mkdir -m 模式 -p 目录名说明: 本命令用于建立目录,目录的存取模式由掩码(umask)决定,要求对其父目录具有写权限,目录的 UID和 GID为实际 UID和GID-m 按指定存取模式建立目录-p 建立目录时建立其所有不存在的父目录例子:mkdir tmp 在当前目录下建立子目录 tmpmkdir -m 777 /
5、tmp/abc 用所有用户可读可写可执行的存取模式建立目录 /tmp/aaa ,存取模式参看命令 chmodmkdir -p /tmp/a/b/c 建立目录 /tmp/a/b/c ,若不存在目录 /tmp/a及/tmp/a/b 则建立之1.5 rmdir语法: rmdir -p -s 目录名说明: 本命令用于删除目录-p 删除所有已经为空的父目录-s 当使用-p 选项时,出现错误不提示例子:rmdir /tmp/abc 删除目录 /tmp/abcrmdir -p /tmp/a/b/c 删除目录 /tmp/a/b/c ,若目录 /tmp/a /b及/tmp/a 空,则删除1.6 cat语法: c
6、at -u -s -v-t -e 文件说明: 显示和连接一个或多个文件至标准输出-u 无缓冲的输出(缺省为有缓冲输出)-s 对不存在的文件不作提示-v 显示出文件中的非打印字符,控制字符显示成n ,n 为八进制数字,其他非打印字符显示成 M-x , x 为该字符低 7位的 8进制数值-t 在使用-v 选项时,将制表符(tab) 显示成 I,将换页符(formfeed)显示成 L-e 在使用-v 选项时,在每一行的行尾显示 $例子:cat file 显示文件cat -s -v -e file1 file2 file3 逐个显示文件 file1 file2 file31.7 head语法: hea
7、d -n 文件 .说明: 将文件的头 n 行显示输出,缺省值为 10 行,显示多个文件时,在每个文件的前面加上 = 文件名 edscript1.17 wc语法: wc -lwc 文件说明: 统计文件的行、字、字符数,若无指定文件,则统计标准输入-l 只统计行数-w 只统计字数-c 只统计字符数例子:wc -l file1 file2 统计文件 file1和 file2 的行数1.18 split语法: split -n 文件 名字说明: split 将指定大文件分解为若干个小文件,每个文件长度为 n行(n 缺省时为 1000),第一个小文件名为指定的名字后跟 aa,直至 zz,名字缺省值为 x
8、,若未指定大文件名,则使用标准输入例子:split -500 largefile little将文件 largefile 每 500行写入一个文件,第一个文件名为littleaa1.19 touch语法: touch -amc mmddhhmmyy 文件说明: 将指定文件的访问时间和修改时间改变,若指定文件不存在则创建之,若无指定时间,则使用当前时间,返回值是未成功改变时间的文件个数,包括不存在而又未能创建的文件。-a 只改变访问时间-m 只改变修改时间-c 若文件不存在,不创建它且不作提示mmddhhmmyy 两位表示 月日时分年例子:touch file更新文件 file的时间touch
9、0701000097 HongKong将文件 HongKong的时间改为 97年 7月 1日 0时 0分1.20 file语法: file -f 文件名文件 文件说明: file 对指定文件进行测试,尽量猜测出文件类型并显示出来-f 文件名文件 文件名文件是一个包含了文件名的文本文件, -f 选项测试文件名文件中所列出的文件例子:file * 显示当前目录下所有文件的类型1.21 pack语法: pack 文件说明: pack 将指定文件转储为压缩格式,文件名后加 .z , 文件存取模式,访问时间,修改时间等均不变例子:pack largefile 将 largefile 压缩后转储为 lar
10、gefile.z1.22 pcat 显示压缩文件语法: pcat 文件说明: pcat 显示输出压缩文件例子:pcat largefile.z 显示压缩前的 largefilepcat largefile.z oldfile 显示压缩前的 laregfile,并将其重定向到文件 oldfile中1.23 unpack语法: unpack 文件说明: 将压缩后的文件解压后转储为压缩前的格式例子:unpack largefile.z 将压缩文件 largefile.z解压后转储为largefile1.24 find语法: find 路径名 表达式说明: find 命令递归地遍历指定路径下的每个文件
11、和子目录,看该文件是否能使表达式值为真,以下 n 代表一个十进制整数,+n 代表打印 n , -n 代表小于 n ,下面是合法表达式说明:-name 模式 文件名与模式匹配则为真,( 为转意符)-perm -八进制数 文件存取模式与八进制数相同则为真若有- 选项,则文件存 取模式含有八进制数规定模式即为真-size nc 文件块长度为 n 则真(一块为 512字节),若有 c 选项,则文件字节长度为 n 则真-atime n 若文件的最近访问时间为 n 天前则为真,find 命令将改变其访问的目录的访问时间-mtime n 若文件的最近修改时间为 n 天前则为真-ctime n 若文件状态为
12、n 天前改变则为真-exec 命令 ; 若命令返回值为 0则真, 内为命令参数,此命令必须以 ; 为结束-ok 命令 ; 与 exec 相同,只是在命令执行前先提示,若回答 y 则执行命令-print 显示输出使表达式为真的文件名-newer 文件 若文件的访问时间比 newer 指定的文件新则真-depth 先下降到搜索目录的子目录,然后才至其自身-mount 仅查找包含指定目录的文件系统-local 文件在当前文件系统时为真-type c 文件类型为 c 则真,c 取值可为 b(块文件) c (字符文件)d(目录) l (符号链接) p (命名管道) f (普通文件)( 表达式 ) 表达式
13、为真则真-links n 文件链接数为 n 时为真-user 用户 当文件属于用户时为真,用户可用数字表示 UID-nouser 当文件不属于 /etc/passwd 中的一个用户时为真-group 文件组 当文件属于文件组时为真,文件组可用数字表示GID-nogroup 当文件不属于 /etc/group 中的一个组时为真-fstype 类型 当文件所属文件系统类型为指定类型时真-inum n 当文件 i 节点号为 n 时为真-prune 当目录名与模式匹配时,不再搜索其子目录可以用逻辑操作符将简单表达式连接成复杂表达式逻辑操作符有 ! 表示非操作, -o 表示或操作,两个表达式并列则表示与
14、操作例子:find / -name find* -print从根目录开始搜索文件名如 find* 的文件并显示之find ./ -exec sleep1; -print每秒显示一个当前目录下的文件find $HOME (-name a.out -o -name *.o ) -atime +7 -exec rm ;从$HOME 目录开始搜索,删除所有文件名为 a.out 或 *.o 且访问时间在 7天前的文件1.25 grep语法: grep 选项 模式 文件.说明: 在指定的文件中搜索模式,并显示所有包含模式的行,模式是一个正规表达式,在使用正规表达式时,最好将其引在单引号() 中,若指定文件
15、为缺省,则使用标准输入,正规表达式可以是:. 匹配任意一个字符* 匹配 0个或多个*前的字符 匹配行开头$ 匹配行结尾 匹配 中的任意一个字符,中可用 - 表示范围,例如a-z表示字母 a 至 z 中的任意一个 转意字符命令中的选项为:-b 显示块号-c 仅显示各指定文件中包含模式的总行数-i 模式中字母不区分大小写-h 不将包含模式的文件名显示在该行上-l 仅显示包含模式的文件名-n 显示模式所在行的行号-s 指定文件若不存在或不可读,不提示错误信息-v 显示所有不包含模式的行例子:grep good * 在所有文件中搜索含有字符串 good 的行grep myline mytext 在文件
16、 mytext中搜索行首出现 myline字符串的行1.26 vi语法:vi -wn -R 文件说明: vi 是一个基于行编辑器 ex 上的全屏幕编辑器,可以在vi 中使用 ex,ed 的全部命令,vi 选项中 -wn 指将编辑窗口大小置为 n行,-R 为将编辑的文件置为只读模式, vi 工作模式分为命令模式和输入模式,一般情况下在命令模式下,可敲入 vi命令,进入输入模式下时可以编辑要编辑的文本,命令 a A i I o O c C s S R 可进入输入模式,在输入模式下按 ESC 键可推出输入模式,回到命令模式,在命令模式中敲入: 命令,则可进入 ex方式,在屏幕底部出现提示符 : ,此
17、时可使用任意 ex命令,屏幕底行也用来作/ ? ! 命令的提示行,大多数命令可以在其前面加数字,表示命令执行的重复次数,下面简单介绍一下 vi 的命令集, 表示(CTRL)键B 退回前一页,前面加数字表示重复次数,每次换页时保留上一页的两行D 在命令模式下,表示下滚屏幕的一半,在输入模式下,表示回退至左边的自动缩进处E 显示屏幕底线之下的一行F 前进一页,前面加数字表示重复次数,每次换页时保留上一页的两行G 显示当前文件名,当前行号和文件总行数,并用百分号当前行在整个文件中的位置H(退格) 在命令模式下,光标左移一格;在输入模式下,删去前面的字符 I(TAB) 在输入模式下,产生一串空格J(L
18、F) 光标下移一行L 刷新屏幕,即将屏幕重新显示M(回车) 在命令模式下,光标移动至下行开头在输入模式下,开辟一新行N 光标下移一行P 光标上移一行Q 在输入模式下,将其后的非打印字符作为正文插入R 刷新屏幕U 屏幕上滚一半,前面加数字时表示上滚的行数,此数字对以后的D U 命令有效V 在输入模式下,将其后的非打印字符作为正文插入W 在输入模式下,使光标回退一个字Y 显示屏幕底线之上的一行Z 暂停编辑,退回上层 Shell(ESC) 退出输入模式,回到命令模式! 暂时退出编辑,执行 Shell命令(双引号) 用于标志有名缓冲区,编号缓冲区 1-9用于保存被删去的正文,字 母名缓冲区 a-z供用
19、户存放自定义的正文$ 将光标移动到当前行尾,前加数字则表示前移行数,如 2$表示移动 到下一行行尾% 将光标移动到配对的小括号()或大括号上去( 退回句子开头) 前移到句子开头- 退到上一行第一个非空格字符. 重复上一次改变缓冲区内容的命令/ 模式 向前搜索模式,将光标移动到模式出现处,模式是一个正规 表达式,(参看 grep): 在屏幕底部提示:,其后可使用 ex命令? 功能同 / ,但方向是向前查找 光标回退至前一节分界处 转意符 光标前移至节分界处(不是 CTRL) 光标移至当前行第一个非空字符上 连续两个”表示将光标移至其移动前的位置,后跟字母表示光标字 母标记的行首(参看 m 命令)
20、A 在行尾插入正文,进入输入模式B 光标回退一个字C 替换光标后的内容D 删除光标后的内容E 光标前移到字尾F 字符 在当前行向左查找指定字符G 光标移动到其前面数字指定的行,若未指定则移动到最后一行 H 光标移动到屏幕顶行,若前面有数字,则移动到屏幕上该数字 指定的行I 在行开头插入正文J 连接两行,若前面有数字则连接数字指定的行L 光标移动到屏幕底行,若前面有数字,则移动到屏幕底线往上数该 数字指定的行M 光标移动到屏幕中线N 使用模式查找/或?时,重复找下一个匹配的模式,但方向与上次相 反,其功能同 n ,但方向相反O 在当前行上开辟一新行P 将上次被删除的正文插入光标前面,可在其前面加
21、缓冲区编号,编 号 1-9用于保存被删去的正文,字母名缓冲区 a-z供用户存放自定 义的正文Q 从 vi 推出进入 ex命令状态R 替换字符串S 替换整行T 字符 向左查找字符U 将当前行恢复至第一次修改前的状态W 光标移至下一个字首X 删除光标前的字符Y 将当前行存入无名缓冲区,前面加数字表示存入的行数,也可用有 名缓冲区来保存,以后可用命令 p或 P将其取出ZZ 存盘退出 via 光标后插入正文b 光标回退至上一个字首cw 替换当前字c) 替换当前句子dw 删除一个字dd 删除一行e 光标移到下一个字末f 字符 在当前行向前查找字符h 光标左移一格i 在光标前插入正文j 光标下移一行k 光
22、标上移一行l 光标右移一格m 字母 用字母标记当前行,以后可用 字母使光标移动到当前行,(参看 命令 )n 重复上次 / 或 ? 命令o 在当前行下开辟一新行p 将用户缓冲区内容放到光标位置(参看 P命令)r 替换当前字符s 用一串字符替换当前字符t 字符 光标移动至字符前u 取消上次操作w 光标移至下一字首x 删除当前字符yw 将当前字存入无名缓冲区,前面可加 x,表示存入名字为 x的有名 缓冲区(x 为 a-z),也可加数字表示存入的字数,以后可用 P或p命 令取出yy 将当前行存入无名缓冲区,用法参看 yw 光标移动至前一段开头| 光标移至行首,若前面加数字,则移到数字指定行的行首 光标
23、移至下一段开头在:提示符下,常用命令如下::w 当前文件存盘:w! 强制存盘:w 文件 将内容写入指定文件:w! 文件 强制写入指定文件:x,y w 文件 将 x 至 y 行写入指定文件中:r 文件 将文件读到光标位置:r ! 命令 将系统命令的输出读到光标位置:q 退出编辑:q! 强制退出:x 与命令 ZZ相同:e 文件名 编辑另一文件:e ! 重新编辑文件,放弃任何改变:sh 执行 sh,结束后回到编辑:! 命令 执行命令后回到编辑:n 编辑下一文件:n 文件表 重新定义待编辑文件表:set 设置 vi 的选项,例如 set nu 表示每行前显示行号,在选项前 加 no则表示清除该选项,例
24、如 set nonu 表示每行前不显示行 号,下面是一些常用的选项:ai 自动缩进aw 编辑下一文件前自动存盘ic 查找字符串时不区分大小写nu 每行前显示行号sm 输入)及时显示与之配对的( 或 slow 插入时延迟屏幕刷新ws 使查找能绕过文件尾从头进行wa 写文件之前不作对文件的检查第二章 设备管理2.1 stty语法: stty -a -g 选项说明: 本命令设置终端,无参数时报告终端设置,本命令功能十分强大,应谨慎使用,下面仅介绍部分常用功能-a 显示当前终端所有设置-g 以能作为 stty 命令参数的方式显示终端设置以下是终端常用设置,在设置前加-表示清除设置:1控制方式ispee
25、d 0 110 300 600 1200 1800 2400 4800 9600 19200 38400本命令设置终端输入波特率,若为 0则使用缺省波特率。例如 stty ispeed 9600ospeed 0 110 300 600 1200 1800 2400 4800 9600 19200 38400本命令设置终端输出波特率,参看 ispeed。2输入方式ingbrk(-ignbrk) 忽略(不忽略)中断(BREAK)brkint(-brkint) 设置(清除)信号 INTR为中断信号inlcr(-inlcr) 将换行转换(不转换)成回车icrnl( -icrnl) 将回车转换(不转换)
26、成换行igncr(-ignrc) 忽略(不忽略)回车iuclc( -iuclc) 将大写字母转换(不转换)成小写字母3输出方式olcut(-olcut) 将小写字母转换(不转换)为大写字母onlcr(-onlcr) 输出时将换行符转换(不转换)为回车换行ocrnl(-ocrnl) 输出时将回车符转换(不转换)为换行符4本地方式echo (-echo) 设置(清除)回显stwrap(-stwrap) 截断(不截断)大于 79个字符的行echoctl(-echoctr) 将控制键回显为2.2 tty语法: tty说明: 显示出终端的设备名例子:tty2.3 lp语法: lp 文件说明: 将文件送打
27、印机打印例子:lp myfile 将文件 myfile 送打印机输出2.4 lpstat语法: lpstat 选项 打印任务号说明: 显示打印机状态,选项的意义如下:-a 打印机表 显示打印机表中指定的打印机可否接收打印请求-c 打印机类名 显示打印机种类及在该打印机种类下的成员-d 显示系统预设的打印机-p 打印机表 显示打印机表中打印机状态-r 显示 lp 请求程序表( lp request scheduler)-s 打印系统统计表-t 打印所有状态信息-u 用户 显示由用户发出的打印请求-v 打印机名表 显示每个打印机名称,是对应于该打印机设备文件的路径名例子:lpstat -t 打印所
28、有状态信息2.5 cancel语法: cancel 打印任务号cancel 打印机名cancel -u 用户名 打印机说明: 本命令可按打印机名,打印任务,用户来取消打印任务例子:cancel -u mary 取消用户 mary 的所有打印请求2.6 enable语法: enable 打印机表说明: 本命令可激活一个或多个打印机2.7 disable语法: disable -cw 打印机表说明: 使一个或多个打印机不能打印-c 立即取消正在打印的打印请求-w 等正在打印的内容打完后,才禁止打印机2.8 sync语法: sync说明: 将磁盘缓冲区内容写回磁盘2.9 mount语法: mount
29、 -r 设备 目录说明: 将设备安装到目录下-r 以只读方式安装2.10 umount语法: umount 设备说明: 将已安装的文件系统卸下2.11 tar语法: tar -cvwfbL 设备 块 文件tar -rvwfbL 设备 块 文件tar -tvfL 设备 文件.tar -uvwfbL 设备 块 文件tar -xlmovwfL 设备 文件.说明: 将多个文件归档,命令中各参数的意义为:r 附加方式归档x 抽取文件t 显示文件u 附加方式归档,同时删除旧版文件c 建立新档案文件v 显示所处理的文件名w 处理文件前,要求用户确认f 文件名 使用指定文件名作为档案文件bn 每次读写 n 块,缺省值为 1,最大值为 20m 将新的文件修改时间设为获取时的时间o 获取出来的文件以下达 tar指令的 UID和 GID存储