命与示例课件

上传人:鲁** 文档编号:570939215 上传时间:2024-08-07 格式:PPT 页数:203 大小:480KB
返回 下载 相关 举报
命与示例课件_第1页
第1页 / 共203页
命与示例课件_第2页
第2页 / 共203页
命与示例课件_第3页
第3页 / 共203页
命与示例课件_第4页
第4页 / 共203页
命与示例课件_第5页
第5页 / 共203页
点击查看更多>>
资源描述

《命与示例课件》由会员分享,可在线阅读,更多相关《命与示例课件(203页珍藏版)》请在金锄头文库上搜索。

1、第第2章章命令与示例命令与示例 1命令与示例为什么要学习命令?命令对于熟练熟练使用Linux/Unix系统而言是必不可少的 ;命令行应用的可扩展性、灵活性可扩展性、灵活性更好;打破了使用Windows时一个鼠标“一点到底”的简单与乏味,它提供给用户更大的灵活性灵活性与想象空间与想象空间;命令已成为Linux/Unix的典型标志典型标志,也已成为Linux/Unix的魅力魅力所在。 2命令与示例本章本章主要主要内容内容 2.1 常用命令与示例2.2 管道与重定向2.3 vi 编辑器使用简介2.4 正则表达式简介3命令与示例系统目录简介系统目录简介Linux安装完毕后,在硬盘中会建立若干系统默认的

2、目录安装完毕后,在硬盘中会建立若干系统默认的目录:/bin:此目录放置操作系统所需使用的各种命令程序。:此目录放置操作系统所需使用的各种命令程序。/root:系统管理员专用的目录,亦即:系统管理员专用的目录,亦即root帐号的专属目录。帐号的专属目录。/boot:系统启动时必须读取的文件,包括系统核心文件。:系统启动时必须读取的文件,包括系统核心文件。/dev:保存着外围设备代号的文件。:保存着外围设备代号的文件。/etc:保存与系统设置、管理相关的文件。:保存与系统设置、管理相关的文件。/tmp:供全部用户暂时放置文件的目录:供全部用户暂时放置文件的目录/home:此目录用来保存用户的专属目

3、录。:此目录用来保存用户的专属目录。/lib:保存一些共享的函数库。:保存一些共享的函数库。/usr:此目录包括许多子目录,用来存放系统命令、程序等信息。:此目录包括许多子目录,用来存放系统命令、程序等信息。/var:Linux操作系统执行时,需要暂时记录的部分数据或临时文件,都会放置在这个操作系统执行时,需要暂时记录的部分数据或临时文件,都会放置在这个目录里。目录里。/mnt:默认有:默认有/mnt/cdrom和和/mnt/floppy两个目录在这里两个目录在这里4命令与示例文件系统的结构文件系统的结构树型结构树型结构:倒长的树倒长的树树型目录结构树型目录结构:Linux系统以文件目录的方式

4、来组织和管理系统中的所有文件。所谓文件系统以文件目录的方式来组织和管理系统中的所有文件。所谓文件目录就是将所有文件的说明信息采用树型结构组织起来,即常说的目录。也就是说,整个目录就是将所有文件的说明信息采用树型结构组织起来,即常说的目录。也就是说,整个文件系统有一个文件系统有一个“根根”(root),然后在根上分),然后在根上分“杈杈”(directory),任何一个分杈上都),任何一个分杈上都可以再分杈,杈上也可以长出可以再分杈,杈上也可以长出“叶子叶子”。“根根”和和“杈杈”在在Linux中被称为是中被称为是“目录目录”或或“文件夹文件夹”。而。而“叶子叶子”则是一个个的文件。实践证明,此

5、种结构的文件系统效率比较高。则是一个个的文件。实践证明,此种结构的文件系统效率比较高。Linux系统通过目录将系统中所有的文件分级、分层组织在一起,形成了系统通过目录将系统中所有的文件分级、分层组织在一起,形成了Linux文件系统的文件系统的树型层次结构。以根目录为起点,所有其他的目录都由根目录派生而来。用户可以浏览整树型层次结构。以根目录为起点,所有其他的目录都由根目录派生而来。用户可以浏览整个系统,可以进入任何一个已授权进入的目录,访问那里的文件。个系统,可以进入任何一个已授权进入的目录,访问那里的文件。Linux目录提供了管理目录提供了管理文件的一个方便途径。每个目录里面都包含文件。用户

6、可以为特定的文件创建特定的目录,文件的一个方便途径。每个目录里面都包含文件。用户可以为特定的文件创建特定的目录,也可以把一个目录下的文件移动或复制到另一目录下,而且能移动整个目录,并且和系统也可以把一个目录下的文件移动或复制到另一目录下,而且能移动整个目录,并且和系统中的其他用户共享目录和文件。根目录中的其他用户共享目录和文件。根目录(系统目录系统目录)是是Linux系统中的特殊目录。系统中的特殊目录。Linux是一是一个多用户系统,操作系统本身的程序存放在以根目录开始的专用目录中。个多用户系统,操作系统本身的程序存放在以根目录开始的专用目录中。目录:目录:LINUX下的下的“目录目录”等同于

7、等同于WINDOWS的的“文件夹文件夹”工作目录(也叫当前目录)工作目录(也叫当前目录)用户在登录到用户在登录到Linux系统中之后,每时每刻都系统中之后,每时每刻都“处在处在”某个目录之中,此目录被称作工作某个目录之中,此目录被称作工作目录或当前目录(目录或当前目录(WorkingDirectory)。工作目录是可以随时改变的。用户初始登录到系)。工作目录是可以随时改变的。用户初始登录到系统中时,其主目录(统中时,其主目录(HomeDirectory)就成为其工作目录。)就成为其工作目录。5命令与示例用户主目录用户主目录:是系统管理员增加用户时建立起来的(以后也可以改变),每个用户都有自己的

8、主目是系统管理员增加用户时建立起来的(以后也可以改变),每个用户都有自己的主目录,不同用户的主目录一般互不相同。录,不同用户的主目录一般互不相同。用户刚登录到系统中时,其工作目录便是该用户用户刚登录到系统中时,其工作目录便是该用户主目录,通常与用户的登录名相同。主目录,通常与用户的登录名相同。6命令与示例路径路径路径是指从树型目录中的某个目录层次到某个文件的一条道路。也就是描述一个文件或目路径是指从树型目录中的某个目录层次到某个文件的一条道路。也就是描述一个文件或目录所处的位置,既是描述一个文件或目录在哪个目录中此路径的主要构成是目录名称,中录所处的位置,既是描述一个文件或目录在哪个目录中此路

9、径的主要构成是目录名称,中间用间用“/”分开。某个文件在文件系统中的位置都是由相应的路径决定的。分开。某个文件在文件系统中的位置都是由相应的路径决定的。路径又分相对路径和绝对路径。路径又分相对路径和绝对路径。绝对路径绝对路径是指从是指从“根根/”开始描述的路径,也称为完全路径;相对路径是从用户工作目录开始的开始描述的路径,也称为完全路径;相对路径是从用户工作目录开始的路径。应该注意到,在树型目录结构中到某一确定文件的绝对路径只有一条。绝对路径是路径。应该注意到,在树型目录结构中到某一确定文件的绝对路径只有一条。绝对路径是确定不变的,确定不变的,/必须以必须以“/”开头开头:/xxx/yyy/z

10、zz/abc“/”在路径的最前头出现就表示是根目录,否则只是分隔符。在路径的最前头出现就表示是根目录,否则只是分隔符。相对路径相对路径从当前目录开始描述从当前目录开始描述,则随着用户工作目录的变化而不断变化。则随着用户工作目录的变化而不断变化。/不能以不能以“/”开头开头:yyy/zzz/abc子目录、子目录、父目录是相对的概念父目录是相对的概念根目录:根目录:“/”;一个一个LINUX系统有且只有系统有且只有一个根目录。一个根目录。root7命令与示例目录树:从根目录目录树:从根目录“/”开始并通过一系列的子目录向下扩展而成。开始并通过一系列的子目录向下扩展而成。当前目录(也叫工作目录):当

11、前目录(也叫工作目录):A是系统默认处理的目录。涉及目录、文件操作时,若不明确指定目录、路径,系统就是系统默认处理的目录。涉及目录、文件操作时,若不明确指定目录、路径,系统就对当前目录或当前目录下的文件做操作。对当前目录或当前目录下的文件做操作。B开机时,当前目录是登录用户的主目录,用户主目录是系统管理员增加用户时建立起来开机时,当前目录是登录用户的主目录,用户主目录是系统管理员增加用户时建立起来的(以后也可以改变),每个用户都有自己的主目录,不同用户的主目录一般互不相同。的(以后也可以改变),每个用户都有自己的主目录,不同用户的主目录一般互不相同。用户刚登录到系统中时,其工作目录便是该用户主

12、目录,通常与用户的登录名相同。例如:用户刚登录到系统中时,其工作目录便是该用户主目录,通常与用户的登录名相同。例如:超级用户超级用户root登录后,当前目录是登录后,当前目录是root用户的主目录用户的主目录/root。C同一个时刻有且只有一个目录可成为当前目录。同一个时刻有且只有一个目录可成为当前目录。D可通过可通过cd命令改变当前目录命令改变当前目录E每个目录下面都固定有两个目录:一个是每个目录下面都固定有两个目录:一个是.表示是该目录自身表示是该目录自身,常在命令参数中表示当常在命令参数中表示当前目录。另一个是前目录。另一个是.表示是该目录的父目录,常在命令参数中用来表示当前目录的父目表

13、示是该目录的父目录,常在命令参数中用来表示当前目录的父目录。录。./.当前目录的父目录的父目录。当前目录的父目录的父目录。F什么时候转换当前目录?什么时候转换当前目录?当准备对某个目录或该目录下的文件或子目录,连续做多次命令操作当准备对某个目录或该目录下的文件或子目录,连续做多次命令操作时,应将当前目录时,应将当前目录转换到该目录,可提高工作效率。转换到该目录,可提高工作效率。8命令与示例2.1常用命令与示例常用命令与示例 说明:说明:Linux 命令及其参数命令及其参数是严格区分大小区分大小写写Linux文件名文件名严格区分大小写区分大小写9命令与示例命令补齐命令补齐(Command-Lin

14、eCompletion):是指当键入的字符足以确定唯一的文件或目录时,:是指当键入的字符足以确定唯一的文件或目录时,只须按只须按Tab键就可以自动补齐该文件名或目录名的剩下部分,例如要把目录键就可以自动补齐该文件名或目录名的剩下部分,例如要把目录/freesoft下下的文件的文件gcc-2.8.1.tar.gz解包,当键入到解包,当键入到tarxvfz/freesoft/g时,如果此文件是该目录下唯时,如果此文件是该目录下唯一以一以g开头的文件,这时就可以按下开头的文件,这时就可以按下Tab键,这时命令会被自动补齐为:键,这时命令会被自动补齐为:tarxvfz/freesoft/gcc-2.8

