UNIX命令由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“unix命令”。
第一章 目录及文件操作命令
1.1 ls [语法]: ls [-RadCxmlnogrtucpFbqisf1] [目录或文件......] [说明]: ls 命令列出指定目录下的文件,缺省目录为当前目录./,缺省输出顺序为纵向按字符顺序排列。-R 递归地列出每个子目录的内容
-a 列出所有文件,包括第一个字符为“.”的隐藏文件
-d 若后面参数是目录,则只列出目录名而不列出目录内容,常与-l选项连 用以显示目录状态。-C 输出时多列显示
-x 横向按字符顺序排列
-m 输出按流式格式横向排列,文件名之间用逗号(,)分隔
-l 长列表输出,显示文件详细信息,每行一个文件,从左至右依次是: 文件存取模式 链接数 文件主 文件组 文件字节数 上次修改时间 其中文件存取模式用10个字母表示,从左至右的意义如下: 第一个字母表示文件种类,可以是以下几种情况: d 为目录文件 l 为链接 b 为块文件
c 为字符型文件
p 为命名管道(FIFO)r 若文件名为目录,则拷贝目录下所有文件及子目录和它们的文件,此时 目标必须为目录 [例子]: cp file1 file2 将文件 file1 拷贝到文件 file2 cp file1 file2 /tmp 将文件 file1 和文件 file2 拷贝到目录 /tmp 下 cp-r /tmp /mytmp 将目录 /tmp 下所有文件及其子目录拷贝至目录/mytmp 1.10 mv [语法]: mv [-f] [-i] 文件1 [文件2...] 目标
[说明]: 将文件移动至目标,若目标是文件名,则相当于文件改名f 覆盖前不作任何提示 [例子]: mv file1 file2 将文件 file1 改名为 file2 mv file1 file2 /tmp 将文件 file1 和文件 file2 移动到目录 /tmp 下
1.11 rm [语法]: rm [-f] [-i] 文件...或 rm-r [-f] [-i] 目录名...[文件] [说明]: 用来删除文件或目录i 删除文件之前先作提示 [例子]: rm file1 删除文件 file1 rm-i /tmp/* 删除目录 /tmp 下的所有文件 rm-r /mytmp 递归地删除目录 /mytmp 1.12 chmod [语法]: chmod [-R] 模式 文件...或 chmod [ugoa] {+|-|=} [rwxst] 文件...[说明]: 改变文件的存取模式,存取模式可表示为数字或符号串,例如: chmod nnnn file,n为0-7的数字,意义如下: 4000 运行时可改变UID 2000 运行时可改变GID 1000 置粘着位 0400 文件主可读 0200 文件主可写 0100 文件主可执行 0040 同组用户可读 0020 同组用户可写 0010 同组用户可执行 0004 其他用户可读 0002 其他用户可写 0001 其他用户可执行
nnnn 就是上列数字相加得到的,例如 chmod 0777 file 是指将文件 file 存取权限置为所有用户可读可写可执行。
-R 递归地改变所有子目录下所有文件的存取模式 u 文件主 g 同组用户 o 其他用户 a 所有用户
+ 增加后列权限,则使用标准输入,两个文件相同则无提示,不同则显示出现第一个不同时的字符数和行号。-l 显示每个不同处的字节数(10进制)和不同的字节(8进制)-s 不作任何提示,只返回码 [例子]: cmp file1 file2 比较文件 file1 和 file2 cmp-l file1 file2 比较文件file1 和 file2 的每处不同
1.16 diff [语法]: diff [-be] 文件1 文件2 [说明]: 本命令比较两个文本文件,将不同的行列出来-b 将一串空格或TAB转换成一个空格或TAB-e 生成一个编辑角本,作为ex或ed的输入可将文件1转换成文件2 [例子]: diff file1 file2 diff-b file1 file2 diff-e file1 file2 >edscript 1.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,若未指定大文件名,则使用标准输入 [例子]: split-500 largefile little 将文件largefile 每500行写入一个文件,第一个文件名为littleaa 1.19 touch [语法]: touch [-amc] [mmddhhmm[yy]] 文件...[说明]: 将指定文件的访问时间和修改时间改变,若指定文件不存在则创建之,若无指定时间,则使用当前时间,返回值是未成功改变时间的文件个数,包括不存在而又未能创建的文件。-a 只改变访问时间-m 只改变修改时间
-c 若文件不存在,不创建它且不作提示 mmddhhmm[yy] 两位表示 月日时分[年] [例子]: touch file 更新文件file的时间
touch 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 压缩后转储为largefile.z 1.22 pcat 显示压缩文件 [语法]: pcat 文件...[说明]: pcat 显示输出压缩文件
[例子]: pcat largefile.z 显示压缩前的largefile pcat largefile.z > oldfile 显示压缩前的laregfile,并将其重定向到 文件oldfile中
1.23 unpack [语法]: unpack 文件...[说明]: 将压缩后的文件解压后转储为压缩前的格式 [例子]: unpack largefile.z 将压缩文件largefile.z解压后转储为largefile 1.24 find [语法]: find 路径名...表达式
[说明]: find 命令递归地遍历指定路径下的每个文件和子目录,看该文件是否能使表达式值为真,以下 n 代表一个十进制整数,+n 代表打印 n,-n 代表小于 n,下面是合法表达式说明:
-name 模式 文件名与模式匹配则为真,(为转意符)-perm [-]八进制数 文件存取模式与八进制数相同则为真若有-选项,则文件存 取模式含有八进制数规定模式即为真
-size n[c] 文件块长度为 n 则真(一块为512字节),若 有c 选项,则文件字节长度为 n 则真
-atime n 若文件的最近访问时间为 n 天前则为真,find 命令将改变其访问的目录的访问时间
-mtime n 若文件的最近修改时间为 n 天前则为真-ctime n 若文件状态为 n 天前改变则为真
-exec 命令 { };若命令返回值为0则真,{ }内为命令参数,此命令必须以;为结束
-ok 命令 { };与 exec 相同,只是在命令执行前先提示,若 回答 y 则执行命令
-print 显示输出使表达式为真的文件名
-newer 文件 若文件的访问时间比newer 指定的文件新则真-depth 先下降到搜索目录的子目录,然后才至其自身-mount 仅查找包含指定目录的文件系统-local 文件在当前文件系统时为真
-type c 文件类型为 c 则真,c 取值可为 b(块文件)c(字符文件)d(目录)l(符号链接)p(命名管道)f(普通文件)(表达式)表达式为真则真-links n 文件链接数为 n 时为真-user 用户 当文件属于用户时为真,用户可用数字表示UID-nouser 当文件不属于 /etc/pawd 中的一个用户时为真
-group 文件组 当文件属于文件组时为真,文件组可用数字表示GID-nogroup 当文件不属于 /etc/group 中的一个组时为真-fstype 类型 当文件所属文件系统类型为指定类型时真-inum n 当文件 i 节点号为 n 时为真
-prune 当目录名与模式匹配时,不再搜索其子目录 可以用逻辑操作符将简单表达式连接成复杂表达式
逻辑操作符有!表示非操作,-o 表示或操作,两个表达式并列则表示 与操作 [例子]: find /-name find*-print 从根目录开始搜索文件名如 find* 的文件并显示之 find./-exec sleep{1};-print 每秒显示一个当前目录下的文件
find $HOME(-name a.out-o-name '*.o')-atime +7-exec rm {};从$HOME目录开始搜索,删除所有文件名为a.out 或 *.o 且访问时间在7天前的文件
1.25 grep [语法]: grep [选项] 模式 [文件...] [说明]: 在指定的文件中搜索模式,并显示所有包含模式的行,模式是一个正规表达式,在使用正规表达式时,最好将其引在单引号(')中,若指定文件为缺省,则使用标准输入,正规表达式可以是:.匹配任意一个字符
* 匹配0个或多个*前的字符 ^ 匹配行开头 $ 匹配行结尾
[] 匹配[ ]中的任意一个字符,[]中可用l“ 定义别名为 dir。9.3 删除所定义之 alias 执行格式: unalias name Example: %unalias dir(删除别名为 dir 之定义。)%unalias *(删除所有别名之设定。)10.history
10.1 设定命令记录表之长度 执行格式: set history n Example: %set history 40 设定命令记录表之长度为 40(可记载执行过之前面 40 个命令)。10.2查看命令记录表之内容 执行格式: history 10.3 使用命令记录表 执行格式:!Example: %!(重复执行前一个命令)执行格式:!n(n 为命令记录表之命令编号。)Example: %!5(执行命令记录表中第五个命令。)执行格式:!string(重复前面执行过以 string 为起始字符之命令。)Example: %!cat(重复前面执行过,以 cat 为起始字符之命令。)10.4 显示前一个命令之内容 执行格式:!:p 10.5 更改前一命令之内容并执行之 执行格式: ^oldstring ^newstring 将前一命令中 oldstring 的部份,改成 newstring,并执行之。Example: %find.-name file1.c-print ^file1.c^core %find.-name core-print 注:文件 core 为执行程序或命令发生错误时,系统所产生的文件。作为侦错(debug)之,因其所占空间极大,通常将之删除。11.资料之压缩
为了避免不常用的文件或资料,占用太大的磁盘空间,请使用者将之压缩。欲使用压缩过的文件或资料前,将之反压缩,即可还原成原来之资料型式。凡是经过压缩处理之文件,会在文件名后面附加 ”.Z “ 之字符,表示此为一压缩文件。11.1 压缩资料
执行格式:compre filename 压缩文件
执行格式:compredir directory-name 压缩目录 11.2 解压缩还原资料
执行格式:uncompre filename 反压缩文件
执行格式:uncompredir directory-name 反压缩目录
12.pipe-line 之使用
执行格式:command1 | command2 将 command1 执行结果,送到 command2 做为 command2 的输入。Example: %ls-Rl | more 以分页方式,列出目前目录下所有文件,及子目录之名称。%cat file1 | more 以分页方式,列出文件 file1 之内容。
13.I/O control
13.1 标准输入之控制
执行格式:command-line
执行格式:command > filename 将 command 之执行结果,送至指定的 filename 中。Example: %ls-l > list 将执行 ”ls-l“ 命令之结果,写入文件 list 中。执行格式:command >!filename 同上,若 filename 之文件已经存在,则强迫 overwrite。Example: %ls-lg >!list 将执行 ”lslag >> list 将执行 “ls移至上一列的第一个字符处。l(移至该句之首。(注一)l)移至该句之末。
l { 移至该段落之首。(注二)l } 移至该段落之末。l nG 移至该文件的第 n 列。
l n+ 移至光标所在位置之后的第 n 列。l 移至光标所在位置之前的第 n 列。
l 会显示该行之行号、文件名称、文件中最末行之行号、光标所在行号占总行号之百分比。注一:句子(sentence)在vi中是指以『!』、『.』或『?』结束的一串字。注二:段落(paragraph)在vi中是指以空白行隔开的文字。21.7 视窗的移动 l 视窗往下卷一页。l 视窗往上卷一页。l 视窗往下卷半页。l 视窗往上卷半页。l 视窗往下卷一行。l 视窗往上卷一行。
21.8 删除、复制及修改指令介绍(此单元较少使用)d(delete)、c(change)和y(yank)这一类的指令在 vi 中的指令格式为: Operator + Scope command(运算子)(范围)运算子:
l d 删除指令。删除资料,但会将删除资料复制到记忆体缓冲区。l y 将资料(字组、行列、句子或段落)复制到缓冲区。
l p 放置(put)指令,与 d 和 y 配和使用。可将最后delete或yank的资料放置于光标所在位置之行列下。
l c 修改(change)指令,类似delete与insert的组和。删除一个字组、句子等之资料,并插入新键资料。范围:
l e 由光标所在位置至该字串的最后一个字符。l w 由光标所在位置至下一个字串的第一个字符。l b 由光标所在位置至前一个字串的第一个字符。l $ 由光标所在位置至该行的最后一个字符。l 由光标所在位置至该行的第一个字符。
l)由光标所在位置至下一个句子的第一个字符。l(由光标所在位置至该句子的第一个字符。l { 由光标所在位置至该段落的最后一个字符。l } 由光标所在位置至该段落的第一个字符。整行动作: l dd 删除整行。
l D 以行为单位,删除光标后之所有字符。l cc 修改整行的内容。
l yy yank整行,使光标所在该行复制到记忆体缓冲区。21.9 删除与修改
l x 删除光标所在该字符。l X 删除光标所在之前一字符。l dd 删除光标所在该行。
l r 用接于此指令之后的字符取代(replace)光标所在字符。如: ra 将光标所在字符以 a 取代之。
l R 进入取代状态,直到《ESC》为止。
l s 删除光标所在之字符,并进入输入模式直到《ESC》。l S 删除光标所在之该行资料,并进入输入模式直到《ESC》。21.10 移动与复制
利用 delete 及 put 指令可完成资料移动之目的。利用 yank 及 put 指令可完成资料复制之目的。
yank 和 delete 可将指定的资料复制到记忆体缓冲区,而藉由 put 指令可将缓冲区内的资料复制到屏幕上。例:
移动一行.在该行执行 dd.光标移至目的地.执行 p 复制一行.在该行执行 yy.光标移至目的地.执行 p 21.11 指令重复
在指令模式中,可在指令前面加入一数字 n,则此指令动作会重复执行 n次。例:
删除10行.10dd 复制10行.10yy 指标往下移10行.10j 21.12 取消前一动作(Undo)即复原执行上一指令前的内容。u 恢复最后一个指令之前的结果。U 恢复光标该行之所有改变。
21.13 搜寻
在vi中可搜寻某一字串,使光标移至该处。/字串 往光标之后寻找该字串。?字串 往光标之前寻找该字串。n 往下继续寻找下一个相同的字串。N 往上继续寻找下一个相同的字串。
21.14资料的连接
J 句子的连接。将光标所在之下一行连接至光标该行的后面。
若某行资料太长亦可将其分成两行,只要将光标移至分开点,进入输入模式(可利用 a、i等指令)再按《Enter》即可。21.15 环境的设定
:set nu 设定资料的行号。