《常用LINUX命令》由会员分享,可在线阅读,更多相关《常用LINUX命令(89页珍藏版)》请在金锄头文库上搜索。
1、第第5章章 Linux的常用命令的常用命令 命令的使用方式 文件及目录操作命令 文件压缩命令 联机帮助命令 进程管理的命令2.1使用命令2.1.1 命令的使用方式命令的使用方式在在LinuxLinux系统中打开终端的方式有以下两种:系统中打开终端的方式有以下两种:1.1.桌桌面面上上依依次次单单击击“主主程程序序系系统统工工具具终终端端”可可打打开开如如图图2-12-1的终端窗口;的终端窗口;2.2.是是在在LinuxLinux桌桌面面上上单单击击鼠鼠标标右右键键,从从弹弹出出的的快快捷捷菜菜单单中中选选择择“终端终端”命令,也可打开终端窗口。命令,也可打开终端窗口。 要要说说明明的的是是,不
2、不同同的的用用户户登登录录其其终终端端的的提提示示符符略略有有不不同同,在在图图2-12-1中中显显示示的的是是超超级级用用户户的的提提示示符符。如如果果是是一一般用户登录,其提示符如图般用户登录,其提示符如图2-22-2所示。所示。Linux系统是以全双工的方式工作,即从键盘把字符输入系统,系统再将字符回送到终端并显示出来。通常,回送到终端的字符与输入字符相同,因此操作员看到的正是自己输入的字符。但也有个别的时候,系统不回送符号。 键盘上大多数字符是普通打印字符,它们没有特殊含义。只有少数特殊字符指示计算机做专门的操作。其中最常见的特殊字符是回车键RETURN,它表示输入行结束;系统收到回车
3、信息便认为输入的当前行结束,系统的响应是让屏幕光标回到下一行行首。回车符只是控制符的一个例子。控制符是指控制终端工作方式的非显示字符。输入一般控制符必须先按下控制键,或称作CTRL键,然后再按所对应的字符键。例如,输入回车符可以直接按回车键,也可以先按控制键,再按m键。CONTROLm或CTLm也是回车符。一些常用的控制符有:CTLd,它表示终端的输入结束;CTLg控制终端响铃;CTLh称为退格键,用于改正输入的错误.此外还有两个特殊键,一个是DELETE键,另一个是BREAK键。大多数LINUX系统中,DELETE键表示立即终止程序。在有些系统里,也用CTLc终止程序。一般说来,BREAK键
4、与DELETE键、CTLc的功能基本相同。终端显示提示符后,用户就可以输入命令请示系统执行。这里所谓命令就是请示调用某个程序。例如当用户输入date命令时,系统就去调用date程序显示当前的日期和时间,终端屏幕上会出现类似下面的信息: rootlbliubing root# date 日 2月 1 15:49:11 CST 2004当命令输入完毕后,一定不要忘记按回车健,因为系统只有收到回车键才认为命令行结束。 又如询问当前有哪些用户挂在系统里。命令及响应如下所示:rootlbliubingroot#whoroot:0Feb115:41rootpts/0Feb115:46(:0.0)jlpts
5、/1Feb115:40(:0.0)还有另外的方法可以查看目前登录用户的注册信息。命令及响应如下所示: rootlbliubing root# who am iroot pts/0 Feb 1 15:46 (:0.0)这时系统仅回送用户自己的注册信息。假如用户打错了命令,系统将回答这一命令没有找到。 rootlbliubing root# whomwhom: unable to open /root/Mail/draft: 没有那个文件或目录上面几条命令在终端中的输入方法及响应如图2-3所示。另外,在终端上还有一个命令补齐(Command-Line Completion)的操作技巧,所谓命令补齐
6、是指当键入的字符足以确定目录中一个唯一的文件时,只须按 Tab 键就可以自动补齐该文件名的剩下部分,例如要把目录 /freesoft 下的文件 gcc-2.8.1.tar.gz 解包,当键入到 tar xvfz /freesoft/g 时,如果此文件是该目录下唯一以 g开头的文件,这时就可以按下 Tab 键,这时命令会被自动补齐为:tar xvfz /freesoft/gcc-2.8.1.tar.gz ,非常方便 2.1.2 特殊字符在Linux系统的终端中有几个最有用的bash变量,这些变量变量名及简单描述如下: HISTFILEHISTFILE: 用于贮存历史命令的文件。用于贮存历史命令的
7、文件。 HISTSIZEHISTSIZE: 历史命令列表的大小。历史命令列表的大小。 HOMEHOME: 当前用户的用户目录。当前用户的用户目录。 OLDPWDOLDPWD: 前一个工作目录。前一个工作目录。 PATHPATH: bashbash寻找可执行文件的搜索路径。寻找可执行文件的搜索路径。 PS1PS1: 命令行的一级提示符。命令行的一级提示符。 PS2PS2: 命令行的二级提示符。命令行的二级提示符。 PWDPWD: 当前工作目录。当前工作目录。 SECONDSSECONDS: 当前当前shellshell开始后所流逝的秒数。开始后所流逝的秒数。 这意味着 bash 保留了一定数目的
8、先前已经在shell 里输入过的命令。这个数目取决于一个叫做HISTSIZE的变量。 使用历史记录列表最简单的方法是用上方向键。 另一个使用命令历史文件的方法是用 bash 的内部命令 history 和 fc(fix 命令)命令来显示和编辑历史命令。history 命令能以两种不同的方法来调用。第一种是: history n 当 history 命令没有参数时,整个历史命令列表的内容将被显示出来。使用 n 参数的作用是仅有最后 n 个历史命令会被列出 。例如,history 5 显示最后 5 个命令。 调用 history 命令的第二种方法用于修改命令历史列表文件的内容。命令的语法如下: h
9、istory -r|w|a|n filename 这种形式中,-r 选项告诉 history 命令读命令历史列表文件的内容并且把它们当作当前的命令历史列表。-w 选项将把当前的命令历史记录写入文件中并覆盖文件原来的内容。-a 选项把当前的命令历史记录追加到文件中。-n 选项将读取文件中的内容并加入到当前历史命令列表中。如果 filename 选项没有被指定,history 命令将用变量HISTFILE 的值来代替。 命令别名通常是其他命令的缩写,用来减少键盘输入。还有一个使工作变得轻松的方法是使用命令别名命令格式为:alias alias-name=original-command其 中 ,
10、aliasname是 用 户 给 命 令 取 的 别 名 , originalcommand是原来的命令和参数。需要注意的是,由于Bash是以空格或者回车来识别原来的命令的,所以如果不使用引号就可能导致Bash只截取第一个字,从而出现错误。 注意:在定义别名时,等号两边不能有空格,否则shell将不能决定要做什么。仅在命令中包含空格或特殊字符时才需要引号。如果键入不带任何参数的alias命令,将显示所有已定义的别名。Bash有两级提示符。第一级提示符是经常见到的Bash在等待命令输入时的情况。第一级提示符的默认值是$符号。如果用户不喜欢这个符号,或者愿意自己定义提示符,只需修改PS1变量的值。
11、例如将其改为:PS1=”输入一个命令:”第二级提示符是当Bash为执行某条命令需要用户输入更多信息时显示的。第二级提示符默认为“”。如果需要自己定义该提示符,只需改变PS2变量的值。例如将其改为:PS2=”更多信息:”用户也可以使用一些事先已经定义好的特殊字符。这些特殊字符将使提示符中包含当前时间之类的信息。表2-1列出了最常用的一些特殊字符及其含义。 表21bash提示符常用特殊字符特殊字符特殊字符 说明说明! !显示该命令的历史编号显示该命令的历史编号 # # 显示显示shellshell激活后,当前命令的历史编号激活后,当前命令的历史编号 $显示一个显示一个$ $符号,如果当前用户是符号
12、,如果当前用户是rootroot则显则显示示# #符号符号 显示一个反斜杠显示一个反斜杠 dd显示当前日期显示当前日期hh显示运行该显示运行该shellshell的计算机主机名的计算机主机名 nn打印一个换行符,这将导致提示符跨行打印一个换行符,这将导致提示符跨行 ss显示正在运行的显示正在运行的ShellShell的名称的名称t t显示当前时间显示当前时间uu显示当前用户的用户名显示当前用户的用户名W W 显示当前工作目录基准名显示当前工作目录基准名w w 显示当前工作目录显示当前工作目录下面来看几个实际例子:PS1=”d”将使提示符变成显示日期,如下所示:一2月02而 PS1=”d”,将使
13、提示符变成如下所示:d若PS1=Wh w将使提示符变成如下所示:niclbliubing /liunuxbook/nic该例就是使用三个特殊字符的组合得到的。 以上的各例在Red Hat Linux9.0系统的终端中所显示的结果如图2-4所示。2.1.3 通配符基础通通配配符符 又又称称多多义义符符。在在描描述述文文件件时时,有有时时在在文文件件名名部部分分用用到到一一些些通通配配符符,以以加加强强命命令令的的功功能能。在在LinuxLinux系统中有以下基本的通配符:系统中有以下基本的通配符: ?:表示该位置可以是一个任意的单个字符。?:表示该位置可以是一个任意的单个字符。 :表示该位置可以
14、是若干个任意字符。:表示该位置可以是若干个任意字符。 方方括括号号 charsetcharset :可可替替代代charsetcharset集集中中的的任任何何单单个字符个字符下面对方括号通配符进行一些说明。例如下面对方括号通配符进行一些说明。例如 cChHcChH :表表示示在在文文件件的的该该位位置置中中可可出出现现任任意意单个的单个的c c或或h h字符的大小写形式字符的大小写形式。另另个个,通通配配符符集集还还能能描描述述介介于于字字符符对对之之间间的的所所有有字字符符。如如“azaz”就就可可以以代代 替替任任意意小小写写字字母母,而而aazAzAZZ则则可可替替代代任任意意字字母母
15、。注注意意可可替替代代的字符包括的字符包括a a到到z z和和A A到到Z Z字符对之间的所有字符。字符对之间的所有字符。 那么,是否能在一条指令中用多个通配符呢?答案是肯定的。如rm a*out*tmp? 该 命 令 可 以 删 除 一 系 列 临 时 性 的 输 出 文 件 , 如ab.out.temp1、ab.out.temp1 等。UNIX或Linux系统可将一定相关的文件看作一个集合的一部分,用户可以用该集合去匹配。 所以,如果需要显示nic-1.png,nic-2.png,nic-3.png,nic-4.png,nic-5.png,只须要在终端的命令提示符后输入: ls nic-1
16、-5.png 这样利用通配符可以使指令的输入变得更加灵活。该技巧的可很容易实现显示一些文件名相关的文件。以上的各例在Red Hat Linux9.0系统的终端中所显示的结果如图2-5所示。2.2文件概念及操作命令2.2.1 2.2.1 文件显示命令文件显示命令文件显示命令文件显示命令显示指定工作目录中所包含的内容的指令是显示指定工作目录中所包含的内容的指令是ls ls,要要说明的是说明的是lsls命命令列出文件的名字,而不是文件的内容。该命令的使用方式如下令列出文件的名字,而不是文件的内容。该命令的使用方式如下: lsls 选项选项 文件目录列表文件目录列表 lsls命令中的常用选项如下:命令
17、中的常用选项如下: -a-a:显显示示所所有有文文件件及及目目录录 ( (lsls规规定定将将文文件件名名或或目目录录名名中开头为中开头为 .的视为隐藏档,不会列出的视为隐藏档,不会列出) ) -c-c:按列输出,纵向排序:按列输出,纵向排序 -x-x:按列输出,横向排序:按列输出,横向排序 -l-l:除除文文件件名名外外,也也将将文文件件状状态态、权权限限、拥拥有有者者、文文件大小件大小等信息详细列出等信息详细列出 -t -t :根据文件建立时间的先后次序列出:根据文件建立时间的先后次序列出 -A -A :同同 -a -a ,但但不不列列出出 . . ( (目目前前目目录录) ) 及及 .
18、. ( (父父目录目录) ) -X-X:按扩展名排序显示:按扩展名排序显示 -R-R:递归显示下层子目录:递归显示下层子目录 -help-help:显示帮助信息:显示帮助信息 -version-version:显示版本信息:显示版本信息 Linux支持多种文件类型,每一类用一个字符来表示,其说明如下: -:常规文件 d:目录 b:块特殊设备 c:字符特殊设备 p:有名管道 s:信号灯 m:共享存储器文件类型的字符表示文件的权限,权限由三个字符串组成,这三个字符串分别表示:该文件所有者的权限、组中其他人的权限和系统中其人的权限;每个字符串又由三个字符组成,依次表示对文件的读(用字符r表示)、写(
19、用字符W表示)和执行权限(用字符x表示)。当用户没有相应的权限时,该权限的对应位置用短线“-”来表示。 例如:drwxr-x-表示的含义是:d表示这条信息是目录;目录拥有者的权限是rwx(表示有读、写和执行权限);组中其他人对该目录的权限是r-x(表示有读和执行权限,没有写权限),系统中其他人对该目录的权限是-(表示读、写和执行权限都没有)。下面是使用命令来显示帮助和版本信息,命令如下:#ls -version#l ls -help |more2.2.2 查找、排序及显示指定文件内容的命令1. 查找文件查找文件在在LinuxLinux系统中查找文件的命令通常为系统中查找文件的命令通常为find
20、find命命令。令。findfind命令可在使用、管理命令可在使用、管理LinuxLinux系统中方系统中方便地查找所需要的指定文件。便地查找所需要的指定文件。 findfind命令的语法格式如下:命令的语法格式如下: #find #find 目录列表目录列表 匹配标准匹配标准 在命令格式中有两个参数,说明如下:在命令格式中有两个参数,说明如下: 目目录录列列表表:希希望望查查询询文文件件或或文文件件集的目录列表,目录间用空格分隔。集的目录列表,目录间用空格分隔。 匹匹配配标标准准:希希望望查查询询的的文文件件的的匹匹配配标标准准或或说说明明。详详细细的的匹匹配配标标准准如如表表2-22-2所
21、所示。示。表达式表达式说明说明 -name-name文件文件 告诉告诉findfind要找什么文件;要找的文件包括在引号中,要找什么文件;要找的文件包括在引号中,可以使用通配符(可以使用通配符(* *和?)和?) -perm-perm模式模式 匹配所有模式为指定数字型模式值的文件。不仅仅是匹配所有模式为指定数字型模式值的文件。不仅仅是读,写和执行,所有模式都必须匹配。如果在模式前读,写和执行,所有模式都必须匹配。如果在模式前是负号(是负号(- -),表示采用除这个模式外的所有模式。),表示采用除这个模式外的所有模式。 -type x -type x 匹配所有类型为匹配所有类型为x x的文件。的
22、文件。x x是是c c(字符特殊),(字符特殊),b b(块(块特殊),特殊),d d(目录),(目录),p p(有名管道),(有名管道),l l(符号连接),(符号连接),s s(套接文件)或(套接文件)或f f(一般文件)。(一般文件)。 -links n -links n 匹配所有连接数为匹配所有连接数为n n的文件。的文件。 -user-user用户号用户号 匹配所有用户序列号是前面所指定的用户序列号的文匹配所有用户序列号是前面所指定的用户序列号的文件,可以是数字型的值或用户登录名件,可以是数字型的值或用户登录名。 - -atimeatime n n 匹配所有在前匹配所有在前n n天内
23、访问过的文件。天内访问过的文件。- -mtimemtime n n 匹配所有在前匹配所有在前n n天内修改过的文件。天内修改过的文件。 -newer-newer文件文件 匹配所有修改时间比匹配所有修改时间比filefile文件更新的文件。文件更新的文件。 -size n-size n 匹配所有大小为匹配所有大小为n n 块的文件(块的文件(512512字节块,若字节块,若k k在在n n后,后,则为则为1K1K字节块)字节块)。 -print -print 显示整个文件路径和名称。一般来说,都要用显示整个文件路径和名称。一般来说,都要用-print-print,如果没有这个参数,则,如果没有这
24、个参数,则findfind命令进行所要求的搜索命令进行所要求的搜索是没有显示结果的。是没有显示结果的。 1)通过文件名查找知道了某个文件的文件名,却不知道它存于哪个知道了某个文件的文件名,却不知道它存于哪个目录下,此时可通过查找命令找到该文件,命令目录下,此时可通过查找命令找到该文件,命令如下:如下: # find / -name # find / -name httpd.confhttpd.conf print print2)根据部分文件名查找)根据部分文件名查找当当当当要要要要查查查查找找找找某某某某个个个个文文文文件件件件时时时时,不不不不知知知知道道道道该该该该文文文文件件件件的的的的
25、全全全全名名名名,只只只只知知知知道道道道这这这这个个个个文文文文件件件件包包包包含含含含几几几几个个个个特特特特定定定定的的的的字字字字母母母母,此此此此时时时时用用用用查查查查找找找找命命命命令令令令也也也也是是是是可可可可找找找找到到到到相相相相应应应应文文文文件件件件的的的的。这这这这时时时时在在在在给给给给字字字字查查查查找找找找文文文文件件件件名名名名时时时时通通通通配配配配符符符符“* * * *”、“? ? ? ?”。例例例例如如如如,还还还还是是是是查查查查找找找找文文文文件件件件“httpd.confhttpd.confhttpd.confhttpd.conf”,但但但但仅
26、仅仅仅记记记记得得得得该该该该文文文文件件件件名名名名包包包包含含含含“httphttphttphttp”字字字字符符符符串串串串,可可可可使使使使用用用用如如如如下下下下命命命命令查找令查找令查找令查找:#find / name *http* -print#find / name *http* -print#find / name *http* -print#find / name *http* -print3)根据文件的特征查询如如果果仅仅知知道道某某个个文文件件的的大大小小、修修改改日日期期等等特特征征也也可可使使用用findfind命命令令把把该该文文件件查查找找出出来来。例例如如,知
27、知道道一一个个文文件件尺尺寸寸小小于于为为2500bytes2500bytes,可可使使用用如如下下命命令查找:令查找:#find /etc size -2500c print#find /etc size -2500c print下下面面是是以以时时间间特特征征为为查查找找条条件件的的findfind命命令令函函数数的的参数:参数: aminamin n n 查找查找n n分钟以前被访问过的所有文件分钟以前被访问过的所有文件. . atimeatime n n 查找查找n n天以前被访问过的所有文件天以前被访问过的所有文件. . cmincmin n n 查查找找n n分分钟钟以以前前文文件
28、件状状态态被被修修改改过过的的所所有文件有文件. . ctimectime n n 查查找找n n天天以以前前文文件件状状态态被被修修改改过过的的所所有有文件文件. . mminmmin n n 查查找找n n分分钟钟以以前前文文件件内内容容被被修修改改过过的的所所有文件有文件. . mtimemtime n n 查查找找n n天天以以前前文文件件内内容容被被修修改改过过的的所所有有文件文件. . 2. 显示文本文件内容显显示示文文本本文文件件内内容容的的命命令令是是catcat命命令令,用用来来将将文文件件的的内容显示到终端上,其命令语法如下:内容显示到终端上,其命令语法如下:cat cat
29、 选项选项 文件列表文件列表命令中的参数说明如下:命令中的参数说明如下: 常用选项如表常用选项如表2-32-3所示所示 文文件件列列表表:这这是是要要连连接接文文件件的的选选项项列列表表。如如果果没没有有指指定定文文件件或或连连字字号号(- -),就就从从标标准准输输入读取。入读取。表表23cat23cat命令常用选项命令常用选项选 项 说 明 -b 计算所有非空输出行,开始为1。 -e 在每行末尾显示$符号。 -n 计算所有输出行,开始为1。 -s 将相连的多个空行用单一空行代替。 3. 查找文件内容查找文件内容的命令是查找文件内容的命令是grepgrep命令。其使用的语法如命令。其使用的语
30、法如下:下:grepgrep 选项选项 匹配字符串匹配字符串 文件列表文件列表命令中的参数说明如下:命令中的参数说明如下: 选项如表选项如表2-42-4所示所示 文件列表:文件列表: 匹配字符串:希望在文件中查到的串。匹配字符串:希望在文件中查到的串。 表表2424grepgrep命令的常用选项命令的常用选项选项选项 说明说明 vv 列出不匹配串或正则表达式的行。列出不匹配串或正则表达式的行。 cc 对匹配的行计数。对匹配的行计数。 l l 只显示包含匹配的文件的文件名。只显示包含匹配的文件的文件名。 hh 抑制包含匹配文件的文件名的显示抑制包含匹配文件的文件名的显示nn每个匹配行只按照相对的
31、行号显示。每个匹配行只按照相对的行号显示。 ii 产产生生不不区区分分大大小小写写的的匹匹配配,缺缺省省状状态态是是区分大小写。区分大小写。 4. 排序命令sortsort命令的功能是对文件中的各行进行排序命令的功能是对文件中的各行进行排序. . sortsort命令可以被认为是一个非常强大的数据管理工命令可以被认为是一个非常强大的数据管理工具,用来管理内容类似数据库记录的文件。具,用来管理内容类似数据库记录的文件。SortSort命令将逐行对文件中的内容进行排序,命令将逐行对文件中的内容进行排序,如果两行的首字符相同,该命令将继续比较这两行如果两行的首字符相同,该命令将继续比较这两行的下一字
32、符,如果还相同,将继续进行比较。该命的下一字符,如果还相同,将继续进行比较。该命令的语法格式如下:令的语法格式如下: sort sort 选项选项 文件文件说说明明:sortsort命命令令对对指指定定文文件件中中所所有有的的行行进进行行排排序序,并并将将结结果果显显示示在在标标准准输输出出上上。如如不不指指定定输输入入文件或使用文件或使用“- - ”,则表示排序内容来自标准输入。,则表示排序内容来自标准输入。 2.2.3 比较文件内容的命令比较文件内容的命令m命令命令如如果果想想对对两两个个有有序序的的文文件件进进行行比比较较,可可以以使使用用commcomm命命令。该命令的使用语法如下:令
33、。该命令的使用语法如下:comm-123file1file2 说说明明:该该命命令令是是对对两两个个已已经经排排好好序序的的文文件件进进行行比比较较。其其中中file1和和file2是是已已排排序序的的文文件件。comm读读取取这这两两个个文文件件,然然后后生生成成三三列列输输出出:仅仅在在file1中中出出现现的的行行;仅仅在在file2中中出出现现的的行行;在在两两个个文文件件中中都都存存在在的的行行。如如果果文文件件名名用用“-”,则表示从标准输入读取。,则表示从标准输入读取。 2.diff命令命令diffdiff命命令令用用于于比比较较两两个个文文件件内内容容的的不不同同,其其命命令令
34、语法格式如下:语法格式如下:diff diff 参数参数 原文件目标文件原文件目标文件其其中中“源源文文件件”和和“目目标标文文件件”是是用用户户要要比比较较的的两个文件。两个文件。表24diff命令的常用参数参数参数说明说明a a 将所有文件当做文本文件来处理将所有文件当做文本文件来处理 b b忽略空格造成的不同忽略空格造成的不同 B B 忽略空行造成的不同q只报告什么地方不同,不报告具体的不同信息H利用试探法加速对大文件的搜索i忽略大小写的变化l用pr对输出进行分页2.2.r r在比较目录时比较所有的子目录3.s两个文件相同时才报告4.v在标准输出上输出版本信息并退出2.2.4 复制、删除
35、和移动文件的命令1. 文件复制命令文件复制命令 LinuxLinux下下的的cpcp命命令令用用于于复复制制文文件件或或目目录录,该该命命令令是最重要的文件操作命令,其命令格式如下:是最重要的文件操作命令,其命令格式如下:cpcp 选项选项 源文件目标文件源文件目标文件 cpcp 选项选项 源文件组源文件组 目标目录目标目录 参数说明如下:参数说明如下: 源文件:要拷贝的文件。源文件:要拷贝的文件。 目目标标文文件件:目目标标名名。也也可可以以是是目目录录名名,这这种种情情况况下下,源源文文件件名名作作为为目目标标文文件件名名,而文件放在该目录下。而文件放在该目录下。 源源文文件件组组:要要拷
36、拷贝贝文文件件的的由由空空格格分分隔的列表。隔的列表。 目标目录:目标目录。目标目录:目标目录。 常用命令的选项列表如表常用命令的选项列表如表2-52-5所示。所示。 表25cp命令常用选项常用选项说明a在备份中保持尽可能多的源文件结构和属。-b作将要覆盖或删除文件的备份。-f删除已存在的目标文件。-i提示是否覆盖已存在的目标文件。-p保持原先文件的所有者,组权限和时间标志-r递归拷贝目录,把所有非目录文件当普通文件拷贝。-R递归拷贝目录。2. 文件的删除命令rmrm命令可从文件系统中删除文件及整个目录。命令可从文件系统中删除文件及整个目录。rmrm命令所命令所使用的命令格式如下:使用的命令格
37、式如下:rmrm 选项选项 文件列表文件列表参数说明如下:参数说明如下: 常用命令的选项列表如表常用命令的选项列表如表2-62-6所示。所示。 文文件件列列表表:希希望望删删除除的的用用空空格格分分隔隔的的文文件件列列表表,可可以包括目以包括目录名。录名。表表2626rmrm命令常用选项命令常用选项常用选项常用选项说明说明r r删除文件列表中指定的目录,若不用此标志则不删除目录删除文件列表中指定的目录,若不用此标志则不删除目录I I指定交互模式。在执行删除前提示确认。任何以指定交互模式。在执行删除前提示确认。任何以Y Y开始的开始的响应都表示肯定;其他则表示否定。响应都表示肯定;其他则表示否定
38、。f f指定强行删除模式。通常,在删除文件权限可满足时指定强行删除模式。通常,在删除文件权限可满足时rmrm提提示。本标志强迫删除,不用提示。示。本标志强迫删除,不用提示。VV在删除前回显文件名。在删除前回显文件名。 指明所有选项结束。用于删除一个文件名与某一选项相同指明所有选项结束。用于删除一个文件名与某一选项相同的文件。例如:假定偶然建立了名为的文件。例如:假定偶然建立了名为f f的文件,又打算删的文件,又打算删除它,命令除它,命令rmrmff不起任何作用,因为不起任何作用,因为f f被解释成标志而不被解释成标志而不是文件名;而命令是文件名;而命令rmrmff能成功地删除文件。能成功地删除
39、文件。 3. 移动文件移动文件在Linux系统中,移动文件可使用mv命令。Mv命令还可改文件改名,即把源文件以一个新文件名移动到另一个新的目录中去。该命令所使用语法形式有:mv -f -i 文件1 文件2mv -f -i 目录1 目录2mv -f -i 文件列表 目录命令中的参数说明如下: -f:通常情况下,目标文件存在但用户没有写权限时,mv会给出 提示。本选项会使mv命令执行移动而不给出提示。 -i:交互模式,当移动的目录已存在同名的目标文件名时,用覆 盖方式写文件,但在写入之前给出提示。 文件: 源文件名。 文件2:目标文件名(新文件名)。 目录1:源目录名。 目录2:目标目录名(新目录
40、名)。 文件列表:用空格分隔的文件名列表。本选项用于文件保持它们的 名字被移动到一个新目录。 目录:目标目录。2. 5 文件内容统计命令 wcwc命命令令的的功功能能为为统统计计指指定定文文件件中中的的字字节节数数、字字数数、行行数数, , 并并将将统统计计结结果果显显示示输输出出。wcwc命命令令使使用用的的语语法法格式如下:格式如下:wcwc 选项选项 文件列表文件列表说说明明:该该命命令令统统计计给给定定文文件件中中的的字字节节数数、字字数数、行行数数。如如果果没没有有给给出出文文件件名名,则则从从标标准准输输入入读读取取。wcwc同同时时也也给给出出所所有有指指定定文文件件的的总总统统
41、计计数数。字字是是由由空空格格字符区分开的最大字符串。字符区分开的最大字符串。该命令各选项含义如下:该命令各选项含义如下:-c-c:统计字节数。:统计字节数。 -l-l:统计行数。:统计行数。-w-w:统计字数。:统计字数。 2.2.6 命令的输入和输出命令的输入和输出在在LinuxLinux系系统统中中,执执行行一一个个shellshell命命令令行行时时通通常常会会自自动动打打开开三三个个标标准准文文件件,即即标标准准输输入入文文件件(stdinstdin),通通常常对对应应终终端端的的键键盘盘;标标准准输输出出文文件件(stdoutstdout)和和标标准准错错误误输输出出文文件件(st
42、derrstderr),这这两两个个文文件件也也都都对对应应终终端端的的屏屏幕幕。进进程程将将从从标标准准输输入入文文件件中中得得到到输输入入数数据据,将将正正常常输输出出数数据据输输出出到到标标准准输输出出文文件件,而而将将错错误误信信息息送送到到标标准准错错误误文文件件中。中。 Linux系统为输入、输出的传送引入了另外两种机制,即输入/输出重定向和管道。输入重定向输入重定向 输输入入重重定定向向是是指指把把命命令令(或或可可执执行行程程序序)的的标标准准输输入入重重定定向向到到指指定定的的文文件件中中。输输入入重重定定向向主主要要用用于于改改变变一一个个命命令令的输入源,特别是改变那些需
43、要大量输入的输入源。的输入源,特别是改变那些需要大量输入的输入源。 另一种输入重定向称为here文档,它告诉shell当前命令的标准输入来自命令行。here文档的重定向操作符使用“文件名为避免输出重定向中指定文件只能存放当前命令的输出重定向的内容,shell提供了输出重定向的一种追加手段。输出追加重定向与输出重定向的功能非常相似,区别仅在于输出追加重定向的功能是把命令(或可执行程序)的输出结果追加到指定文件的最后,而该文件原有内容不被破坏。 可以使用追加重定向操作符“”,其使用语法形式为:命令文件名3.3.管管 道道 4.4.将一个程序或命令的输出作为另一个程序或命令的将一个程序或命令的输出作
44、为另一个程序或命令的输入,有两种方法,一种是通过一个临时文件将两个输入,有两种方法,一种是通过一个临时文件将两个命令或程序结合在一起命令或程序结合在一起; ;另一种是另一种是Linux所提供的管道所提供的管道功能。这种方法比前一种方法更好。功能。这种方法比前一种方法更好。 5.5. 管管道道可可以以把把一一系系列列命命令令连连接接起起来来,这这意意味味着着第第一一个个命命令令的的输输出出会会作作为为第第二二个个命命令令的的输输入入通通过过管管道道传传给给第第二二个个命命令令,第第二二个个命命令令的的输输出出又又会会作作为为第第三三个个命命令令的的输输入入,以以此此类类推推。显显示示在在屏屏幕幕
45、上上的的是是管管道道行行中中最最后后一一个个命令的输出(如果命令行中未使用输出重定向)。命令的输出(如果命令行中未使用输出重定向)。 4.命令替换命令替换 命命令令替替换换和和重重定定向向有有些些相相似似,但但区区别别在在于于命命令令替替换换是是将将一一个命令的输出作为另外一个命令的参数。常用命令格式为:个命令的输出作为另外一个命令的参数。常用命令格式为: command1 command2 command1 command2 其其中中,command2的的输输出出将将作作为为command1的的参参数数。需需要要注注意意的的是是这这里里的的符符号号,被被它它括括起起来来的的内内容容将将作作为
46、为命命令令执行,执行后的结果作为执行,执行后的结果作为command1的参数。的参数。 例如:例如: $ $ cdcd pwdpwd 该该命命令令将将pwd命命令令列列出出的的目目录录作作为为cd命命令令的的参参数数,结结果果仍然是停留在当前目录下。仍然是停留在当前目录下。 2.3目录及其操作命令1. 1.树型目录结构树型目录结构 LinuxLinux系系统统以以文文件件目目录录的的方方式式来来组组织织和和管管理理系系统统中中的的所所有有文文件件。所所谓谓文文件件目目录录就就是是将将所所有有文文件件的的说说明明信信息息采采用用树树型型结结构构组组织织起起来来,即即常常说说的的目目录录。也也就就
47、是是说说,整整个个文文件件系系统统有有一一个个“根根”(rootroot),然然后后在在根根上上分分“杈杈”(directorydirectory),任任何何一一个个分分杈杈上上都都可可以以再再分分杈杈,杈杈上上也也可可以以长长出出“叶叶子子”。“根根”和和“杈杈”在在LinuxLinux中中被被称称为为是是“目目录录”或或“文文件件夹夹”。而而“叶叶子子”则则是是一一个个个个的的文文件件。实实践践证证明明,此此种种结结构构的的文件系统效率比较高。文件系统效率比较高。如前所述,目录也是一种类型的文件。Linux系统通过目录将系统中所有的文件分级、分层组织在一起,形成了Linux文件系统的树型层
48、次结构。以根目录为起点,所有其他的目录都由根目录派生而来用户可以浏览整个系统,可以进入任何一个已授权进入的目录,访问那里的文件。Linux目录提供了管理文件的一个方便途径。每个目录里面都包含文件。用户可以为特定的文件创建特定的目录,也可以把一个目录下的文件移动或复制到另一目录下,而且能移动整个目录,并且和系统中的其他用户共享目录和文件。需要说明的是,根目录(系统目录)是Linux系统中的特殊目录。Linux是一个多用户系统,操作系统本身的驻留程序存放在以根目录开始的专用目录中。 2. 工作目录、用户主目录与路径工作目录、用户主目录与路径(1) 工作目录与用户主目录工作目录与用户主目录 从逻辑上
49、讲,用户在登录到Linux系统中之后,每时每刻都“处在”某个目录之中,此目录被称作工作目录或当前目录(Working Directory)。工作目录是可以随时改变的。用户初始登录到系统中时,其主目录(Home Directory)就成为其工作目录。工作目录用“.”表示,其父目录用“.”表示。 用户主目录是系统管理员增加用户时建立起来的(以后也可以改变),每个用户都有自己的主目录,不同用户的主目录一般互不相同。 用户刚登录到系统中时,其工作目录便是该用户主目录,通常与用户的登录名相同。 (2)路径)路径 路径是指从树型目录中的某个目录层次到某个文件的一条道路。此路径的主要构成是目录名称,中间用“
50、/”分开。某个文件在文件系统中的位置都是由相应的路径决定的。路径又分相对路径和绝对路径。 绝对路径是指从“根”开始的路径,也称为完全路径;相对路径是从用户工作目录开始的路径。应该注意到,在树型目录结构中到某一确定文件的绝对路径和相对路径均只有一条。绝对路径是确定不变的,而相对路径则随着用户工作目录的变化而不断变化。这一点对于以后使用某些命令如cp和tar等大有好处。 3.Linux系统主要目录说明/bin :显而易见,bin 就是二进制(binary)英文缩写。 /boot/boot :在这个目录下存放的都是系统启动时要用到的程序。在使用lilo引导linux的时候,会用到这里的一些信息。/d
51、ev/dev:dev 是设备(device)的英文缩写。这个目录对所有的用户都十分重要。因为在这个目录中包含了所有linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。/etc :etc这个目录是linux系统中最重要的目录之一。在这个目录下存放了系统管理时要用到的各种配置文件和子目录。我们要用到的网络配置文件,文件系统,x系统配置文件,设备配置信息,设置用户信息等都在这个目录下。 /sbin :这个目录是用来存放系统管理员的系统管理程序。/home/home :如果建立一个用户,用户名是“jl”,那么在/home目录下就有一个对应的/home/jl路径,用来存放用户的主目录。
52、 /lib :lib是库(library)英文缩写。这个目录是用来存放系统动态连接共享库的。几乎所有的应用程序都会用到这个目录下的共享库。 / /mntmnt :这个目录在一般情况下也是空的。可以临时将别的文件系统挂在这个目录下。/proc/proc :可以在这个目录下获取系统信息。这些信息是在内存中,由系统自己产生的。 /root /root :如果用户是以超级用户的身份登录的,这个就是超级用户的主目录。/ /tmptmp :用来存放不同程序执行时产生的临时文件。 / /usrusr :这是linux系统中占用硬盘空间最大的目录。 2.3.2 创建和删除目录的命令创建和删除目录的命令1.创建
53、目录创建目录在Linux系统中建立新目录的命令是mkdir。该命令的语法格式如下: mkdir -m模式 -p目录名 目录命令中的参数说明如下:m模式:在建立目录时把按模式指定设置目录权限。该目录的权限分为:目录所有者的权限、组中其他人对目录的权限和系统中其他人对目录的权限。这三个权限分别用三个数字之和来表示:对目录的读权限是4、写权限是2、执行权限是1。 -p目录名:建立所有不存在父目录的目录。 目录:要建立的目录。2. 删除目录rmdirrmdir 命命令令是是用用来来删删除除目目录录的的,一一般般情情况况下下要要删删除除的的目目录录必必须须为为空空目目录录,如如果果所所给给的的目目录录不
54、不为为空空,系系统统会会报告错误。该命令的语法格式如下:报告错误。该命令的语法格式如下:rmdirrmdirrmdirrmdir -p -p -p -p 目录列表目录列表目录列表目录列表命令中的参数说明如下:命令中的参数说明如下:命令中的参数说明如下:命令中的参数说明如下: -p-p-p-p:在在在在删删删删除除除除目目目目录录录录表表表表指指指指定定定定的的的的目目目目录录录录后后后后,若若若若父父父父目录为目录为目录为目录为空空空空,则则则则rmdirrmdirrmdirrmdir也也也也删删删删除除除除父父父父目目目目录录录录。状状状状态态态态信信信信息息息息显显显显示什么示什么示什么示
55、什么被删除,什么没被删除。被删除,什么没被删除。被删除,什么没被删除。被删除,什么没被删除。 目目目目录录录录列列列列表表表表:空空空空格格格格分分分分隔隔隔隔的的的的目目目目录录录录名名名名列列列列表表表表。要要要要删除的删除的删除的删除的目录必须为空。目录必须为空。目录必须为空。目录必须为空。2.3.3 改变工作目录和显示目录内容的命令改变工作目录和显示目录内容的命令1. 显示当前目录显示当前目录显示当前目录的命令是pwd命令,该命令使用的语 法格式如下: pwd执行pwd命令形式如下: pwd2.改变当前工作目录改变当前工作目录改变当前工作目录在改变当前工作目录在LinuxLinux系统
56、中使用的是系统中使用的是cdcd命令。命令。该命令使用的语法格式如下:该命令使用的语法格式如下: cdcd 目录名目录名 命令中的参数说明如下:命令中的参数说明如下: 目目录录名名:改改变变到到所所指指定定的的目目录录名名。如如果果没没有有指指定定目目录录,就就返返回回到用户主目录(在到用户主目录(在HOMEHOME环境变量中指定)。环境变量中指定)。2.3.4 链接文件的命令链接文件命令是链接文件命令是lnln命令。该命令在文件之间创命令。该命令在文件之间创建链接。这种操作实际上是给系统中已有的某建链接。这种操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称。个文件指定另外一个
57、可用于访问它的名称。 该命令的使用语法如下:该命令的使用语法如下:lnln 选项选项 目标目标 链接名链接名 lnln 选项选项 目标目标 目录目录链链 接接 有有 两两 种种 , 一一 种种 被被 称称 为为 硬硬 链链 接接 ( Hard Hard LinkLink),另另一一种种被被称称为为符符号号链链接接(Symbolic Symbolic LinkLink)。建建立立硬硬链链接接时时,链链接接文文件件和和被被链链接接文文件件必必须须位位于于同同一一个个文文件件系系统统中中,并并且且不不能能建建立立指指向向目目录录的的硬硬链链接接。而而对对符符号号链链接接,则则不不存存在在这个问题。默
58、认情况下,这个问题。默认情况下,lnln产生硬链接产生硬链接。在硬链接的情况下,参数中的“目标”被链接至链接名。如果链接名是一个目录名,系统将在该目录之下建立一个或多个与“目标”同名的链接文件,链接文件和被链接文件的内容完全相同。如果链接名为一个文件,用户将被告知该文件已存在且不进行链接。如果指定了多个“目标”参数,那么最后一个参数必须为目录。如果给ln命令加上-s选项,则建立符号链接。如果链接名已经存在但不是目录,将不做链接。链接名可以是任何一个文件名(可包含路径),也可以是一个目录,并且允许它与“目标”不在同一个文件系统中。如果链接名是一个已经存在的目录,系统将在该目录下建立一个或多个与“
59、目标”同名的文件,此新建的文件实际上是指向原“目标”的符号链接文件。例:$ ln - s lunch /home/xu用户为当前目录下的文件lunch创建了一个符号链接/home/xu。2.3.5 2.3.5 改变文件或目录存取权限的命令改变文件或目录存取权限的命令1. 改变文件或目录权限改变文件或目录权限在在LinuxLinux系系统统中中,用用户户设设定定文文件件权权限限控控制制其其他他用用户户不不能能访访问问、修修改改。但但在在系系统统应应用用中中,有有时时需需要要让让其其他他用用户户使使用用某某个个原原来来其其不不能能访访问问的的文文件件或或目目录录,这这是是就就需需要要重重新新设设置
60、置文文件件的的权权限限,使使用用的的命命令令是是chmodchmod命命令令。并并不不是是谁谁都都可可改改变变文文件件和和目目录录的的访访问问权权限限,只只有有文文件件和和目目录录的的所所有有者者才才有有权权限限修修改改其其权权限限,另另外外超超级级用用户户可可对对所所有有文文件件或或目目录录进进行行权权限限设设置置。chmodchmod命令的使用语法格式如下:命令的使用语法格式如下:chmodchmod 选项选项 文件和目录列表文件和目录列表命令中的参数说明如下:命令中的参数说明如下: 选项的常用取值如表选项的常用取值如表2-72-7所示所示 文文件件和和目目录录列列表表:准准备备修修改改权
61、权限限的的文文件和目录件和目录。常用选项常用选项 说明说明 cc只有在文件的权限确只有在文件的权限确实改变时才进行详细实改变时才进行详细说明说明。 -f -f 不打印权限不能改变不打印权限不能改变的文件的错误信息。的文件的错误信息。 -v -v 详细说明权限的变化。详细说明权限的变化。 -R -R 递归改变目录及其内递归改变目录及其内容的权限。容的权限。 表27chmod命令的常用选项chmodchmod命令支持两种文件权限设定的方法:命令支持两种文件权限设定的方法:(1 1)使用字符串设置权限)使用字符串设置权限(2 2)使用八进制数设置权限)使用八进制数设置权限)使用八进制数设置权限)使用
62、八进制数设置权限另另另另外外外外,文文文文件件件件和和和和目目目目录录录录的的的的权权权权限限限限还还还还可可可可用用用用八八八八进进进进制制制制数数数数字字字字模模模模式式式式来来来来表表表表示示示示。三三三三个个个个八八八八进进进进制制制制数数数数字字字字分分分分别别别别代代代代表表表表ugougougougo的的的的权权权权限限限限。执执执执行行行行权、读权和写权所对应的数值分别是权、读权和写权所对应的数值分别是权、读权和写权所对应的数值分别是权、读权和写权所对应的数值分别是1 1 1 1,2 2 2 2和和和和4 4 4 4。若要若要若要若要rwxrwxrwxrwx属性则属性则属性则属
63、性则4+2+1=74+2+1=74+2+1=74+2+1=7; 若要若要若要若要rwrwrwrw- - - -属性则属性则属性则属性则4+2=64+2=64+2=64+2=6; 若要若要若要若要r-xr-xr-xr-x属性则属性则属性则属性则4+1=54+1=54+1=54+1=5。2. 2. 2. 2. 改变文件和目录的所有权改变文件和目录的所有权改变文件和目录的所有权改变文件和目录的所有权命令的格式如下:命令的格式如下:命令的格式如下:命令的格式如下:chownchownchownchown 选项选项选项选项 用户文件和目录列表用户文件和目录列表用户文件和目录列表用户文件和目录列表命令中的
64、参数说明如下: 命令中的选择说明如表2-8所示。 用户:可能是用户号或文件/etc/passwd中出现的用户名。 文件和目录列表:用于重新指定所有权的用空格分隔的文件和目录列表。表28chown命令的常用选项常用选项说明c只有在文件的权限确实改变时才进行详细说明。f不打印权限不能改变的文件的错误信息。v详细说明权限的变化。R递归改变目录及其内容的权限。2.4文件压缩与联机帮助命令2.4.1 2.4.1 文件压缩文件压缩文件压缩文件压缩1. 1. gzipgzip压缩文件压缩文件压缩文件压缩文件gzipgzipgzipgzip命命命命令令令令是是是是在在在在LinuxLinuxLinuxLinu
65、x系系系系统统统统中中中中经经经经常常常常使使使使用用用用的的的的一一一一个个个个对对对对文文文文件件件件进进进进行行行行压压压压缩缩缩缩和和和和解解解解压压压压缩缩缩缩的的的的命命命命令令令令,既既既既方方方方便便便便又又又又好好好好用用用用。gzipgzipgzipgzip命命命命令令令令的的的的使用语法格式如下:使用语法格式如下:使用语法格式如下:使用语法格式如下:gzipgzipgzipgzip 选项选项选项选项 压缩(解压缩)的文件名压缩(解压缩)的文件名压缩(解压缩)的文件名压缩(解压缩)的文件名gzipgzip命令各选项的说明如表命令各选项的说明如表2-92-9所示。所示。 表表
66、2929gzipgzip命令的常用选项命令的常用选项常用选项说明-c将输出写到标准输出上,并保留原有文件。 -d 将压缩文件解压。 -l 对每个压缩文件,显示压缩文件的大小、未压缩文件的大小、压缩比、未压缩文件的名字等详细信息 -r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。 -t 测试,检查压缩文件是否完整。 -v 对每一个压缩和解压的文件,显示文件名和压缩比。 2. 文件打包tartartar可以对文件和目录进行打包。利用可以对文件和目录进行打包。利用tartar,用户可以,用户可以对某一特定文件进行打包(一般用作备份文件),也可以在对某一特定文件进行打包(一般用作备份文件),
67、也可以在包中改变文件,或者向包中加入新的文件。包中改变文件,或者向包中加入新的文件。t t tartar命令的使用语法格式如下:命令的使用语法格式如下:tar tar 主选项主选项+ +辅选项辅选项 文件或者目录文件或者目录 表表210tar210tar命令的主选项的常用选项命令的主选项的常用选项常用选项说 明-c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。 -x 从档案文件中释放文件。 r把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。 -t 列出档案
68、文件的内容,查看已经备份了哪些文件。 -u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。 表211tar命令的辅助选项的常用选项常用选项说明f使用档案文件或设备,这个选项通常是必选的。K保存已经存在的文件。例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。m在还原文件时,把所有文件的修改时间设定为现在。M创建多卷的档案文件,以便在几个磁盘中存放。v详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。z用gzip来压缩/解压缩文件unzip命令命令可以用可以用unzipunzip命令,该命令用于解扩
69、展名为命令,该命令用于解扩展名为“.zip.zip”的的压缩文件。该命令使用的语法格式如下:压缩文件。该命令使用的语法格式如下:unzip选项选项压缩文件名压缩文件名.zipupzipupzip命令各选项的说明如表命令各选项的说明如表2-122-12所示。所示。表212upzip命令的常用选项常用选项说明x文件列表解压缩文件,但不包括指定的file文件v查看压缩文件目录,但不解压。t测试文件有无损坏,但不解压。d目录把压缩文件解到指定目录下。z只显示压缩文件的注解。n不覆盖已经存在的文件。o覆盖已存在的文件且不要求用户确认。j不重建文档的目录结构,把所有文件解压到同一目录下。2.4.2 2.4
70、.2 联机帮助联机帮助1. 显示帮助手册显示帮助手册通通常常使使用用者者只只要要在在命命令令manman后后,输输入入想想要要获获取取的的命命令令的的名名称称(例例如如lsls),manman就就会会列列出出一一份份完完整整的的说说明明,其其内内容容包包括括命命令令语语法法、各各选选项项的的意意义义以以及及相相关关命命令令等等。该该命命令令的的一一般形式为:般形式为:man man 选项选项 命令名称命令名称表表213man213man命令的常用选项命令的常用选项常用选项常用选项说明说明SS根据章节显示,由于一个命令名称可能会有很多根据章节显示,由于一个命令名称可能会有很多类别,其类别说明如表
71、类别,其类别说明如表214214所示。所示。f f只显示出命令的功能而不显示其中详细的说明文件只显示出命令的功能而不显示其中详细的说明文件ww不显示手册页,只显示将被格式化和显示的文件所在不显示手册页,只显示将被格式化和显示的文件所在位置。位置。aa显示所有的手册页,而不是只显示第一个。显示所有的手册页,而不是只显示第一个。EE在每行的末尾显示在每行的末尾显示$ $符号符号 表213man命令的章节常用选项章节说明1一般使用者的命令2系统调用的命令3C语言函数库的命令4有关驱动程序和系统设备的解释5配置文件的解释6游戏程序的命令7其它的软件或是程序的命令和有关系统维护的命令2. 系统帮助文档系
72、统帮助文档help命令用于查看所有Shell命令。用户可以通过该命令寻求Shell命令的用法,只需在所查找的命令后输入help命令,就可以看到所查命令的内容了。 例如:查看cd命令的使用方法。 $ cd -help3. whereis命令命令这个程序的主要功能是寻找一个命令所在的位置。例如,最常用的ls命令,它是在/bin这个目录下的。如果希望知道某个命令存在哪一个目录下,可以用whereis命令来查询。该命令的一般形式为: whereis 选项 命令名。说明:一般直接使用不加选项的whereis命令,但用户也可根据特殊需要选用它的一些选项。该命令中各选项的说明如表2-14所示。表213whe
73、reis命令的常用选项章节说明b只查找二进制文件m查找主要文件s查找来源u查找不常用的记录文件例例如如:查查找找cdcd命命令令二二进进行行文文件件在在什什么么目目录录下下。可可使使用用如如下下命令:命令: $ $ whereiswhereis -b -b cdcdvi编辑器编辑器n n内容提要n nVI的工作方式n nVI的启动与退出n n文本输入n n打开文件n n保存文件n n文件修改n nEX命令3.1 vi 的工作方式的工作方式n nvi编辑器有三种工作方式:命令方式、输入方式和ex转义方式。通过相应的命令或操作,在这三种工作方式之间可以进行转换。 n n3.1.1 命令方式n n当
74、输入命令vi后,进入vi编辑器时,就处于vi的命令方式。 n n3.1.2 输入方式n n通过输入vi的插入命令(i)、附加命令(a)、打开命令(o)、替换命令(s)、修改命令(c)或取代命令(r)可以从命令方式进入到输入方式。 n n3.1.3 ex转义方式n nvi和ex编辑器的功能是相同的,二者的主要区别是用户界面。在vi中,命令通常是一个字符,例如a、x、r等。而在ex中,命令是以回车键结束的正文行。vi有一个专门的“转义”命令,可访问很多面向行的ex命令。为使用ex转义方式,可输入一个冒号(:)。冒号作为ex命令提示符出现在状态行(通常在屏幕最下一行)。按下中断键(通常是Del键)可
75、终止正在执行的命令。多数文件管理命令都是在ex转义方式下执行的(例如,读取文件,把编辑缓冲区的内容写到文件中等)。3.2 vi的启动和退出的启动和退出n n3.2.1 3.2.1 启动启动vi vin n在系统提示符下输入命令在系统提示符下输入命令vi vi和想要编辑和想要编辑( (建立建立) )的文件名的文件名, ,便可进入便可进入vi vi。 n n3.2.2 3.2.2 退出退出vi vin n在在vi vi的的exex转义方式下有转义方式下有4 4种方法可以退出种方法可以退出vi vi编辑器:编辑器:n n(1 1): :wqwq的功能是把编辑缓冲区的内容写到指定的文件的功能是把编辑缓
76、冲区的内容写到指定的文件中,退出编辑器,回到中,退出编辑器,回到shellshell状态下。状态下。n n(2 2):ZZ:ZZ的功能是仅当对所编辑的内容做过修改时,才的功能是仅当对所编辑的内容做过修改时,才将缓冲区的内容写到指定文件上;将缓冲区的内容写到指定文件上;n n(3 3):x:x的功能与的功能与:ZZ:ZZ相同。相同。n n(4 4):q:q!的功能是强行退出!的功能是强行退出vi vi。 3.3 文本输入文本输入n n3.3.1 插入命令n n插入命令有两个,即i和I。n n(1)在i命令之后输入的内容都插在光标位置之前,光标后的文本相应向右移动。如按下回车键,就插入新的一行或者
77、换行。n n(2)输入I命令后光标所在行的行首插入新增文本,行首是该行的第一个非空白字符。当输入I命令时,光标就移到行首。 n n3.3.2 附加命令n n附加命令有两个,即a和A。n n(1)a命令:该命令之后输入的字符都插入到光标之后,光标可在一行的任何位置。n n(2)A命令:在光标所在行的行尾添加文本。当输入命令A后,光标自动移到该行的行尾。A命令是把文本添加到行尾的惟一方法。n n3.3.3 打开命令n n打开命令有两个,即o和O。n n(1)o命令:在光标所在行的下面新开辟一行,随后输入的文本就插入在这一行上。n n(2)O命令:在光标所在行的上面新开辟一行,随后输入的文本就插入在
78、这一行上。3.3.4 输入方式下光标移动输入方式下光标移动n n在键盘的右下方有4个表示方向的方向键,利用它们可以在输入方式下移动光标。每按一次上下方向键,光标相应移动一行;左右方向键每按一次,光标在当前行上相应移动一个字符位置。当光标位于行首(或行尾)时,又按下左向键(或右向键),系统会发出嘟嘟声,并且返回到命令方式。n n还可用下列一些组合键来移动光标 :n n(1)Ctrl+u键:将光标回退到刚插入字符串的第一个字符,删除刚插入的字符串,并重新开始插入。 n n(2)Ctrl+w键:将光标移到最后插入单词的首字符。 n n(3)Ctrl+t键:在插入正文时,如果光标在当前行的开头,并且设
79、置了自动缩进选项,那么,这个命令就插入缩进所对应的空格。 3.4 打开文件打开文件n n3.4.1 打开一个文件n n用vi打开文件的方法很简单,在vi命令后面接上路径及文件名,然后回车,就像下面这样:n nvi vi_testn n3.4.2 3.4.2 打开多个文件打开多个文件n nvi vi能够一次打开多个文件。打开多个文件的语法如下:能够一次打开多个文件。打开多个文件的语法如下:n nvi vi 文件文件1 1 文件文件2 2n n在输入上述的命令之后,在输入上述的命令之后,vi vi将第一个文件读入缓冲区,将第一个文件读入缓冲区,并在光标定位在左上角。用户可以输入并在光标定位在左上角
80、。用户可以输入“ “:next”next”命令命令来编辑下一个文件。来编辑下一个文件。n n3.4.3 3.4.3 用用vi vi打开多窗口打开多窗口n n在在vi vi里也可以用多个窗口打开多个文件,只需给里也可以用多个窗口打开多个文件,只需给vi vi传递传递一个参数。一个参数。n n语法如下:语法如下:n nvi o vi o 文件文件1 1 文件文件2 2n n前面所编辑两个文件,可以在两个窗口中进行编辑,命前面所编辑两个文件,可以在两个窗口中进行编辑,命令如下:令如下:n n rootlocalhostrootlocalhost root root# vi o file1 file2
81、# vi o file1 file23.5 保存文件保存文件n n在用户录入文本的时候,要不断地存盘。三个命令存盘为:n n:w 将缓冲区的内容写到上一次指定的文件(上一次保存时的文件,如未保存则是打开时的文件);n n:w file 将缓冲区的内容写到名为file的文件里;n n:w! file 强制将缓冲区的内容写到file中。3.6 移动光标移动光标nn1. 1. 用四个箭头键移动光标用四个箭头键移动光标nn箭头键是最基本的移动方法。大多数的系统都是支持箭头键。箭头键是最基本的移动方法。大多数的系统都是支持箭头键。 nn2. 2. 用命令移动光标用命令移动光标nn在命令模式里,在命令模式
82、里,vi vi还可以使用命令来移动光标。还可以使用命令来移动光标。 nn光标移动光标移动nn左:左:h hnn下:下:j jnn上:上:k knn右:右:l lnn下一行行首:下一行行首:+ +nn上一行行首:上一行行首:- -nn当前行行首:当前行行首:0 0nn当前行行尾:当前行行尾:$ $nn后一个单词词首:后一个单词词首:w,Ww,Wnn后一个单词词尾:后一个单词词尾:e,Ee,Enn前一个单词词首:前一个单词词首:b,Bb,Bnn下一屏:下一屏:CRTL+FCRTL+Fnn上一屏:上一屏:CRTL+BCRTL+Bnn下半屏:下半屏:CRTL+DCRTL+Dnn上半屏:上半屏:CRTL
83、+UCRTL+Unn向上滚动屏幕向上滚动屏幕: CRTL+Y: CRTL+Ynn向下滚动屏幕向下滚动屏幕: CRTL+E: CRTL+Enn跳到文件尾跳到文件尾:G:Gnn跳到文件头跳到文件头:g:gnn当前屏幕首行:当前屏幕首行:H Hnn当前屏幕末行:当前屏幕末行:L Lnn当前屏幕中央:当前屏幕中央:MMnn指定行:行号指定行:行号G,:G,:行号行号nn指定字符串前:指定字符串前:/ /字符串字符串,?,?字符串字符串nn当前行指定字符前:当前行指定字符前:f f字符字符,F,F字符字符3.7 文本修改文本修改n n3.7.1 删除与替换n n1. 删除n n在输入模式下,用户可以用B
84、ackspace(退格键)来删除前面的字符,还可以用Delete(删除键)来删除当前的字符。n n 删除命令删除命令n n命 令 作 用n nX 删除当前光标所在字符n nd w 删除当前光标所在单词字符至 下一个单词开始的几个字符n nd $(或shift+d) 删除从当前光标至行尾的所有 字符d d整行删除n n2. 替换n n在vi的命令模式下还提供了几个命令来替换一个字符、一个单词或是进行整行删除,见表3-3。n n 表表3-3 替换命令替换命令n n命 令 作 用n nR 替换光标所在的字符n nR 替换字符序列n ncw 替换一个单词n nCe 同 cwn nCb 替换光标所在的前
85、一字符c$替换自光 标位置至行尾的所有字符cc替换当前行3.7.2 查找查找n nvi提供几种查找命令,如表3-4所示。n n 表表3-4 查找命令查找命令n n命 令 作 用n n? 字符串向后查找字符串/字符串 向前查找字符串 N 继续上一次查找N以与上一次相 反的方向查找3.7.3 复制、粘贴、剪切复制、粘贴、剪切 n n在vi编辑器中复制的方法有两种,分别是鼠标方式和命令方式。n n如果用户安装了鼠标并且安装了鼠标驱动程序gpm,那么在vi编辑器里用户可以用鼠标来复制和粘贴文件。在用户要复制的文本开始处按下鼠标的左键并拖动它,用户将看到被鼠标扫过的文字都由原来的黑底白字变成了白底黑字。
86、亮条标志了用户选定的文本。在用户要复制文本的最后一个字上放开左键,就完成了对选定文本的复制。选定的文本就被送到了缓冲区。在用户松开鼠标的时候,白色亮条并不消失。n nvi vi也提供命令方式来复制文字,而且复制的对象也分为也提供命令方式来复制文字,而且复制的对象也分为单词和行。具体的各个命令如表单词和行。具体的各个命令如表3-53-5所示所示n n 表表表表3-5 3-5 复制命令复制命令复制命令复制命令n n命命 令令 作作 用用n nYwYw 光标至下一个单词开始的内容光标至下一个单词开始的内容y$ y$ 复制当前光标至行尾的内容复制当前光标至行尾的内容yyyy 或或Y Y复制整行复制整行
87、2. 2. 粘贴粘贴n n对于不同的复制方法有不同的粘贴方法。对于不同的复制方法有不同的粘贴方法。n n如果用户是用鼠标复制,那么在用户要粘贴的时候,如果用户是用鼠标复制,那么在用户要粘贴的时候,首先应该用键盘来移动光标,将光标移动至用户要粘贴首先应该用键盘来移动光标,将光标移动至用户要粘贴的位置。记住一定要把光标放在那个位置后面,因为鼠的位置。记住一定要把光标放在那个位置后面,因为鼠标操作会粘贴到光标所在位置的前面。标操作会粘贴到光标所在位置的前面。 n nvi的粘贴命令很简单,只有两个:n n(1)p:在当前光标后面粘贴;n n(2)shift+h:在当前光标前面粘贴。n n3. 剪切n
88、n在vi中所有的删除动作都是剪切。因为删除的内容都被送到了剪贴板。n n3.7.4 重复n nvi编辑器会记录上一次的操作,在用户需要重复这样的操作的时候,只需在命令模式下按一下“”键就可以了。 n n3.7.5 撤消n n撤消命令很简单,它有两种形式:n n(1)u命令:取消上次的操作;n n(2)U命令:可以恢复对光所在行的所有改变。3.8 ex命令命令n n3.8.1 命令定位n nEx有两种定位命令.n n一种办法是指定行号,例如,:20+回车将光标移到第20行的行首。n n另一种办法是给定模式,向前或向后查找。例如,:/this?按回车键从光标所在行向前查找给定模式this,光标停在
89、第一个与this匹配的行的行首。 n n3.8.2 常用ex命令n n1. e命令n ne命令常用形式如下:n n(1)e文件名它编辑由文件名指定的文件,它不同于前面正在编辑的文件。n n(2)e! 文件名它不把修改过的当前文件从编辑缓冲区中写出去,从而忽略在编辑新文件之前所做的全部修改。n n(3)e+n文件名它从第n行开始编辑指定的文件。参数n也可以是不包含空格的编辑命令,如+/模式。n n按Ctrl+键将返回到上一个编辑文件的先前位置。它等价于:e#按回车键。n n2. w2. w命令命令n nw w(写)命令可把编辑缓冲区中全部或者部分内容写到(写)命令可把编辑缓冲区中全部或者部分内容
90、写到当前文件或者另外某个文件中。它有以下几种常用形式:当前文件或者另外某个文件中。它有以下几种常用形式:n n(1 1)W W 文件名文件名它把所做的修改写回到指定的文件,它把所做的修改写回到指定的文件,并显示所写的行数和字符数。并显示所写的行数和字符数。n n(2 2)ww文件名文件名它把缓冲区内容附加到现有文件它把缓冲区内容附加到现有文件的末尾,先前文件内容并不被破坏。的末尾,先前文件内容并不被破坏。n n(3 3)W! W! 文件名文件名它可以跳过通常写命令对文件的检它可以跳过通常写命令对文件的检查,将缓冲区内容写到系统允许的任何文件上。注意:查,将缓冲区内容写到系统允许的任何文件上。注
91、意:感叹号(!)之后有空格。感叹号(!)之后有空格。n n(4 4)W! W! 命令命令它将指定的各行写入指定命令中。注它将指定的各行写入指定命令中。注意:感叹号(!)之前有空格。而命令的输出显示在屏意:感叹号(!)之前有空格。而命令的输出显示在屏幕上,并不插入到编辑缓冲区中。幕上,并不插入到编辑缓冲区中。n n3. r命令n nr(读)命令把文本读入编辑缓冲区的任意指定位置。所读入文本必须至少有一行长,可以是一个文件或者命令的输出。它有以下几种常用形式:n n(1)r文件名它将指定文件的文本副本放入缓冲区中指定行之后。n n(2)r! 命令它把命令的输出读到缓冲区指定行之后,注意在感叹号(!)之前有空格。n n4. q命令n nq(退出)命令可从vi中退出来。它有下述5种使用方式。n n(1)q它的功能是退出vi。n n(2)q!它的功能是立即从vi中退出,不保留所做的修改,也不显示任何提示信息。n n(3)wq文件名它的功能等价于执行w命令后又执行q命令。n n(4)wq!文件名它的功能是忽略执行w命令之前通常所做的检查。n n(5)x文件名它的功能是,如果该文件做过修改,并且尚未写出去,那么这个命令就把缓冲区内容写出去,然后退出vi;否则,只是退出vi.