15、.1.tar.gz10命令与示例2.1.1文件基本操作命令文件基本操作命令1.ls命令命令 ls命令的功能是显示指定目录下的文件文件目录清单目录清单相当于dos下的dir命令,而且其参数更加丰富多样。 11命令与示例1文件显示命令文件显示命令ls:lIsT显示指定工作目录中所包含的内容的指令是显示指定工作目录中所包含的内容的指令是ls,要说明的是,要说明的是ls命令列出文件的名字,而不命令列出文件的名字,而不是文件的内容。该命令的使用方式如下:是文件的内容。该命令的使用方式如下:ls选项选项文件目录列表文件目录列表ls命令中的常用选项如下:命令中的常用选项如下:-a:显示所有文件及目录:显示所

16、有文件及目录(ls规定将文件名或目录名中开头为规定将文件名或目录名中开头为“.”的视为隐藏档,的视为隐藏档,一般不会列出,除非有一般不会列出,除非有-a参数选项参数选项)-c:按列输出,纵向排序:按列输出,纵向排序-x:按列输出,横向排序:按列输出,横向排序-l:除文件名外,也将文件状态、权限、拥有者、文件大小等信息详细列出:除文件名外,也将文件状态、权限、拥有者、文件大小等信息详细列出-t:根据文件建立时间的先后次序列出:根据文件建立时间的先后次序列出-A:同:同-a,但不列出,但不列出.(目前目录目前目录)及及.(父目录父目录)-X:按扩展名排序显示:按扩展名排序显示-R:递归显示下层子目

17、录:递归显示下层子目录-help:显示帮助信息:显示帮助信息-version:显示版本信息:显示版本信息lsdrwxr-x-表示的含义是:表示的含义是:d表示这条信息是目录表示这条信息是目录-表示这条信息是个文件表示这条信息是个文件12命令与示例ls列出当前目录下的文件和子目录。列出当前目录下的文件和子目录。ls-versionls-help|morelscolor13命令与示例(1)ls示例一示例一不带参数不带参数 user1server1 $lsabc host.conf php.ini功能:显示指定目录中的文件清单,如果没有指定任何目录,则默认为当前目录。14命令与示例(2)ls示例二示

18、例二显示隐含文件显示隐含文件 user1server1 $ ls-a. abc .bash_profile .emacs host.conf .viminfo. .bash_logout .bashrc .gtkrc php.ini .zshrc参数参数-a的功能:显示隐含文件。说明:若文件名以以“.”开头,则认为是开头,则认为是隐含的隐含的,进而普通的ls命令不显示以“.”开头的文件;所以要完全显示某目录下的文件清单,必须加上-a参数才行。15命令与示例(3)ls示例三示例三长格式输出长格式输出 user1server1 $ ls-ltotal 60drwxrwxr-x 2 user1 us

19、er1 4096 Aug 17 09:10 abc- rw- r- r- 1 user1 user1 17 Aug 17 09:04 host.conf- rw- r- r- 1 user1 user1 38450 Aug 17 09:04 php.ini参数-l 的功能是:以长格式列表长格式列表输出指定目录中的文件清单。16命令与示例 以上述输出中文件abc为例 解释长格式长格式输出的内容如下: 文件类型文件类型文件权限文件权限连接数连接数属主属主属组属组大小大小最近修改日期时间最近修改日期时间文件名文件名drwxrwxr-x2user1user14096Aug1709:10abc17命令与

20、示例Linux中的文件类型中的文件类型-:表示普通普通文件。d:表示目录目录文件,在Linux中目录也是文件,不仅如此,实际上在Linux中任何设备也可以被当作文件处理。l:表示这是一个符号链接的文件,实际指向另一个文件,类似windows的快捷方式b:表示块设备块设备文件 如硬盘的设备文件/dev/hda,其中字母a表示第一块,h表示IDE类型的硬盘,SCSI类型的硬盘用s表示; 分区也有相对应的设备文件,如/dev/sdb3,表示第2块SCSI硬盘上的第3个分区。 需要说明的是优盘优盘也采用SCSI硬盘的设备文件名来表示。18命令与示例Linux中的文件类型(续)中的文件类型(续)c:表示

21、字符设备字符设备文件,如/dev/tty1。p:表示管道管道文件。s:表示套接字套接字文件。19命令与示例关于文件权限文件权限的说明 Linux文件有三种典型的权限三种典型的权限,即r读权限、w写权限和x执行权限。在长格式输出中在文件类型的后面有9列列权限位权限位,实际上这是针对不同用户而设定的,如下所示。属主的权限属主的权限属组的权限属组的权限其他用户的权限其他用户的权限rwx rwx r-x20命令与示例文件及目录访问权限的设置文件及目录访问权限的设置Linux系统上系统上的每个文件和进程都属于特定的用户账号(称为文件和进程的属主)。如果的每个文件和进程都属于特定的用户账号(称为文件和进程

22、的属主)。如果没有得到属主的许可,那么其他用户就不能访问这些文件和进程。没有得到属主的许可,那么其他用户就不能访问这些文件和进程。三种不同的用户类型能够访问一个文件或目录:文件的所有者三种不同的用户类型能够访问一个文件或目录:文件的所有者(owner,或称属主或称属主)、文件所、文件所属的用户组属的用户组(groupowner,或称属组或称属组)或系统中的其他用户。或系统中的其他用户。21命令与示例一般权限一般权限对普通文件而言:对普通文件而言:r权限权限(rEAD,读取,读取):具有打开并读取文件的内容的权限;:具有打开并读取文件的内容的权限;w权限权限(wRITE,写入,写入):具有删除、

23、新增、修改文件内容的权限;:具有删除、新增、修改文件内容的权限;x权限权限(ExCUTE,执行,执行):允许具有执行文件的权限;:允许具有执行文件的权限;对目录而言:对目录而言:x权限权限(ExCUTE,执行,执行):允许用户具有进入或:允许用户具有进入或通过该目录,但不一定允许列出它的内容。通过该目录,但不一定允许列出它的内容。r权限权限(rEAD,读取,读取)和和x权限权限(ExCUTE,执行,执行)的结合才允许列出目录的内容。的结合才允许列出目录的内容。w权限权限(wRITE,写入,写入)和和x权限权限(ExCUTE,执行,执行)的结合的结合则允许在目录中创建、删除和重新则允许在目录中创

24、建、删除和重新命名文件。命名文件。ls-l可显示文件目录的权限设置,可显示文件目录的权限设置,-rwx-rw-rw-r-xdrwx-x-x以上以上lsl的显示结果的前十位中,第一位是文件目录的类型的显示结果的前十位中,第一位是文件目录的类型,“-”表示该项是个普通文表示该项是个普通文件,件,“d”表示该项目是一个目录。表示该项目是一个目录。其余九位是权限位,每其余九位是权限位,每3位为一组,第一组为所有者权限,第二组为属组权限,第三组为位为一组,第一组为所有者权限,第二组为属组权限,第三组为系统其他人权限。每组第一位为系统其他人权限。每组第一位为r位,第二位为位,第二位为w位位,第三位为第三位

25、为x位,有权限则标上相应权位,有权限则标上相应权限代码限代码r、w、或、或x,没有权限则用没有权限则用“-”表示。表示。22命令与示例(4)ls示例四示例四递归显示递归显示 user1server1 $ ls-R.:abc host.conf php.ini./abc:a1.txt a2.txt参数参数-R 的功能是:递归递归显示指定目录下的文件清单,即会显示指定目录分支内各子目录中的文件清单。23命令与示例练习练习以下几种用法以下几种用法:ls -lals -Ra /ls -Ral / etc24命令与示例通配符基础通配符基础通配符又称多义符:主要用于方便描述一批名字具有相同特征的文件或目录

26、,以便成批处通配符又称多义符:主要用于方便描述一批名字具有相同特征的文件或目录,以便成批处理。理。?:表示该位置可以是一个任意的单个字符。?:表示该位置可以是一个任意的单个字符。*:表示该位置可以是若干个任意字符。:表示该位置可以是若干个任意字符。方括号方括号charset:可替代:可替代charset集中的任何单个字符,如集中的任何单个字符,如cChH:表示在文件:表示在文件的该位置中可出现任意单个的的该位置中可出现任意单个的c或或h字符的大小写形式。字符的大小写形式。通配符集还能描述介于字符对之间的所有字符。如通配符集还能描述介于字符对之间的所有字符。如“a-z”就可以代就可以代替任意小写

