Unix常用命令.doc_第1页
Unix常用命令.doc_第2页
Unix常用命令.doc_第3页
Unix常用命令.doc_第4页
Unix常用命令.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Unix常用命令 1. 目录基本操作l pwd命令功能:打印当前工作目录语法:pwd说明:pwd会打印出您的当前所在的目录位置例子: %pwd /usr2/jerry/filenamedirectoryl cd命令功能:改变当前的工作目录语法:cd directory说明:在cd 后设定您要进入的工作目录,就会进入该目录; cd 即不设定任何目录,则会进入您的主目录(home directory); cd / 是跳到文件系统根目录。l mkdir命令功能:建立新目录语法:mkdir directory(s)说明:mkdir 可以建立一个或多个新目录,但是用户对于要建立目录的地方必须有能够写入的权力。例子:%mkdir srcl rmdir命令功能:删除目录语法:rmdir 目录名列表说明:若想删除一个仍旧包含子目录和文件(即非空)的目录,则命令将显示消息: irectory not empty 必须删除该目录下所有的子目录和文件之后才可使rmdir命令生效。2. 文件基本操作l ls命令功能:打印文件内容语法:ls -l filename(s) 说明:如果ls后不设定filename,则打印当前目录下的文件名称。选项:-1 (long) 打印文件详细信息,共有七栏,包括读写权限、拥有者名称、文件大小、上次修改时间等。以下是这七个栏位的详细内容:第一栏:共有十个字符 第一个字符为文件种类,有五种可能:-:一般文件b:区块式(block-type)的特殊文件c:字符文件d:目录p:FIFO或管道(pipe)文件l:链接文件s:AF-UNIX 位址的socket网络文件 第2-4、第5-7、第8-10字符分别代表文件拥有者、所属群组,及其它用户的读取(r)、写入(w)及执行(x)的权力;第二栏:文件链接数目第三栏:文件拥有者第四栏:文件所属团体名称第五栏:文件长度第六栏:文件最近被更改时间第七栏:文件名称例子1:假设在shop目录处执行ls -l命令%ls -ltotal drwx-xr-x 2 alice staff 96 Oct 2 07:15 bindrwx-xr-x 4 alice staff 196 Oct 2 08:15 documentdrwx-xr-x 4 alice staff 296 Oct 2 09:15 communications-rwx-xr-x 4 alice staff 396 Oct 2 10:15 list -rwx-xr-x 4 alice staff 496 Oct 2 11:15 mailbox例子2:%ls -al不但会显示上面这些文件,而且连“.”“.”“.xxxx”的文件也一起显示出来。l mv命令功能:搬移文件、目录,或是重新命名语法:mv -fi file1 file2 mv file(s) directory -f 在有可能覆原有文件的时候不发出警告; -i 在有可能覆盖原有文件的时候发出警告,要求用户确认。 这两个选项是相互排斥的,所以指定-f会取消先前设定的-i选项,反之亦然。说明:mv可以把(数个)文件搬到另一个目录中。mv并非把一个文件内容写到另一个文件,而只是把文件的识别码转移到新文件名下,再切断旧文件名与原有识别码的链接关系。-来源类型目标类型作用文件文件名称更改文件名已存的文件以来源的文件来替代目标的文件目录目录名称更改目录名已存在的目录将来源目录移动至已有的目录下,使其成为它的子目录一个或一个以上的文件已存在的目录将所有的文件移动至目标目录下-例子:将文件test.c改名为main.c %mv test.c main.c 将文件main.c globol.h win.c 移到目录src 下 %mv main.c global.h win.c src l cp命令功能:拷贝命令语法:cp -irpfile1 file2 cp file(s) directory说明:cp会把一个文件拷贝到另一个文件,而原来的文件仍然存在,且内容不变。cp 也可把一个文件拷贝到一个目录下,此目录会建立一个名称和内容完全相同的新文件,但路径(path)不同。 -i 复制时如果会覆盖原有文件,则要求用户确认; -r(R) 如果拷贝的来源是一个目录,则该目录下的子目录与文件都会被复制。 -p被复制的文件会保留其原文件的文件属性、权限,以及最近被存取/修改的时间。例子:%cp formfile tofile %cp thisfile /usr2/jerry/tempdirl rm命令功能:删除文件或目录语法:/bin/rm -fir filenameldirectory说明:rm指令可以删除文件,也可以删除整个目录及该目录下的所有文件,选项有三个:-f (force) 强制删除,删除时不显示文件权限,也不询问是否确定删除;-r(recursive) 删除整个目录时使用(包括子目录与文件);-i(interactive) 以对话方式询问是否确定删除。例子:% rm - rf tmpdir注意:因为现在很多机器上都用alias把rm设为mv到trash目录下了,真正彻底删除可以用rm 例:% rm - rf tmpdir tmpdir目录将被彻底删除,否则会出现在trash目录下。l find命令功能:利用名称或其他特性来查找文件语法:find pathname-list expression说明:find命令会找出符合某些准则(expression)的符号。您可以寻找某个名称的文件某个大小的文件、某段时间内未曾使用的文件,或是符合其它条件的文件。找到文件后您可以显示出它的路径名称、文件内容,或是予以删除。寻找的工作会从您标明的目录(pathname-list)开始并延续到子目录、次子目录等,循环地一层一层往下找。例子:在当前目录下,找出所有文件名为intro.ms的文件并显示:%find .-name intro.ms -print./manuals/assembler/intro.ms./manuals/sun.core/intro.ms./manuals/driver.tut/intro.ms./manuals/sys.manager/uncp.impl/intro.ms./manuals/gemeral.works/orduction/intor.ms./manuals/programming.tools/sccs/intro.msl cat命令功能1:合并文件和显示文件语法:cat file(s)说明:cat在终端上打印文件内容,可以一次打印一个或多个文件的内容。cat配合导相符(、 ),可把文件显示结果放入其他文件,或将数个文件合并到新文件中。例子:% cat gooddies 把文件goodies的内容显示在屏幕上 % cat goodies1 goodies2 goodies3 合并文件goodies1与goodies2的内容并将其放入文件goodies3中功能2:建立新文件语法:cat file(s)说明:如果您要建立一个内容简单的新文件,cat会比编辑工具好用多了。假设您要建立一个tempfile的新文件,可以按照下面程序例子:%cat tempfile This is the everything you ever wanted to know atout Using UNIXbook %l grep命令功能:从文件中查找特定字符串语法:grep-bchinsvw-e expressionfilename(s) 常用的grep选项:-c 只输出匹配行的计数。-i 不区分大小写(只适用于单字符)。-h 查询多文件时不显示文件名。-l 查询多文件时只输出包含匹配字符的文件名。-n 显示匹配行及行号。-s 不显示不存在或无匹配文本的错误信息。-v 显示不包含匹配文本的所有行。说明:grep在设定的文件(filename)内寻找含有特征字符(expression)的行,每找到一次,该行的内容就会显示在屏幕上。如果要找的文件超过一个,则在打印出的每行前面将会加上文件名,特征字符可以是字符串或特殊符号,如果含有空格或特殊字符的特征字符,那么必须以单引号括起来。例子:% grep ge Sample merge - a verb large - an adjective orange - a noun如果您要找出目录/home/jerry下所有未包括zzz字符串的文件,请键入:% grep -c zzz /home/jerry/* l grep:0l diff命令功能:比较两个文本文件的差异语法:diff -bitw filename1 filename2说明:diff会把两个文字文件进行逐行的比较,并将不同处显示在屏幕上,然后告诉您 使得第一个文件与第二个文件相等的最有效的方法。两个文件如果在某行不同,则会分别打印出该行的内容,但第一个文件会先打印,第二个文件会先印以示区别。另有3个字母a (append)、c (change)、d (delete)分别代表加入、改变与消除,解释两个文件差异的原因。diff 有b 、i、 t、 w 四个选项,意义如下:-b最后一行空格不做比较,其它空格视为相同;-i字母的大小写不做比较。所以A与a相等;-t把TAB展开成一般空格键;-w所有空格都不比较。所以if ( a = b )与if(a=b)视为相同例子:% diff test.old test.new 0al Android,Arnold 5c6 Spumoni,Bloomingdale 7d /dev/null0 2 * * 0,4 /usr/lib/cron/logchecker3 3 * * * /usr/lib/cleantmp /dev/null1 3 * * * /etc/setclk -rd1800 /dev/null 2&1#5 18 * * 1-5 /usr/lib/sa/sa2 -s 8:00 -e 18:01 -i 1200 -A0 4 * * 0 /etc/custom -V symlinks;# CUSTOM_SYMLINK_REPORT30 22 * * * /ccbs/tools/fb.sh # 版本比较并更新30 1 * * * /ccbs/tools/backup_lin.sh #备份ccbs30 5 * * * /ccbs/tools/kill.sh#将忘记logout的终端杀出l &命令功能:&把作业放在后台执行,从而不会占用终端。语法:命令 &9. 其它常用命令l date命令功能:显示或设定系统当前的日期与时间语法:date mmddhhmm yy 说明:只输入date,不给出任何设定时,会显示目前的日期和时间,否则将改变系统的设定时间。只有系统超级用户(superuser)才可以设定时间。用法中的yy代表公元年代的后两位数,前面的mm代表月份,hh代表小时,接下来的mm代表分钟(minute).例子:# date 10081145 系统时间被设成 Oct 8,11:45 AM #date +DATE: %m%d%y%Ntime: %H%M%S 则屏幕会显示: DATE: 08/01/86 TIME: 14:45:05l du命令功能:显示文件或目录所占用的磁盘空间语法: du-s -x filename(s)说明:du会显示某个文件的大小。如果在du 后面设定目录名称,则会显示目录下每个文件所占的空间和整个目录空间。 du命令有-s、-a、-x三个选项 -s 只显示设定文件的空间容量10. Vi常用命令l 指令态与插入态的切换插入态改变为指令态:Esc键命令态转为插入态:i在游标处插入正文I在一行开始处插入正文a在游标後追加正文A在行尾追加正文o在游标下面新开一行O在游标上面新开一行l 光标移动hjkl或方向键l 存档及退出在vi内,行使存档或退出的指令时,要先按冒号(:),改变为指令态,用户就可以看见在荧幕左下方,出现冒号(:),显示vi已经改为指令态,可以进行存档或退出等工作。下面就是一些这方面常用的指令。:q退出文档,如果文档已修改则不能退出:q!放弃任何改动而退出vi,也就是强行退出:w存档:wq存档并退出vi:x与wq的工作一样:zz与wq的工作一样删除正文l 删除正文x删除游标处字符(Character)nx删除游标处後n个字符nX删除游标处前n个字符ndw删除游标处下n个单词(word)dd删除整行d$或D删除由游标至该行最末u恢复前一次所做的删除l 修改正文r char由char代替游标处的字符RtextEsc由text代替游标处的字符cwtextEsc由text取代游标处的单词CtextEsc由text取代游标处至该行结尾处cc使整行空白,但保留游标位置,让你开始打入如删除指令一样,在指令前打入的数,表示执行该指令多少次。l 正文模式检索在指令态下进行strReturn向前搜寻str直至文件结尾处?strReturn往後搜寻str直至文件开首处n同一方向上重复检索N相反方向上重复检索vi缠绕整个文件,不断检索,直至找到与模式相匹配的下一个出现。l 替换有很多方法。 最简单的是: :s/old/new/g, 但是,这仅对当前行起作用, 所以,我们用:%s/old/new/g, 更一般的,我们还可以用:范围s/old/new/cg,这里,范围是任意的行范围,包括行号,$(文件末尾),。(当前行), %(当前文件),或者两个行号之间加个破折号(或者可以这样: 。,+5,这表示下面5行)。cgi是 c,g,i中间的一个或者什么也没有。c告诉vi每次替换的时候要给提示,g是说对所有一行中出现的地方都做替换。i则是指在查找时不区分大小写。如果最后一个斜杠(/)后面没有东西的话,那么vi只替换在行中第一次匹配的地方。也可以这样做: :g/foobar/s/bar/baz/g, 这个命令首先搜寻foobar,然后把它变成foobaz。 它没有改变jailbars, 而其他的一些命令可能会改变jailbars。 这是我的方法,但是可能比较难记。当然,你还可以在查找的的时候使用正规式,以及在替换文本的时候使用其他一些命令。如果你在正规式里用(和)来剥离一个序列的话,你会发现你可以做很多好玩的事情。例如: :g/(foo)(bar)/s/2/1baz/g 将foobar替换成foobaz 还有一些特殊的序列: & 所有查找时匹配到的东西 1-9 1到9号用(和)括起来的东西 u 下一个字符将被变成大写。 U 以后的字符都变成大写,直到遇到e或E l 下一个字符将被变成小写。 L 以后的字符都变成大写,直到遇到e或E Ee 更改大小写的选择区域的终点l 复制文本 yy可以把一行文本拷贝到寄存器中(这里的寄存器是vi的术语,指可以存放剪切和拷贝下来的东西的地方), 里面的字母必须是a到z之间的一个。 dd可以把一行剪切下来放到寄存器里面。你可以在yy或者dd前面用数字指明要拷贝或者剪切的行数。如果中的字母是大写的话,意味着把文本插入到寄存器中已有的文本之前。 p把文本插入到光标之后,P把文本插入到光标之前。如果寄存器中含有某一行的开头或结尾,这一行将会被放到另一合适的行上。 Y是yy的快捷方式。 还有, y$, yH, yM,等等,都是可以用的。d命令也是一样的。如果要快速的剪切和粘贴, 你就无须指定寄存器了。如果这样的话,你就不能往寄存器里面添加文本了。而且只要有一个删除命令的话,寄存器中的东西就没有了(包括x命令)。举例来说,如果要移动上一段的话,你可以把光标移到段落的开头,敲a13dd,再把光标移到你想要放文本的地方,敲ap,就可以把那段文本放到光标所在的行后面。现在,大概你想要剪切和粘贴文本到不是行末尾的区域去。我们来看如何做到这一点:我们可以使用 m 命令来标记一个区域,这个字母可以和剪切/粘贴寄存器的字母相同,因为它们是保存在内存中的不同位置。 然后,敲yy或者dd, 这里的寄存器就是要保存文本的那个寄存器,是用来标记的,yy和dd是你的操作。搬移一行 在该行执行 dd游标移至目的地执行 p复制一行 在该行执行 yy游标移至目的地执行 p指令重复 在指令模式中,可在指令前面加入一数字 n,则此指令动作会重复执行 n次。例:删除10行 10dd复制10行 10yy游标移至目的地p指标往下移10行 10j在vi中运行一个程序:!命令 可以在vi中运行程序。 :sh会启动一个交互式的外壳(SHELL)。在这个外壳里面, 如果你愿意,你还可以再次运行vi。 当你在编辑Makefiles和配置文件来编译某个程序的时候,这可能比较有用。这比:e优越之处在于它无须保存文件,而且如果你退出外壳的时候,vi还回到原来的地方。 -依字母顺序的vi快速参考 。 是指有些东西需要在命令之前或之后指明。这通常是说光标的移动键(h,j,k,l,w,b等等)或者是指行号。 # (这里#代表一个数字) 执行n次后面的命令。 : 进入ex模式 ) 下一句 ( 上一句 下一段 上一段 下一节 上一节 0 行的开头 $ 行的末尾 行的第一个非空白字符 + 下一行的开头 - 上一行的开头 (空格) 下一个字符 (回车) 下一行 / 向前搜索 ? 向后搜索 % 查找当前小(中,大)括号的匹配字符 , 逆向重复上一个f,F,t或T操作 ; 重复上一个f,F,t或T操作 。 重复上一个操作 转到标记处 转到标记所在行的开头 查找前回到上一个做标记的地方 查找前回到上一个做标记所在行的开头 切换字符的大小写 保存到寄存器中 ! 重复上一次SHELL命令 ! 把后面的文本送给命令, 取代输出(例如, !fmt把当前的段落送给命令fmt处理,然后用fmt返回的东西替换输出。) 右移当前段落一个移动宽度(shiftwidth) % 从当前到匹配小(中,大)括号之间的文本右移 % 从当前到匹配小(中,大)括号之间的文本左移 (似乎漏了一个符号|, 移动到某一列-译注) a 在当前位置之后添加 A 在当前行的末尾添加 a 没有使用 b 上一个单词的开头 B 上一个单词的开头,忽略标点符号 b 上移一屏 c 覆盖。 C 覆盖到行末尾 c 终止插入模式,在命令模式没有用 d 删除。 D 删除到行末尾 d 下移半屏,如果在插入模式下则移到上一个移动宽度(ShiftTab)处 e 单词的末尾 E 单词的末尾,忽略标点符号 e 屏幕下卷一行 f 查找。 F 向后查找。 f 下移一屏 g 未用 G 。跳至缺省是到文件末尾 g 显示状态栏 h 左移 H 屏幕上的第一行 h 在插入模式下是退格,命令模式下是左移 i 在当前的位置前面插入 I 在本行的第一个非空白字符前面插入 i 插入模式下是制表键,命令模式下未用 j 下移 J 把下一行合并到本行 j 命令模式下是下移,插入模式下是建一个新行 k 上移 K 未用 k 未用 l 右移 L 屏幕中的最后一行 l 重绘屏幕 m 把当前位置标记到寄存器中 M 屏幕的中间行 m 回车 n 重复上次查找 N 逆向重复上次查找 n 命令模式下是下移 o 在当前行的下面建一个新行 O 在当前行的上面建一个新行 o 未用 p 在当前行的下面粘贴 (译注-应为在当前位置的后面粘贴) P 在当前行的上面粘贴 (译注-应为在当前位置的前面粘贴) p 命令模式下是上移 q 未用 Q 退出并且启动ex q 未用 r 覆盖当前的字符 R 在插入模式下一直覆盖字符 r 在命令模式下面重绘屏幕 s 替换 S 替换整行 t 到。 T 向后到。 t 移到下一个移动宽度(shifttab)处 u 撤消上一次操作 U 撤消对本行的所有修改 u 上移半屏 v 未用 V 未用 v 未用 w 下一个单词的开头 W 下一个单词的开头,忽略标点符号 w 命令模式下未用,在插入模式下是到上一个单词的开头处 x 删除当前字符 X 删除前一个字符 x 未用 y 复制。 Y 复制整行 y 屏幕上卷一行 z 重新配置当前行周围的屏幕 ZZ 保存之后退出 z 未用 (译注-在命令模式下,z执行了UNIX暂停操作) 命令模式的输入选项(:命令) (注: 这不是一个规范的列表,只是列出了一些重要的命令) :r 把读入到当前文档 :r ! 把的输出插入到当前文本中 :nr 把插入到第n行 :! 运行,然后返回 :sh 转到SHELL :so 读取,再执行文件里面的命令 (译注-文件中的命令应该都是一些ex命令) :x 保存之后退出 :wq 保存之后退出 :l1,l2w 把第l1和第l2行之间的文本写到中去,如果没有指定, vi就假定是当前文件,如果没有指定l1,l2,就假定是整个文件(就成了:w) :w 添加到末尾。 也可以使用行号 :w! 覆盖当前文件 :q 退出 :q! 不存盘就退出 :e 不离开vi编辑 :e! 重新编辑当前文件,忽略所有的修改 :n 编辑下一个文件 :e +n 从第n行开始编辑,如果超过了末尾,就从末尾开始编辑 :e# 编辑替换文件(如果使用了命令:e,替换文件就指的是原始文件) :args 显示所有要编辑的文件 :rew 重新回

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论