27、字母,替任意小写字母,而而a-zA-Z则可替代任意字母。注意可替代的字符包括则可替代任意字母。注意可替代的字符包括a到到z和和A到到Z字符对之间的所有字字符对之间的所有字符。符。rma*out*tmp?该命令可以删除一系列临时性的输出文件,如该命令可以删除一系列临时性的输出文件,如ab.out.temp1、ab.out.temp1等。等。如果需要显示如果需要显示nic-1.png,nic-2.png,nic-3.png,nic-4.png,nic-5.png,只须要在终端的命,只须要在终端的命令提示符后输入:令提示符后输入:lsnic-1-5.pngls*.cls/home/*/*.clsn*

28、.conflstest?.datlsabc*ls!abc*lsa-zA-z25命令与示例2.pwd命令命令 示例:示例:pwduser1server1$pwd/home/user1功能:显示当前目录显示当前目录。26命令与示例3.mkdir命令命令 (1)mkdir示例一示例一user1server1 $mkdirabc功能:在当前目录下创建目录abc27命令与示例(2)mkdir示例二示例二创建多级目录创建多级目录 user1server1 $ mkdir-pa/b/cuser1server1 $ lsRaa:ba/b:ca/b/c:功能:参数参数-p功能功能是如果要创建的目录的父目录不存在

29、,则先创建其父目录,再创建该目录; 如果指定的目录存在,则不影响原目录,也不会报错。在本示例中会连续创建a目录、a/b目录、a/b/c目录。28命令与示例4.cd命令命令改变当前目录改变当前目录语法:语法:cdnamecHANGEdIRECTORYname:目录路径:目录路径,例如例如:cd改变当前目录位置至用户登录时的工作目录。改变当前目录位置至用户登录时的工作目录。cddir1改变当前目录位置至改变当前目录位置至dir1目录下。目录下。cdmybin改变当前目录位置至此刻当前目录下的改变当前目录位置至此刻当前目录下的mybincd.改变当前目录位置至此刻当前目录的父目录。改变当前目录位置至

30、此刻当前目录的父目录。cd./user改变当前目录位置至以相对路径描述的改变当前目录位置至以相对路径描述的user目录下。目录下。user是此刻当前目录的父是此刻当前目录的父目录下的另一个子目录。目录下的另一个子目录。cd/./.改变当前目录位置至以绝对路径方式描述的目录位置下。改变当前目录位置至以绝对路径方式描述的目录位置下。cd/a/b/ccd-改变当前目录位置至以上一次的当前目录所在目录改变当前目录位置至以上一次的当前目录所在目录29命令与示例(1)cd示例一切换工作目录切换工作目录 user1server1 $ cd/varuser1server1 var$ pwd/var功能:将当前

31、的工作目录切换为/var30命令与示例(2)cd示例二切换到当前用户的主目录切换到当前用户的主目录 user1server1 var$ cduser1server1 $ pwd/home/user1功能:不带参数的cd命令直接将当前的工作目录切换为该用户的主目录。 主目录又称为家目录主目录又称为家目录,在RHEL中是在创建用户时,自动在/home下为用户创建一个用其用户名同名的目录,并将该目录的所有权划归给该用户所有。注意:字符字符“”代表代表(当前)用户的主目录。31命令与示例5.touch命令命令 (1)touch示例一示例一创建空文件创建空文件 user1server1 $ touchm

32、yfileuser1server1 $ ls -l myfile-rw-rw-r- 1 user1 user1 0 Aug 17 11:54 myfile功能:如果如果myfile不存在不存在,则创建一个大小为0字节名为myfile的空文件。32命令与示例(2)touch示例二示例二改变文件的最后修改改变文件的最后修改时间时间 再执行一次touch myfileuser1server1 $ touchmyfileuser1server1 $ ls -l myfile-rw-rw-r- 1 user1 user1 0 Aug 17 11:56 myfile功能:如果如果myfile已存在已存在,

33、则将改变myfile的最后修改时间。33命令与示例6.cp命令命令文件复制命令文件复制命令cp:cOpY相当于相当于WINDOWS的复制的复制+粘贴。粘贴。Linux下的下的cp命令用于复制文件或目录,其命令格式如下:命令用于复制文件或目录,其命令格式如下:cp选项选项源文件或目录源文件或目录目标文件或目录目标文件或目录 参数说明如下:参数说明如下:源文件:要拷贝的文件。源文件:要拷贝的文件。目标文件:目标名。也可以是目录,这种情况下,源文件名作为目标文件名,目标文件:目标名。也可以是目录,这种情况下,源文件名作为目标文件名,而文件放在该目录下。而文件放在该目录下。源文件组:要拷贝文件的由空格

34、分隔的列表。源文件组:要拷贝文件的由空格分隔的列表。目标目录:目标目录。目标目录:目标目录。cp命令常用选项说明命令常用选项说明:-a在备份中保持尽可能多的源文件结构和属。在备份中保持尽可能多的源文件结构和属。-b作将要覆盖或删除文件的备份。作将要覆盖或删除文件的备份。-f删除已存在的目标文件。删除已存在的目标文件。-i提示是否覆盖已存在的目标文件。提示是否覆盖已存在的目标文件。-p保持原先文件的所有者,组权限和时间标志保持原先文件的所有者,组权限和时间标志-r递归拷贝目录,把所有非目录文件当普通文件拷贝递归拷贝目录,把所有非目录文件当普通文件拷贝,指将目录之下的文件指将目录之下的文件及子目录

35、一起复制及子目录一起复制-R递归拷贝目录。递归拷贝目录。34命令与示例cpfile1file2将文件将文件file1复制成复制成file2cpx.txty.txtcpfile1dir1将文件将文件file1复制到目录复制到目录dir1下,文件名仍为下,文件名仍为file1。cp/bin/cpiomybincp/tmp/file1.将目录将目录/tmp下的文件下的文件file1复制到当前目录下,文件名仍为复制到当前目录下,文件名仍为file1。cp/bin/?sh.cp/usr/bin/yz*.cp/tmp/file1file2将目录将目录/tmp下的文件下的文件file1复制到当前目录下,文件

36、名为复制到当前目录下,文件名为file2。cp/test/x.txty.txtcp-rdir1dir2复制整个目录。复制整个目录。cp-r/etc/skel.35命令与示例cp-r/test/xyzcpfile1file2dir1将将file1、file2一起复制到一起复制到dir1目录下目录下:cpabcbcmydoc覆盖(覆盖(overwrite):删除同一个目录下的原来的同名文件删除同一个目录下的原来的同名文件36命令与示例user1server1$cp/etc/php.*abc功能:将/etc/目录下以php.开头的文件 文件复制到目录abc中。说明:“*”是通配符,可以匹配多个字符;

37、“?”只能匹配一个字符。 37命令与示例复制目录复制目录 user1server1$cp-/etcabc功能:增加了参数参数-,就能将目录/etc下面的所有子目录和文件都复制到目录abc中。 38命令与示例7.mv命令命令移动文件移动文件mv:mOvE移动文件可使用移动文件可使用mv命令。命令。Mv命令还可改文件改名。该命令所使用语法形式有:命令还可改文件改名。该命令所使用语法形式有:mv-f-i文件文件1文件文件2mv-f-i目录目录1目录目录2mv-f-i文件列表文件列表目录目录命令中的参数说明如下:命令中的参数说明如下:-f:通常情况下,目标文件存在但用户没有写权限时,:通常情况下,目标

38、文件存在但用户没有写权限时,mv会给出提示。本选项会使会给出提示。本选项会使mv命令执行移动而不给出提示。命令执行移动而不给出提示。-i:交互模式,当移动的目录已存在同名的目标文件名时,用覆盖方式写文件,但在写:交互模式,当移动的目录已存在同名的目标文件名时,用覆盖方式写文件,但在写入之前给出提示。入之前给出提示。文件文件1:源文件名。源文件名。文件文件2:目标文件名(新文件名)。:目标文件名(新文件名)。目录目录1:源目录名。:源目录名。目录目录2:目标目录名(新目录名)。:目标目录名(新目录名)。文件列表文件列表:用空格分隔的文件名列表。本选项用于文件保持它们的用空格分隔的文件名列表。本选

39、项用于文件保持它们的名字被移动到一个新名字被移动到一个新目录。目录。目录:目标目录。目录:目标目录。39命令与示例mv示例示例将文件移动到目录中将文件移动到目录中 user1server1 $ mv myfile mydir1功能:如果如果mydir1存在且是个目录存在且是个目录,则将文件myfile移动移动到目录mydir1中。40命令与示例mv示例示例文件改名文件改名 user1server1 $ mvmyfilemyfile2功能:将文件(或目录)myfile改名改名为myfile2。41命令与示例8.rmdir命令命令删除目录语法: rmdir 目录名 rEmOVE dirECTORY

40、。user1server1$rmdirmydir1功能:删除删除指定的空空目录,该目录,该空空目录目录必须没有文件和目录存在,否则无法删除。42命令与示例9.rm命令命令文件的删除命令文件的删除命令rm:rEmOVErm命令可从文件系统中删除文件及整个目录。命令可从文件系统中删除文件及整个目录。rm命令所使用的命令格式如下:命令所使用的命令格式如下:rm选项选项文件列表文件列表参数说明如下:参数说明如下:常用命令的选项列表如表常用命令的选项列表如表2-6所示。所示。文件列表:希望删除的用空格分隔的文件列表,可以包括目录名。文件列表:希望删除的用空格分隔的文件列表,可以包括目录名。rm命令常用选

41、项命令常用选项-r删除文件列表中指定的目录,若不用此标志则不删除目录删除文件列表中指定的目录,若不用此标志则不删除目录-I指定交互模式。在执行删除前提示确认。任何以指定交互模式。在执行删除前提示确认。任何以Y开始的响应都表示肯定;其他开始的响应都表示肯定;其他则表示否定。则表示否定。-f指定强行删除模式。通常,在删除文件权限可满足时指定强行删除模式。通常,在删除文件权限可满足时rm提示。本标志强迫删除,提示。本标志强迫删除,不用提示。不用提示。-V在删除前回显文件名。在删除前回显文件名。-指明所有选项结束。用于删除一个文件名与某一选项相同的文件。例如:假定偶指明所有选项结束。用于删除一个文件名

42、与某一选项相同的文件。例如:假定偶然建立了名为然建立了名为-f的文件,又打算删除它,命令的文件,又打算删除它,命令rm-f不起任何作用,因为不起任何作用,因为-f被解释成标志而被解释成标志而不是文件名;而命令不是文件名;而命令rm-f能成功地删除文件。能成功地删除文件。43命令与示例(1)rm示例一示例一删除文件删除文件 user1server1$rmphp.ini功能:删除删除指定的文件文件 php.ini。 44命令与示例(2)rm示例二示例二删除目录删除目录 user1server1$rm-rfabc功能:参数-r是递归递归的意思,即可以删除非空目录;参数-f是强制强制的意思。 本例中a

43、bc为非空目录,读者可以尝试是否可用rmdir直接删除。 45命令与示例10.cat命令命令 (1)cat示例一示例一显示文件内容显示文件内容 user1server1$catmyfilehello,world功能:显示显示指定文件文件myfile的内容的内容。 46命令与示例(2)cat示例二示例二创建文件创建文件 user1server1$catmyfile2WelcometoLinuxWorld!按按ctrl+d结束输入功能:利用输出重定向符输出重定向符“”来创建创建简短的文本文件文本文件myfile2。 47命令与示例11more和和less命令命令 $more/etc/httpd/c

44、onf/httpd.conf功能:分屏显示分屏显示指定文件httpd.conf的内容,非常适合显示超过一屏的文本文件。每按一下空格键,向后翻一屏;每按一次回车键,向后翻一行。说明:与more功能很相似,只不过less功能更功能更强大强大,支持PageUp键向前翻屏,及PageDown向后翻屏。 48命令与示例12.head命令命令 (1)head示例一示例一显示文件头显示文件头10行内容行内容 $head/etc/httpd/conf/httpd.conf功能:默认显示显示指定文件的头头10行行的内容。 49命令与示例(2)head示例二示例二显示文件头显示文件头n行内容行内容 $head-n

45、19/etc/httpd/conf/httpd.conf功能:参数-n设置显示指定行数,本例会显示文件的头19行的内容。 50命令与示例13.tail命令命令 (1)tail示例一示例一显示文件最后显示文件最后10行内行内容容 $tail/etc/httpd/conf/httpd.conf功能:默认显示显示指定文件的末尾末尾10行行的内容。 51命令与示例(2)tail示例二示例二显示文件最后显示文件最后n行内容行内容 $tail-n12/etc/httpd/conf/httpd.conf功能:参数-n设置显示指定行数指定行数; 本例会显示文件的末尾末尾12行行的内容。52命令与示例2.1.2

46、用户、组管理命令用户、组管理命令 Linux采用组组来组织和管理用户在Linux中每个用户有唯一的用户标识符UID,该UID是一个无符号整数。同时每个用户也必须至少属于一个组至少属于一个组,也有组标识符GID。其中UID与GID独立编号。53命令与示例1.groupadd命令命令 (1)groupadd示例一示例一创建组账号创建组账号 rootserver1#groupaddmygroup1功能:创建一个新组mygroup1,其GID号为已存在GID号的下一个顺序编号。说明:创建一个组的同时会在/etc/group文件中为该组增加相应的一行,用来记录该组的名称、GID号及成员等信息。 54命令

47、与示例(2)groupadd示例二示例二创建组账号并设置创建组账号并设置其其GID号号 #groupadd-g5000mygroup2功能:创建一个新组mygroup2,并指定其指定其GID号为号为5000,其中-g用来设置用户的主要组,每个用户都有一个主要组。 55命令与示例2.useradd命令命令 (1)useradd示例一示例一创建用户账号创建用户账号 rootserver1 # useradduser1功能:创建一个用户user1,同时在/etc/passwd文件和/etc/shadow文件增加一行,并自动为用户创建相应的主目录:/home/user1。说明:/etc/passwd文

48、件记录了系统中每个用户的用户名、UID号、GID号、主目录、shell等信息。注意:用户的口令原来也存放在此文件中,现在为了保证安全采用了影子口令文件影子口令文件/etc/shadow来保存每个用户的口令。56命令与示例(2)useradd示例二示例二创建用户账号并设置相创建用户账号并设置相应属性值应属性值 #useradd-u600-gmygroup1-Gmygroup2-d/home/student1s1功能:创建用户s1,其中参数-u指定UID号为600;-g指定用户的主要组为mygroup1;-G指定用户的附加组为mygroup2,每个用户可以有多个附加组;-d 指定用户的主目录为/h

49、ome/student1。57命令与示例3.userdel命令命令 (1)userdel示例一示例一删除用户删除用户 rootserver1#userdeluser1功能:删除删除指定的用户用户user1。 58命令与示例(2)userdel示例二示例二删除用户的同时删除删除用户的同时删除其主目录其主目录 rootserver1#userdel-ruser2功能:删除指定的用户user2,同时删除其主目录。59命令与示例4.groupdel命令命令 rootserver1#groupdelmygroup2功能:删除指定的组删除指定的组注意注意:当某个组是某现有用户的主要组时,则不能被删除。 6

50、0命令与示例5.passwd命令命令 (1)passwd示例一示例一改变口令改变口令 user1server1$passwdChangingpasswordforuseruser1.Changingpasswordforuser1(current)Unixpassword:NewUnixpassword:BADPASSWORD:itistoosimplistic/systematicNewUnixpassword:BADPASSWORD:istoosimilartotheoldoneNewUnixpassword:RetypenewUnixpassword:passwd:allauthenti

51、cationtokensupdatedsuccessfully.功能:普通用户只可以功能:普通用户只可以修改修改自己的自己的口令口令 61命令与示例(2)passwd示例二示例二禁止用户登录禁止用户登录 rootserver1#passwd-luser1Lockingpasswordforuseruser1.passwd:Success功能:参数参数-l 可以给指定的用户user1加锁加锁,即禁止该用户登录。62命令与示例(3)passwd示例三示例三恢复用户登录恢复用户登录 rootserver1#passwduuser1Unlockingpasswordforuseruser1.passw

52、d:Success.功能:功能:参数参数-u可以给指定的用户可以给指定的用户user1解锁解锁,即恢复该用户登录。即恢复该用户登录。63命令与示例(4)passwd示例四示例四删除用户口令删除用户口令 rootserver1#passwd-duser1Removingpasswordforuseruser1.passwd:Success功能:参数参数-d 可以删除删除指定的用户user1口口令令,即以user1登录时无需口令。64命令与示例6.usermod命令命令 #usermod-u601-g501s1功能:将(已存在的)用户s1的UID号修号修改改为601、主要组修改为501说明说明:u

53、sermod 还能修改用户主目录、登录shell及口令等,请读者自行练习。 65命令与示例7.id命令命令 rootserver1#iduser1uid=501(user1)gid=501(user1)groups=501(user1)功能:显示用户的显示用户的UID、GID及所属的组及所属的组信息信息。66命令与示例2.1.3文件属性操作命令文件属性操作命令1.chown命令命令 (1)chown示例一示例一改变文件的属主改变文件的属主 rootserver1#chownuser1hello.txt功能:将指定文件hello.txt的属主属主(所有者)改为user1。 67命令与示例(2)c

54、hown示例二示例二递归改变文件的属主递归改变文件的属主 #chown-Ruser1mydir功能:参数参数-R,表示递归递归,即可以深入到指定目录中的每一层,将所有子目录和文件的属主(所有者)改为指定的用户;本例中会将mydir目录中所有子目录和文件的属主设定为user1。 68命令与示例2.chgrp命令命令 (1)chgrp示例一示例一改变文件的属组改变文件的属组 #chgrpmygroup1hello.txt功能:将指定文件hello.txt的属组属组改为mygroup1。 69命令与示例(2)chgrp示例二示例二递归改变文件的属组递归改变文件的属组 #chgrp-Rmygroup1

55、mydir功能:参数参数-R,表示递归递归,即可以深入到指定目录中的每一层,将所有子目录和文件的属组改为指定的组;本例中会将mydir目录中所有子目录和文件的属组设定为mygroup1。请读者试一下:chownRuser1:mygroup1mydir命令的功能。 70命令与示例3.chmod命令命令(1)chmod示例一示例一字母方式字母方式 图中字母图中字母u针对属主、针对属主、g针对属组、针对属组、o针对其他用户、针对其他用户、a针针对所有用户对所有用户;=表示赋予(设置)指定权限,要注意它会覆盖原权限,表示赋予(设置)指定权限,要注意它会覆盖原权限,+表示在原有权限的基础上增加指定权限,

56、表示在原有权限的基础上增加指定权限,-表示在原有表示在原有权限的基础上去掉指定权限;权限的基础上去掉指定权限;r、w、x三种权限,既可以单独使用也可以组合使用三种权限,既可以单独使用也可以组合使用 rwxugoa+-=71命令与示例$chmodu+xhost.conf功能:为文件host.conf的属主增加执行权限。$chmodg-w,o=xhost.conf功能:将文件host.conf的属组去掉写权限,同时将其他用户设置为只有执行权限,而文件属主的权限不变。72命令与示例请读者练习练习如下指令,并体会相应功能。$chmodug=rwx,o=host.conf$chmodugo=r,ug+w

57、xhost.conf73命令与示例(2)chmod示例二示例二数字方式数字方式 chmod的数字使用方式,使用起来也是很方的数字使用方式,使用起来也是很方便的,关键是一个便的,关键是一个数制转换数制转换的问题。的问题。这种方式是先将每个权限位化成二进制数,这种方式是先将每个权限位化成二进制数,其中如果某权限位是其中如果某权限位是“-”则用则用0来表示来表示,否则用否则用1来表示;接着,将这来表示;接着,将这9列权限分为列权限分为三组(每三位一组),再将每组化成一个三组(每三位一组),再将每组化成一个八进制数。八进制数。例如,某文件有如下权限例如,某文件有如下权限rwxrw-r-,则转,则转换为

58、二进制数为换为二进制数为111110100,再化为,再化为八进制八进制数则为数则为764;反之,当看到八进制数;反之,当看到八进制数764时时也应该很快转化为相应权限。也应该很快转化为相应权限。74命令与示例$chmod764host.conf功能功能:将文件:将文件host.conf的权限设置为:的权限设置为:属主拥有全部权限;属主拥有全部权限;属组拥有读写权限;属组拥有读写权限;其他用户拥有只读权限。其他用户拥有只读权限。75命令与示例图形界面下用图形界面下用“文件管理器文件管理器”改变文件、目录的权限改变文件、目录的权限使用使用chmod和数字改变文件和数字改变文件/目录的访问特权目录的

59、访问特权chmod:chANGEmodEchmod-R-R参数可以改变一个目录以及在它之下的所有文件的设定。参数可以改变一个目录以及在它之下的所有文件的设定。在文本模式下,可执行在文本模式下,可执行chmod命令去改变文件与目录的权限命令去改变文件与目录的权限r:对应数值对应数值4。(就是二进制数。(就是二进制数100,即即r-)w:对应数值对应数值2。(就是二进制数。(就是二进制数010,即即-w-)x:对应数值对应数值1。(就是二进制数。(就是二进制数001,即即-x)-:对应数值对应数值0。(就是二进制数。(就是二进制数000,即即-)按照上述法则,按照上述法则,rwx合起来就是合起来就

60、是4+2+1=7,一个,一个rwxrwxrwx权限全开放的文件,数字表示权限全开放的文件,数字表示为为777;而完全不开放权限的文件;而完全不开放权限的文件“-”其数字表示则为其数字表示则为000。76命令与示例八进制二进制权限0000-1001-x2010-w-3011-wx4100r-5101r-x6110rw-7111rwx77命令与示例ls-lchmod777smb.conflslchmod700smb.conflslchmod750smb.conflsschmod-R775/mydir78命令与示例特殊权限:特殊权限:s权限权限s权限权限具有改变进程的执行身份执行身份功能。原则上,用

61、户在执行某程序的过程中,该进程进程就具有该用户的身份具有该用户的身份。当设置了s权限后,就可以改变该进程改变该进程的运行身份的运行身份,请看如下示例: 79命令与示例s权限示例:权限示例:rootserver1#ls-ltest.txt-rw-1rootroot42Aug2310:34test.txt注意观察test.txt文件的权限,只有只有root用用户才能读写该文件户才能读写该文件。rootserver1#cptest.txt/home/user1rootserver1#whichcat/bin/catrootserver1#cp/bin/cat/home/user1/mycat80命令

62、与示例按按ALT+F2切换到第二个控制台,切换到第二个控制台,以以user1登录登录,并执行如下命令:,并执行如下命令:user1server1$./mycattest.txt./mycat:test.txt:Permissiondenied执行上述命令时会报错,表示没有相应的访问权限。请执行ls -l test.txt查看相应权限,解释原解释原因因。81命令与示例接下来,按ALT+F1切换到第一个控制台,执行如下命令:rootserver1#chmodu+s/home/user1/mycat功能:为文件/home/user1/mycat加上s(SetUID)权限)权限,表示当该程序被执行时,

63、其执行身份为该程序的所有者。执行如下命令:rootserver1#ls-l/home/user1/mycat-rwsr-xr-x1rootroot19140Aug2311:05/home/user1/mycat 82命令与示例最后,再按ALT+F2切换到第二个控制台,以user1身份执行如下命令:user1server1$./mycattest.txthello,thisbereadonlybyroot!说明:说明:可以看出这次执行mycat test.txt,就能够显示出test.txt文件的内容,这充分说明“s”权限的作用。 除了本例中u+s,还可以有g+s的用法83命令与示例例子: 在l

64、inux中,不管是root用户还是普通用户,都可以使用“passwd”命令来更改自身的密码。但是,Linux中的密码通常是保存在“/etc/passwd”和“/etc/shadow”文件中,这两个文件对系统安全至关重要,因此只有root用户才能对其执行读写操作。以管理员的身份登陆系统,在Linux示符下执行“ls -l /etc/passwd /etc/shadow”命令,在返回信息中可以看到普通用户对这两个文件并没有写权限,因此从文件属性的角度看,普通用户在更改自身密码时,是无法将密码信息写入到上述文件中的,那么用户是怎样成功的更改密码的呢?实际上,问题的关键不在于密码文件本身,而在于密码更

65、改命令“passwd”。在提示符下执行命令“ls /usr/bin/passwd”,在返回信息中的文件所有者执行权限位上显示“S”字样,表示“passwd”命令具有SetUID权限,其所有者为root,这样普通用户在执行“passwd”命令时,实际上以有效用户root的身份来执行的,并具有了相应的权限,从而将新的密码写入到“/etc/passwd”和“/etc/shadow”文件中,当命令执行完毕,该有效用户root的身份立即消失。如何设置SetUID权限呢?使用“chmod”命令即可为指定文件设置SetUID权限,例如“chmod 4xxx ”84命令与示例命令,取消SetUID权限的命令为

66、“chmod xxx ”。类似的,执行“chmod 2xxx ”命令可以设置SetUID权限,使用“chmod xxx ”命令即可取消SetGID权限,如果执行“chmod 6xxx ”命令,即可同时为指定文件设置SetUID和SetGID,执行命令“chmod 0xxx ”,即可同时取消指定文件的SetUID和SetGID权限。例如以root用户登陆系统,执行“chmod 0511 /usr/bin/passwd”命令,就可以取消“passwd”命令的SetUID权限,这样普通用户就无法修改自己的密码了。85命令与示例特殊权限:“t” 权限特殊权限“t”,又称为粘滞位粘滞位 。粘滞位有两类两

67、类功能:一是一是针对可执行文件而言,设置了粘滞位可以使其第一次运行后在交换分区在交换分区swap中保留正文的副中保留正文的副本本,由于交换分区的文件是连续存放的,所以下次运行时能较快调入内存较快调入内存。 对于现代文件系统来说,这一功能已经没有什么实际意义了。 86命令与示例目前用的最多是粘滞位的第二类功能,即针对目针对目录设置粘滞位录设置粘滞位。 如果对一个目录设置了粘附位,则只有对于该目录具有写权限的用户且满足如下三个条件之一,才能删除或改名该目录下的文件: 第一是超级用户第一是超级用户root, 第二是此目录的所有者第二是此目录的所有者,第三是将被删除或改名文件的所有者。第三是将被删除或

68、改名文件的所有者。 实例:这一特性被Linux应用到了/tmp目录上,即任何人都可以使用该目录存储文件,但只有文件所有者和root可以删除或更名文件。87命令与示例4.umask命令命令 (1)umask示例一示例一显示文件的创建掩显示文件的创建掩码码 先来看如下命令的执行:user1server1$touchtestuser1server1$ls-ltest-rw-rw-r-1user1user10Aug1811:57test 发现文件test的权限是664,再创建几个文件会发现权限都是664。 88命令与示例下面执行如下命令下面执行如下命令:user1server1$umask0002功能

69、:显示文件创建掩码显示文件创建掩码;文件的被创建后其权限分两种情况, 一是如果创建的是目录目录文件,则用777减去减去文件创建掩码文件创建掩码; 二是如果创建的是普通文件普通文件,则用666减去减去文件创建掩码文件创建掩码。 本例本例中umask当前值为0002,用touch创建的test是普通文件,所以test的权限=666-0002=664。89命令与示例(2)umask示例二示例二设置文件的创建掩码设置文件的创建掩码 user1server1$umask0006功能功能:先设置文件创建掩码为0006。请读者自行练习如下命令,体会相应功能。user1server1$touchtest2us

70、er1server1$mkdirdirtest2 90命令与示例5.lsattr命令命令 除了上述介绍的权限位以外,文件还具有若干(隐藏)属性位,来影响对文件的访问。user1server1$lsattr功能:显示指定目录下文件的属性。 91命令与示例6.chattr命令命令chattr命令可以改变文件的属性 (1)chattr示例一示例一设置文件的追加属性设置文件的追加属性 rootserver1#chattr+ahello.log功能:参数参数+a的功能是设置文件只能以追加方式打开,即只能向文件末尾追加内容。可以如下命令测试:rootserver1#cathello.log-bash:he

71、llo.log:Operationnotpermittedrootserver1#cathello.logadditionaldataBeijingrootserver1#lsattrhello.log-a-hello.log92命令与示例(2)chattr示例二示例二设置文件的修改属性设置文件的修改属性 rootserver1#chattr+itest功能:参数参数+i的功能是设置该文件不能被删不能被删除、改名、写入,也不能为其创建硬连接除、改名、写入,也不能为其创建硬连接(参照下面相关指令)。说明:参数+i经常用来保护一些内容固保护一些内容固定的重要的文件定的重要的文件,即便是root用户

72、用户也也要受受到该参数的限制限制。要去掉相应的属性只需把“+”改为“-”即可。 93命令与示例2.1.4i节点及其相关命令节点及其相关命令 ext2文件系统文件系统是当前Linux上流行的文件系统之一,其主要结构主要结构如图2-2所示:引导块 超级块 i节点表 数 据 区 94命令与示例引导块引导块的功能是负责系统的引导。超级块超级块是用来描述ext2文件系统整体信息的数据结构,其内容非常重要,主要包含了主要包含了i节点表和数据区的位置节点表和数据区的位置,是ext2文件系统的核心机制。i节点表节点表是ext2文件系统的特色,其内容就是该文件系统中所有i节点的列表。 95命令与示例每一个每一个

73、文件文件都要都要与与一个一个i节点节点相关联相关联。i节点是一个64字节字节大小的数据结构,它记录了文件的重要信息,主要包括文件的属主、属组、权限、大小、日期时间属主、属组、权限、大小、日期时间以及以及15个数据块指针个数据块指针等内容。i节点的示意图请参见下图所示:96命令与示例97命令与示例关于关于i节点节点值得注意的是i节点中并没有包含文件名并没有包含文件名! “目录文件目录文件”主要内容主要内容: 包括位于该目录下的文件的名称及相应的i节点号。 文件名到文件名到i节点的转换节点的转换 : 当通过文件名访问文件时,首先在目录中查找是否有相应的文件名存在,若存在,则访问与该文件名相对应的i

74、节点,进而通过i节点中的15个指针定位真正的数据块。 简单地说,目录目录实现了文件名到实现了文件名到i节点的转换节点的转换。98命令与示例符号连接和硬连接 硬连接硬连接是Unix类操作系统中特有的概念。本质上本质上,一个一个i节点节点可以对应可以对应多个多个文件名文件名,每个文件名都是该每个文件名都是该i节点的一个硬连接节点的一个硬连接。新创建的硬连接与原文件名共用共用同一个i节点。需要说明需要说明的是,不能为目录创建硬链不能为目录创建硬链;而且硬连接也不能跨越文件系统不能跨越文件系统。99命令与示例符号连接符号连接符号连接是一种特殊的文件。与硬连接不同,符号连接采用了新的采用了新的i节点节点

75、,这说明它与原文件之间是有着本质区别的。符号连接的内容实际上是目标文件名(路径)而符号连接的内容实际上是目标文件名(路径)而已已,即是一条指向原(目标)文件的文件名的路径,相当于Windows系统中的“快捷方式快捷方式”。符号连接可以跨越文件系统可以跨越文件系统,也能够为目录能够为目录来创建符号连接来创建符号连接。 100命令与示例可以操纵i节点的ln命令 (1)ln命令示例一命令示例一建立硬连接建立硬连接 user1server1$lnmyfilemy功能:为文件myfile创建名为my的硬连接。user1server1$ls-il180590-rw-rw-r-2user1user112Au

76、g1712:14myfile180590-rw-rw-r-2user1user112Aug1712:14my说明:通过ls il 命令可以看出my的i节点号(最左面的数)是一样的,即硬连接与原文件共用同一个i节点,请注意两个注意两个文件的连接数文件的连接数(位于长格式列表中权限位与属主之间的数)都增加了1变成2了。 101命令与示例(2)ln命令示例二命令示例二建立符号连接建立符号连接 user1server1$ln-smyfilemy功能:为文件myfile创建名为my的符号连接。user1server1$ls-li180590-rw-rw-r-2user1user112Aug1712:14

77、myfile180590-rw-rw-r-2user1user112Aug1712:14my180606lrwxrwxrwx1user1user16Aug2106:21my-myfile说明:试试用rm命令删除myfile文件,注意观察注意观察连接数的变化连接数的变化,再分别访问my和my,看看是否能够正常访问,解释解释为什么会有这样的结果。 102命令与示例2.1.5查找命令查找命令1.which命令命令user1server1$whichcp/bin/cpuser1server1$whichupdatedb/usr/bin/updatedb功能:功能:显示命令的绝对路径显示命令的绝对路径。

78、注意:该命令只能在命令注意:该命令只能在命令搜索路径搜索路径指定的目录指定的目录中去查找命令或程序。中去查找命令或程序。103命令与示例2.whereis命令命令user1server1$whereislnln:/bin/ln/usr/share/man/man1/ln.1.gz/usr/share/man/man1p/ln.1p.gz功能:功能:查询指定命令所在目录以及帮助文档所在目录。104命令与示例3.slocate命令命令 user1server1$slocatenamedwarning:slocate:couldnotopendatabase:/var/lib/slocate/slo

79、cate.db:Nosuchdirectorywarning:Youneedtoruntheupdatedbcommand(asroot)tocreatethedatabasePleasehavealookat/etc/updatedb.conftoenablethedailycronjob.功能:功能:在其数据库中,安全快速查找指定的文件在其数据库中,安全快速查找指定的文件。说明:说明:在第一次使用slocate之前需要用updatedb命令来创建数据库。注意注意必须以root身份来执行updatedb命令。注意,在构造数据库阶段,时间较长。105命令与示例先介绍一个新命令su user1s

80、erver1$su-Password:rootserver1#功能功能:是可以是可以切换当前用户的身切换当前用户的身份份 su命令带有参数“-”,其含义是改变身份的同时也改变了工作环境同时也改变了工作环境 106命令与示例成功切换为root用户后,接下来执行updatedb命令。rootserver1#updatedb功能:功能:生成slocate所使用的数据库,由于要为所有文件生成索引为所有文件生成索引,因此花费的时间较长。在有了数据库之后,就可使用slocate命令进行快速的查找了。执行如下命令:user1server1$slocatenamed107命令与示例4.find命令命令 (1)

81、find示例一示例一按文件名查找按文件名查找#find/-namedhcpd*功能:参数参数-name指明按文件名进行查找,即从/目录开始查找以dhcpd开头的所有文件。 108命令与示例(2)find示例二示例二按文件大小查找按文件大小查找user1server1$find/etc-size8功能:功能:从/etc下开始查找大小为8块的文件,此处默认512字节为1块。若认为块大小为1k,则应写为8k。 其它可以使用的单位有其它可以使用的单位有c(字节)、(字节)、w(双(双字节)、字节)、M(兆字节)和(兆字节)和G(吉字节)(吉字节)。 109命令与示例(3)find示例三示例三按文件类型

82、查找按文件类型查找$find/var-typed-print功能:从/var目录下开始查找类型为目录类型为目录的文件,其中参数-print是显示到屏幕上的意思,经常省略。 110命令与示例(4)find示例四示例四按文件的修改时间查找按文件的修改时间查找user1server1$find.-cmin-5功能功能:从当前目录下查找5分钟之内修改过的文件。 如果把“-5”改为 “+5”,则表示查找5分钟以前修改过的文件。不带“+”或“-”,则认为整5分钟。 如果把时间单位改为天,则使用参数“-ctime”,请看示例:user1server1$find.-ctime-5111命令与示例(5)find

83、示例五示例五按文件的权限查找按文件的权限查找user1server1$findmytmp-perm755功能:查找mytmp目录下的权限恰为755的文件。user1server1$findmytmp-perm+755功能:查找mytmp目录下的满足755中任何一种权限的文件,即符合任何一个指定的权限位即可。user1server1$findmytmp-perm-755功能:查找mytmp目录下的权限至少满足755的文件,即指定的所有权限位必须符合才算满足查询条件。 112命令与示例(6)find示例六示例六多条件查询多条件查询$find/-ctime-5a-name“*.conf”功能:功能:

84、查找5天以内修改过的所有天以内修改过的所有.conf的文的文件件。说明:说明:默认情况下各查询条件之间是“与与”的关系,也可用的关系,也可用-a或或-and来表示;来表示;-o表示表示“或或”;!表示;!表示“非非”。 113命令与示例(7)find示例七示例七处理查找到的文件处理查找到的文件$find.-size0execrm;功能:将当前目录下大小为0字节的所有文件删除;其中参数-exec的功能的功能是针对查找到的文件执行后面相应的命令, “”相当于一个占位符相当于一个占位符,当执行到“;”时,就用找到的一个文件来替换“”,替换后再执行该指令; 要注意注意“”与与“;”之间要有空格之间要有

85、空格,“”与“;”之间没有空格。114命令与示例$find.(-typef-ortypel)okrm;功能功能:从当前目录下开始查找普通文件或符号连接文件,针对找到的每个文件,在执行rm命令之前提问是否要执行该命令。 其中“()”是优先符号是优先符号, 参数“-ok”比比“-exec”多了交互功能多了交互功能。 115命令与示例2.1.6文件内容操作命令文件内容操作命令 1.grep命令命令 (1)grep示例一示例一在指定的文件中查找包含在指定的文件中查找包含特定的字符串的行特定的字符串的行user1server1$grepbindhost.conf功能:在文件host.conf中查找包含字

86、符串“bind”行。user1server1$grepnetwork/etc/*.conf功能:利用通配符可在多个文件中查找包含特定的字符串的行。本例会在/etc下扩展名为.conf文件中查找包含字符串“network”的行。116命令与示例(2)grep示例二示例二查找不包含指定字符串查找不包含指定字符串的行的行$grep-vnetwork/etc/nsswitch.conf功能:查找/etc/nsswitch.conf文件中不不包含字符串“network”的行。 117命令与示例2.wc命令命令(1)wc示例一示例一统计指定文件的行数、统计指定文件的行数、单词数和字符数单词数和字符数use

87、r1server2$wc/etc/nsswitch.conf632721718/etc/nsswitch.conf功能:统计出文件/etc/nsswitch.conf共有63行、272个单词、1718个字符。 118命令与示例(2)wc示例二示例二参数使用参数使用$wc-l/etc/nsswitch.conf63/etc/nsswitch.conf功能:功能:参数-l的功能可统计出指定文件的行数。另外,利用参数-w统计单词,利用-c统计字符数。 119命令与示例3.sort命令命令(1)sort示例一示例一按正序输出按正序输出user1server1$sortmytest功能:功能:将指定文件

88、以行为单位按正序正序输出。(2)sort示例二示例二按逆序输出按逆序输出user1server1$sort-rmytest功能:功能:将指定文件以行为单位按逆序逆序输出。 120命令与示例4.diff命令命令user1server1$difftestmytest功能:比较文件test与mytest是否相同,将不不同同之处输出到屏幕上。 121命令与示例5.cut命令命令 cut命令是一个文本提取工具,它以行行为单位,将每行看作一条记录,而字段之间的分隔符分隔符可以灵活地定义定义。(1)cut示例一示例一按特定的分隔符提取指定的字按特定的分隔符提取指定的字段段user1server2$cut-d

89、:-f1/etc/passwd功能:参数-d用来定义字段之间的分隔符,参数-f指定提取第几个字段;本例为提取/etc/passwd文件中以“:”为分隔符的第1个字段。 122命令与示例(2)cut示例二示例二提取指定的字符提取指定的字符$cut-c1-3,5/etc/passwd功能:参数-c用来指定提取哪几列列;本例提取/etc/passwd文件中每行的第1列至第3列和第5列。 123命令与示例2.1.7压缩与打包命令压缩与打包命令 1.tar命令命令 tar命令是经典的备份备份/还原还原命令,几乎所有最新的软件包都是通过tar包包发布的。(1)tar命令示例一命令示例一打包(备份)打包(备

90、份)user1server2$tar-cvfmyetc.tar/etc功能:参数-c的功能是打包(创建), 参数-v是显示处理过程, 参数-f是用来指定文档名; 本例的功能是:将目录/etc打包为一个名为myetc.tar的文档。 124命令与示例(2)tar命令示例二命令示例二打包(备份)并压缩打包(备份)并压缩$tar-zcvfmyetc.tar.gz/etc功能:功能:将目录/etc打包并压缩打包并压缩为一个名为myetc.tar.gz的文档。说明:说明:其中参数-z是调用gzip命令来压缩,扩展名为gz,参数-Z是调用compress命令来压缩,扩展名为Z,参数-j是调用bzip2命令

91、来压缩,扩展名为bz2。125命令与示例请尝试尝试以下命令,注意扩展名的变化,请读者自己比较哪种压缩包最小哪种压缩包最小。$tar-Zcvfmyetc.tar.Z/etc$tar-jcvfmyetc.tar.bz2/etc 126命令与示例(3)tar命令示例三命令示例三解压缩还原解压缩还原$tar-zxvfmyetc.tar.gz功能:将参数-c换成-x即可实现还原释放的功能。说明:本例没有指明还原的位置没有指明还原的位置,则将会还原在当前目录下; 如果想指明还原位置指明还原位置可用参数-C,请尝试如下示例:$tar-zxvfmyetc.tar.gz-C/tmp127命令与示例2.gzip与

92、与gunzip命令命令(1)gzip命令示例命令示例user1server2$gzipmyetc.tar功能:将文件myetc.tar压缩为myetc.tar.gz。(2)gunzip命令示例命令示例user1server2$gunzipmyetc.tar.gz功能:将文件myetc.tar.gz解压缩为myetc.tar。 128命令与示例2.1.8挂装与卸载命令挂装与卸载命令1.mount命令命令(1)mount命令示例一命令示例一挂装光盘挂装光盘#mount-tiso9660/dev/cdrom/mnt/cdrom功能:参数-t指明要挂装的文件系统的类文件系统的类型型,接下来是设备文件,

93、最后是挂装点挂装点; 本例的功能是:将光盘挂装到/mnt/cdrom目录下,其中光盘文件系统的类型是iso9660。 129命令与示例(2)mount命令示例二命令示例二挂装优盘挂装优盘#mount-tvfat/dev/sda1/mnt/myusb功能:将文件系统类型为vfat的优盘挂装到/mnt/myusb目录下。说明:vfat针对的是FAT32、FAT16文件系统;优盘采用与SCSI硬盘相同的设备文件; 注意:一般在挂装优盘前,先执行#fdisk-l 命令130命令与示例(3)mount命令示例三命令示例三挂装软盘挂装软盘#mount-tmsdos/dev/fd0/mnt/floppy功能

94、:将软盘挂装到/mnt/floppy目录下,软盘的文件系统类型一般为msdos。说明:挂装点不一定不一定必须在/mnt下,它可以是任意一个空目录。 131命令与示例2.umount命令命令 rootserver2#umount/mnt/cdrom功能:功能:卸载光盘文件系统卸载光盘文件系统。说明:说明:在卸载文件系统时可以使用设备文件或挂装点。请读者自行练习卸载软盘和优盘。切记切记,一定要在挂装点之外,才能卸载相应的设备(文件系统)。 132命令与示例2.1.9网卡配置命令网卡配置命令 (1)ifconfig命令示例一命令示例一显示接口显示接口(网卡)配置参数(网卡)配置参数rootserve

95、r2#ifconfig功能:功能:显示网卡参数的配置情况,包括IP地址地址、子网掩码、广播地址子网掩码、广播地址等。 133命令与示例(2)ifconfig命令示例二命令示例二设置接口(网卡)设置接口(网卡)配置参数配置参数#ifconfigeth010.22.1.103netmask255.255.255.0功能:功能:设置网卡eth0的IP地址为10.22.1.103、掩码为255.255.255.0。说明:说明:eth0是系统中第第1块块以太网卡的名称,eth1是系统中第第2块块以太网卡的名称,以此类推。lo是环回测试网卡的名称。 134命令与示例(3)ifconfig命令示例三命令示例

96、三禁用某块网卡禁用某块网卡rootserver2#ifconfigeth0down功能:功能:禁用网卡eth0。说明:说明:此时再用不带参数的ifconfig命令是不能显示eth0的信息的,需要加上参数“-a”才可显示被禁用的网卡信息。 135命令与示例(4)ifconfig命令示例四命令示例四激活某块网卡激活某块网卡rootserver2#ifconfigeth0up功能:激活激活网卡eth0。 136命令与示例2.1.10rpm命令命令 (1)rpm命令示例一命令示例一查询系统中安装查询系统中安装的软件包的软件包user1server1$rpm-qa功能:查询系统中安装的软件包列表,其中参

97、数-q的功能是“查询”,参数-a的功能是“所有的”。 137命令与示例(2)rpm命令示例二命令示例二查询软件包中文件查询软件包中文件清单清单user1server1$rpm-qlphp功能:功能:查询已安装的软件包php中的文件列表,其中参数-l的功能是“列出指定软件包中的文件”。 138命令与示例(3)rpm命令示例三命令示例三卸载指定的软件包卸载指定的软件包rootserver1#rpm-ephp功能:卸载已安装的软件包php,参数-e的功能是“卸载”。说明:说明:请注意执行上述命令时,采用的身份是不同的,普通用户只能执行查询普通用户只能执行查询操作。 139命令与示例(4)rpm命令示

98、例四命令示例四安装软件包安装软件包#rpm-ivhphp-4.3.9-3.1-i386.rpm功能:安装软件包php, 参数-i的功能是“安装”, 参数-v的功能是“显示处理过程”, 参数-h的功能是显示“#”来表示进度。 140命令与示例(5)rpm命令示例五命令示例五强制安装软件包强制安装软件包#rpm-ivh-forcephp-4.3.9-3.1-i386.rpm功能:功能:强制强制安装软件包php,参数-force表示强制的意思。说明:说明:如果要安装的软件的版本比较低或该比较低或该软件包在系统中已存在软件包在系统中已存在,系统会给出提示并拒绝安装,此时可以加上参数force来进行强制

99、安装。 141命令与示例(6)rpm命令示例五命令示例五忽略依赖关系安装忽略依赖关系安装软件包软件包#rpm-ivh-nodepsphp-4.3.9-3.1-i386.rpm功能:功能:安装软件包php时忽略与其它软件包的依赖关系,参数-nodeps表示忽略依赖忽略依赖关系关系。说明:说明:在安装或卸载软件时经常会遇到提示“该软件包与某某软件包存在依赖关系”,只有加上参数-nodeps忽略掉依赖关系才能进行安装或卸载。 142命令与示例2.1.11帮助命令帮助命令 1.man命令命令(1)man命令示例一命令示例一查看指定命令的查看指定命令的帮助帮助 user1server1$manrpm功能

100、:查看rpm命令的帮助手册。说明:按q键退出man环境。 143命令与示例(2)man命令示例二命令示例二查询指定关键字的查询指定关键字的所有分类所有分类user1server1$man-achroot功能:查看关于chroot的所有分类帮助手册。144命令与示例说明:说明:man手册分为八类,分别是:1 表示用户命令; 2表示系统调用和内核服务; 3 表示子例程; 4 表示特殊文件、设备驱动程序和硬件。 5 表示配置文件配置文件; 6 表示游戏; 7 表示杂项命令; 8 表示管理命令和守护进程。 145命令与示例(3)man命令示例三命令示例三查询特定分类的帮查询特定分类的帮助助user1s

101、erver1$man5named.conf146命令与示例2.info命令命令user1server1$infols功能:查看ls命令的详细信息文档。 147命令与示例2.1.12定时器命令定时器命令 1.at命令命令 at命令的功能功能是一次性一次性执行某项任务。请看at命令的使用示例。(1)at命令示例一命令示例一在当天的特定时刻执行任务在当天的特定时刻执行任务 rootserver1#at9:50atechohello/dev/tty1atechoworld/dev/tty2at/此处按此处按ctrl+d结束结束job1at2006-08-0109:50功能:功能:在2006-08-01

102、 09:50将在控制台1(tty1)上显示字符串“hello”,在控制台2(tty2)上显示字符串“world”。148命令与示例说明说明:管理员可以任意使用at命令,但是普通用户将要受到一定的限制。 如果/etc/at.allow或或/etc/at.deny存在的话,那么只有列入/etc/at.allow的用户才能使用at命令。 149命令与示例(2)at命令示例二命令示例二在指定日期的特定时在指定日期的特定时刻执行任务刻执行任务 rootserver1#atnow+3weekat/root/bin/myshell.shatjob8at2006-08-2209:56功能:功能:now + 3

103、 week表示从现在起3周后这个时刻执行某任务。说明:说明:除了week,还可以是day、month、year,更多参数可参考帮助手册。 150命令与示例(3)at命令示例三命令示例三查看查看at任务列表任务列表 rootserver1#at-l功能:功能:参数-l的功能是列出at的待执行的任务列表。说明:说明:此命令与atq相同。 151命令与示例(4)at命令示例四命令示例四删除删除at任务列表中特任务列表中特定的任务定的任务 rootserver1#atrm10功能:功能:删除at任务列表中的10号任务。说明:说明:atrm与atq都是at的附属命令。 152命令与示例2.crontab

104、命令命令 (1)crontab命令示例一命令示例一查看任务列表查看任务列表rootserver1#crontab-l功能功能:查看:查看crontab的任务列表的任务列表。 153命令与示例(2)crontab命令示例二命令示例二编辑任务列表编辑任务列表rootserver1#crontab-e功能:功能:利用参数-e可以进入crontab的编辑环境,可以设置任务列表。说明:说明:下面先看crontab中任务列表的格式分分时时日日月月星期星期命令命令102*/root/bin/mybackup.sh含义:含义:可以看出上面这条任务由六个字段组可以看出上面这条任务由六个字段组成,其含义是每天的凌

105、晨成,其含义是每天的凌晨2:10执行执行/root/bin/mybackup.sh程序程序 154命令与示例08-17/2*5/root/mycount.sh上述任务的含义含义是: 每星期五从8点到17点每隔2小时执行一次/root/mycount.sh程序;其中“-”表示到,“/”表示每。 155命令与示例2.1.13查看进程命令查看进程命令 1.ps命令命令(1)ps命令示例一命令示例一不带参数不带参数 user1server2$ps功能:查询在当前控制台上运行的进程。 156命令与示例(2)ps命令示例二命令示例二查看所有进程查看所有进程 user1server2$ps-aux功能:功能

106、:查询系统中所有运行的进程,包括后台进程,其中参数a是所有进程,参数x包括不占用控制台的进程,参数u显示用户。 157命令与示例(3)ps命令示例三命令示例三查看所有进程查看所有进程 user1server2$ps-ef功能:查询系统中所有运行的进程,包括后台进程,而且可以显示出每个进程的父进程号。 158命令与示例2.pstree命令命令(1)pstree命令示例一命令示例一树状格式显示进树状格式显示进程列表程列表 user1server2$pstree功能:以树状格式树状格式显示系统的进程列表。(2)pstree命令示例二命令示例二带进程号的树状带进程号的树状格式显示进程列表格式显示进程列

107、表 user1server2$pstree-p功能:以树状格式显示系统的进程列表,并标识出每个进程的进程号进程号。 159命令与示例3.top命令命令user1server2$top功能:动态地显示系统中的进程。 160命令与示例2.1.14其他命令其他命令 1.kill命令命令(1)kill命令示例一命令示例一杀掉指定进程杀掉指定进程 user1server2$kill3029功能:功能:kill命令可以杀掉一个进程,当然普通用户只能杀掉自己的进程。说明:说明:上述命令中3029是进程号;一般在执行kill命令之前,先用ps或pstree来查询一下将要被杀掉的进程的进程号。 161命令与示例

108、(2)kill命令示例二命令示例二强制杀掉指定进程强制杀掉指定进程 user1server2$kill-93029功能:功能:强制终止3029号进程的运行,其中参数-9代表强制的意思。说明:说明:实际上kill命令是向该进程发送信号,该进程接到信号后决定是否停止运行,有些守护进程必须要收到参数9才终止运行。请读者执行kill-l命令来进一步了解有关信号的情况。 162命令与示例2.反引号反引号命令命令“” #killcat/var/run/xinetd.pid功能:功能:杀掉xinetd进程。说明:说明:该命令行由两个命令组成,首先要执行的是反引号内的命令,这里解释一下文件/var/run/x

109、inetd.pid中存放的是xinetd的进程号,cat的执行结果就是显示该文件的内容,即进程号;然后,再执行kill命令来杀掉相应的进程。 163命令与示例3.date命令命令(1)date命令示例一命令示例一显示时间日期显示时间日期user1server1$date功能:显示系统当前的时间日期。date命令的参数很多,请练习如下命令:user1server1$date+%y164命令与示例(2)date命令示例二命令示例二设置时间日期设置时间日期rootserver1#date-s2006090113:41功能:功能:将系统的日期设置为2006年9月1日,时间设置为13:41。 165命令

110、与示例4.df命令命令(1)df命令示例一命令示例一显示文件系统使用磁显示文件系统使用磁盘空间的情况盘空间的情况 rootserver1#df功能:显示系统中每个文件系统使用磁盘空间的情况。 166命令与示例(2)df命令示例二命令示例二以习惯的阅读方式显以习惯的阅读方式显示文件系统使用磁盘空间的情况示文件系统使用磁盘空间的情况 rootserver1#df-hSizeUsedAvailUse%Mountedon/dev/hda15.7G3.2G2.2G60%/none0M030M0%/dev/shm功能:功能:加上参数-h,则可以按照人们习惯的阅读方法来显示系统中每个文件系统使用磁盘空间的情

111、况。 167命令与示例5.du命令命令(1)du命令示例一命令示例一显示指定目录中每个显示指定目录中每个文件占用的磁盘空间的大小文件占用的磁盘空间的大小 rootserver1#du/etc功能:显示出/etc目录中每个文件占用磁盘空间的大小。 168命令与示例(2)du命令示例二命令示例二显示指定目录总共占显示指定目录总共占用的磁盘空间大小用的磁盘空间大小 rootserver1#du-sh/etc功能:功能:参数-s表示汇总,本例的功能为按照人们习惯的阅读方法显示/etc目录中所用文件总共占用的磁盘空间大小。 169命令与示例6.uname命令命令(1)uname命令示例一命令示例一显示系

112、统基本信息显示系统基本信息 rootserver1#unameLinux功能:显示系统的基本信息。(2)uname命令示例二命令示例二显示系统完整的基本信显示系统完整的基本信息息 rootserver1#uname-aL2.6.9-5.ELsmp#1SMPWedJan519:30:39EST2005i686i686i386GNU/Linux功能:显示完整系统的基本信息。说明:请读者尝试uname -r命令。170命令与示例2.2管道与重定向管道与重定向 2.2.1管道管道 (1)管道示例一)管道示例一一级管道一级管道 rootserver1#ls-l|grepl功能:功能:以长格式显示当前目录

113、下的符号连接文件。该命令行首先执行ls l,并把其结果当作grep “l”命令的输入文件,其中“l”表示以l开头。(2)管道示例二)管道示例二多级管道多级管道 rootserver1#ls-la|grepl|wc-l请读者根据上面命令的结果总结出其功能。 171命令与示例2.2.2输出重定向输出重定向 (1)输出重定向示例一)输出重定向示例一覆盖方式覆盖方式 rootserver1#sortra.txtb.txt功能:功能:把a.txt文件按行逆序逆序排序并重定向输出到文件b.txt中;若b.txt已存在,则覆盖掉原内容,若不存在,则创建之。 172命令与示例(2)输出重定向示例二)输出重定向

114、示例二追加方式追加方式 rootserver1#sortra.txtb.txt功能:“”的功能是按追加追加方式进行输出重定向;若b.txt已存在,则在该文件末尾追加新内容,若不存在,则创建之。 173命令与示例2.2.3输入重定向输入重定向输入重定向符号有两种,即“”和“”,请看以下示例。(1)输入重定向示例一)输入重定向示例一“”输入重定输入重定向向 #more/etc/httpd/conf/httpd.conf功能:功能:上述命令与more /etc/httpd/conf/httpd.conf的结果是一样。说明:说明:很多命令与more一样可以使用输入重定向符,也可以不用,如cat、wc、

115、less等。174命令与示例(2)输入重定向示例二)输入重定向示例二“”输入重定向输入重定向 rootserver1#cata.txthelloworld!功能:功能:将“!”之间的内容重定向到a.txt文件中去,不包括“!”。说明:说明:这是一个组合使用输入输出重定向的例子,其中“!”是定界符是定界符,其它字符也可以充当定界符。注意:注意:“!”与后面的“”之间至少要有一个空格。这是一种非常经典的用法,可以用在shell编程环境编程环境中。 175命令与示例2.3vi编辑器使用简介编辑器使用简介231vi的工作方式的工作方式 vi有两种工作方式,一种是命令方式,另一种是输入方式 。176命令

116、与示例2.3.2vi的常用命令的常用命令 (1)光标相对移动)光标相对移动n行。行。方法:方法:直接敲数字“n”回车,则光标从当前位置下移n行。例如例如,敲10回车,则光标从当前位置下移10行;敲10-回车,则光标从当前位置上移10行。 177命令与示例(2)d命令命令删除行删除行方法:敲dd 删除当前行;敲ndd 从当前行开始连续删除n行,即包含当前行。例如例如, 敲3dd,则从当前行开始连续删除3行。178命令与示例(3)y命令命令复制行复制行方法:方法:敲yy 复制当前行;敲nyy 从当前行开始连续复制n行,即包含当前行。说明:说明:vi提供了类似Windows中剪贴板的暂存区,y命令就

117、是将指定的行复制到暂存区中。 例如,例如, 敲2yy,则从当前行开始连续复制2行到暂存区。 179命令与示例(4)p命令命令粘贴粘贴方法:方法:敲p 在当前行的下方粘贴上暂存区中的内容;敲np在当前行的下方连续粘贴n遍暂存区中的内容。例如,例如,敲2p,则连续粘贴2遍暂存区中的内容。 180命令与示例(5)查找)查找按按键键功功能能/字符串向后查找指定的字符串/继续向后查找上一次查找的内容?字符串向前查找指定的字符串?继续向前查找上一次查找的内容n继续向后查找N继续向前查找181命令与示例(6)替换)替换格式一:格式一::s/regexp/replacement/功能:针对当前行替换,将字符串

118、regexp替换为replacement。例如,输入:s/in/ing/,则将当前行中第一个in字符串替换为ing;输入:s/in/ing/g 则将当前行中所有的in字符串替换为ing。 182命令与示例格式二:格式二::%s/regexp/replacement/g功能:功能:针对全文进行替换,其中符号%把作用范围扩大到全文,g是全局的意思。例如例如,输入:%s/in/ing/g,则将全文中所有的字符串in替换为ing;输入:%s/in/ing/gc,则针对全文中所有的字符串in进行替换,并在每次替换前给出确认提示。 183命令与示例(7)可视模式)可视模式方法:方法:按v进入可视模式,再按

119、光标键来选择区域; 接下来,如果要进行复制粘贴复制粘贴,则按y键,然后移动光标到目标位置,最后按p 键; 同理,如果要进行移动移动,则按d键,然后移动光标到目标位置,最后按p 键。说明:说明:这是一个非常好的命令,提供了可视化的选择,被选中的区域反白显示,操作灵活。 184命令与示例(8)显示)显示/隐藏行号隐藏行号方法:方法: 输入:setnumber,会在每行前加上行号 输入:setnonumber,则隐藏行号。185命令与示例(9)删除字符)删除字符x命令命令方法: 按x键,会删除光标所在处的字符。 186命令与示例(10)存盘)存盘w命令命令方法: 按:w键,进行存盘; 按ZZ,存盘并

120、退出,该命令与:wq相同。 187命令与示例(11)退出)退出q命令命令方法: 按:q,退出; 如果已进行了编辑,但不想存盘退出,则按:q!。 按ZQ,不存盘退出。188命令与示例2.4正则表达式简介正则表达式简介 正则表达式(正则表达式(regularexpression),),又称为正规表达式,是用来匹配字符串匹配字符串的一种特殊的表达式。 189命令与示例2.4.1正则表达式的基本语法正则表达式的基本语法 正则表达式是由普通字符以及特殊字特殊字符(又称为元字符)符(又称为元字符)组成的文本模式。 可以认为模式就是模版,正则表达正则表达式作为一个模版式作为一个模版,可以将某个字符模式与所搜

121、索的字符串进行匹配。 190命令与示例元元字字符符功功能能$匹配输入字符串的结尾位置。要匹配 $ 字符本身,请使用 $( )标记一个子表达式(分组)的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 ( 和 )*匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 *+匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 +.匹配除换行符 n之外的任何单字符。要匹配.,请使用 .匹配一个范围或集合。要匹配 ,请使用 将下一个字符标记为特殊字符、或原义字符、或向后引用、或八进制转义符。例如, n 匹配字符 n。n 匹配换行符。序列 匹配 ,而 ( 则匹配 (在方括号外使用时

122、,用来匹配字符串的开始位置,在方括号内使用时,表示不包含该字符。要匹配 字符本身,请使用 nn 是一个非负整数,用来匹配确定的 n 次。例如,e2 不能匹配 ged 中的 e,但是能匹配 geed 中的两个 en,n 是一个非负整数,用来匹配 n 次或更多次n,mn 和 m均为非负整数,其中n = m。最少匹配 n 次且最多匹配 m 次191命令与示例2.4.2正则表达式的应用示例正则表达式的应用示例 (1)正则表达式示例一)正则表达式示例一a-z功能:功能:匹配所有的小写字母。说明:说明:请练习A-Za-z,体会含义。 192命令与示例(2)正则表达式示例二)正则表达式示例二0-9.功能:功

123、能:匹配所有的数字和句号。193命令与示例(3)正则表达式示例三)正则表达式示例三w1Amdw1$ls|grepd2,3.txt功能:功能:列出当前目录下以2个或3个d开头,扩展名为.txt的文件名,即只有dd.txt和ddd.txt符合条件。说明:说明:一些命令可以支持正则表达式,如grep、find、sed等。 194命令与示例(4)正则表达式示例四)正则表达式示例四SsignalL功能:功能:匹配Signal,SignaL,signal,signal195命令与示例(5)正则表达式示例五)正则表达式示例五q功能:功能:匹配以q开始的行。 196命令与示例(6)正则表达式示例六)正则表达式

124、示例六$功能功能:匹配空行空行. 197命令与示例(7)正则表达式示例七)正则表达式示例七0-91,3.0-91,3.0-91,3.0-91,3功能:功能:匹配IP地址格式。 198命令与示例(8)正则表达式示例八)正则表达式示例八+功能:功能:匹配HTML或XML标记。说明:说明:表示不包含、+表示匹配1次或1次以上。 199命令与示例(9)正则表达式示例九)正则表达式示例九vi中的应用中的应用:%s/daeiog/dug/g功能:功能:将文件中所有的字符串dag、deg、dig、dog都替换为dug。说明:说明:vi的命令方式中也支持正则表达式,实际上在vi中练习正则表达式的匹配是非常方便

125、的。 200命令与示例(10)正则表达式示例十)正则表达式示例十复杂示例复杂示例例如有下格式的文件:35,Bo,Wang28,Tao,Ma27,Zhong,Guan要把它转变为WangBo,35MaTao,28GuanZhong,27 201命令与示例方法:在vi中利用如下命令来实现:%s/(,*),(,*),(,*)/32,1/说明:说明:本例为子表达式()子表达式()的应用,通过观察发现原文件的每一行都是以逗号隔开的三组字符串,因此可以定义三个分组。 每个分组可表示为(,*),其含义是不含逗号的0个或多个字符。 在定义了三个分组之后,引用时可以用1、2和和3来代替这三个分组来代替这三个分组。请读者上机仔细体会该功能。202命令与示例2.5本章小结本章小结 常用命令 vi编辑器 正则表达式 203命令与示例

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号