Linux基本操作的实验报告.ppt
Linux基本操作(一)-Linux文件系统及 目录和文件命令的使用,实验二:Linux基本操作,本讲主要内容与要求,3.1 文件系统和目录结构,3.2 目录和文件命令,1.掌握Linux命令的基本格式和基本使用方法 2.掌握Linux常用的目录和文件命令,1.了解Linux的虚拟文件系统(VFS);2.理解Linux文件目录的组织方式及常见的文 件目录及作用,一 虚拟文件系统(VFS),Linux系统的一个重要特征就是支持多种不同的文件系统(1)Linux自己的文件系统ext2 fs是非常先进的,最多可以支持到2T的硬盘,文件名长度的限制为255个字符。(2)Linux可以将这些文件系统直接装载(mount)为系统的一个目录。(3)实现这一功能的关键是Linux的提供的虚拟文件系统(Virtual File System,VFS),Linux支持多种不同的文件系统,3.1 文件系统和目录结构,一 虚拟文件系统(VFS),用户进程,系统调用接口,VFS,EXT,EXT2,DOS FS,缓冲区缓存,设备驱动程序,磁盘控制器,I/O请求,硬件,Linux核心,文件系统调用,二 Linux文件目录组织,与其它操作系统不同,Linux不是以磁盘或分区来组织文件系统的文件和目录,而是将所有外存设备和硬件设备构成一个统一的文件系统目录树。linux使用标准的目录结构,在安装的时候,安装程序就已经为用户创建了文件系统和完整而固定的目录组成形式,并指定了每个目录的作用和其中的文件类型。下面介绍一下在Linux系统下的目录。(1)根目录/根目录一般不包含任何文件,所有其他文件和目录在根目录的子目录中,主要的子目录有:/bin bin是Binary的缩写。这个目录存放着用户经常使用的命令。/boot这里存放的是启动Linux时使用的一些核心文件,包括一些链接文件以及镜像文件。,1.Linux的文件系统和目录结构,二 Linux文件目录组织,/devdev是Device(设备)的缩写。该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。/etc这个目录用来存放所有的系统管理所需要的配置文件和子目录。/home用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。/lib这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。/lost+found一般情况下是空的,当系统非法关机后,这里就存放了一些文件。/mnt在这里面有四个目录,系统提供这些目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/cdrom上,然后进入该目录就可以查看光驱里的内容了。/proc这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件。/root该目录为系统管理员,也称作超级权限者的用户主目录。/sbin s就是Super User的意思,存放的是系统管理员使用的系统管理程序。/tmp这个目录是用来存放一些临时文件的。,1.Linux的文件系统和目录结构,二 Linux文件目录组织,(2)/usr目录:很多应用程序和文件几乎都存放在USR目录下。/usr/X11R6存放X-Windows的所有文件;/usr/games存放着XteamLinux自带的小游戏;/usr/bin存放着许多应用程序;/usr/sbin存放root超级用户使用的管理程序;/usr/doc Linux技术文档;/usr/include用来存放Linux下开发和编译应用程序所需要的头文件;/usr/lib存放一些常用的动态链接共享库和静态档案库;/usr/local这是提供给一般用户的/usr目录,在这里安装一般的应用软件;/usr/man帮助文档所在的目录;/usr/src Linux开放的源代码。(3)/var目录/var这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。如果你想做一个网站,你也会用到/var/www这个目录。,1.Linux的文件系统和目录结构,二 Linux文件目录组织,Linux无分区,整个文件系统只有一个根目录。Linux中,目录也是一个文件Linux中,所有设备都看作一个文件,放在/dev目录下。如hda1(第一块硬盘第一个分区)linux系统中每个分区都是一个文件系统,都有自己的目录层次结构。linux会将这些分属不同分区的、单独的文件系统按“挂载”(mount)的方式形成一个系统的总的目录层次结构,2.Linux的文件系统与Windows的区别,(1)普通文件(2)目录文件(3)设备文件(4)符号链接文件-是一种特殊文件,它们提供对其他文件的参照,存放的是文件系统中通向文件的路径.,Linux的四种文件类型,二 Linux文件目录组织,3.Linux的文件系统的挂载,将一个文件系统的顶层目录挂到另一个文件系统的子目录上,使它们成为一个整体,称为挂载。把该子目录称为挂载点。,格式:mount-参数 设备名称 挂载点常用参数:-t 指定设备的文件系统类型,例子:windows装在hda1分区,同时计算机上还有软盘和光盘需要挂载。#mkdir/mnt/winc#mkdir/mnt/floppy#mkdir/mnt/cdrom#mount-t vfat/dev/hda1/mnt/winc#mount-t msdos/dev/fd0/mnt/floppy#mount-t iso9660/dev/cdrom/mnt/cdrom 现在就可以进入/mnt/winc等目录读写这些文件系统了。,先建立挂载点(必须是目录),挂载,一.Linux目录管理有关命令,3.2 目录和文件命令,命令一般格式:命令名-选项 参数对每个命令掌握:(1)命令名(2)命令功能(3)命令格式(4)常用参数如何查看命令帮助?Man 命令名(2)命令名 help(内置命令),pwd-显示当前工作目录的绝对路径格式:pwd,一.Linux目录管理有关命令,2.cd-改变当前工作目录命令格式:cd 目录名,注:与Dos的cd命令类似;当前目录/绝对卢静/相对路径,3Ls-列出文件目录的信息命令格式:ls 可选项 子目录名 文件名,注:与Dos的cd命令类似;当前目录/绝对路径/相对路径可选项:-a;列出全部的文件,包括那些隐藏文件.-l:按长格式列目录,输出信息包括文件目录,文件的权限、所属用户组、文件建立和修改的时间等信息。-d:只列出子目录信息。-o:用不同颜色显示各种类型的文件,蓝色表示子目录、绿色表示可执行文件、红色表示压缩文件、浅蓝色表示连接文件、灰色表示其它文件。,一.Linux目录管理有关命令,4mkdir-建立目录命令格式:mkdir 可选项 目录名,可选项:-m:设置目录的存取权限,这也可以在目录建立后用命令chmod 来设定。-p:如果连续建立两个以上的目录,例如原来只有/usr/srcp目录,可以输入:mkdir p/usr/inin/mors/cs。举例:(1)在当前目录下创建temp目录;(2)在当前目录下创建多个目录;(3)创建一个多级目录,一.Linux目录管理有关命令,5rmdir-删除目录本命令用于删除指定的一个或多个目录,必须保证要删除的目录中没有任何文件。命令格式:rmdir 可选项 目录名,可选项:-p:如果删出一个目录后,它的上一层目录也变为空目录了,这个选项会一并删除上一层也变为空的目录。-verbose:为每一个创建的目录显示一条信息。举例:(1)删除目录temp;(2)一次删除多个目录;(3)一次删除多极目录。,一.Linux目录管理有关命令,注:通配符的使用与Windows类似:*,?.如:1-9*-所有以1-9中任意一个字符开头的文件1,3,5*-所有以1或3或5开头的文件,二.更改目录或文件访问权限的命令,Linux中的访问权限,在Linux中,对目录访问的用户分为三种:目录属主(u表示)、目录属主所在组的用户(g表示)、其他用户(o表示)。对文件访问有三种不同类型的用户:文件所有者,同组用户、其他用户。目录或文件的权限就是这三种用户对目录或文件进行访问时的权限。每种用户的权限进一步细分为读,写和可执行三种,分别用r、w、x表示。每一文件或目录的访问权限都有三组,每组用三位表示 例如:ls-l 某文件 可列出该文件的三组访问权限,二.更改目录或文件访问权限的命令,Ls-查看访问权限格式:ls l 文件名,#ls-l sobsrc.tgz-rw-r-r-1 root root 483997 Ju1 l5 17:3l sobsrc.tgz 文件类型 权限 链接数 文件属主 文件组 文件大小 时间 文件名,确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。也可以利用chown命令来更改某个文件或目录的所有者。利用chgrp命令来更改某个文件或目录的用户组。,二.更改目录或文件访问权限的命令,2.chmod-改变文件或目录的访问权限 命令格式:chmod 可选项 权限 目录或文件名,可选项:-v:报告权限更改信息;-c:每次发生权限的实质性更改时给出一条信息。,(1)文字设定法,格式:chmod who+|-|=mode 文件名|目录名,who:uuser ggroup oothers aall+添加-取消=赋予给定权限并取消其他所有权限 例如:$chmod g+r,o+r example,二.更改目录或文件访问权限的命令,(2)数字设定法,用八进制数07来表示一组“rwx”权限,如6表示rw-首先规定 0表示没有权限;1表示可执行权限;2表示写权限;4表示可读权限 然后将四个数相加,其指范围为07例如:#chmod 644 temp1.txt 相当于 chmod u=rw,g=r,o=r temp1.txt,思考:(1)将temp1.txt属主的w权限去掉(2)将temp1.txt文件权限设为-wx rw-w-,二.更改目录或文件访问权限的命令,3chgrp命令-改变文件或目录所属的组。命令格式:chgrp 选项 group filename选项:-R:递归式地改变指定目录及其下的所 有子目录和文件的属组,例:命令:$chgrp-R book/opt/local/book 功能:改变/opt/local/book/及其子目录下的所有文件的属组为book。,二.更改目录或文件访问权限的命令,4.chown-更改某个文件或目录的属主和属组 命令格式:chown 选项 文件或目录的新属主.文件或目录所在的新组 文件名|目录,选项:-R:递归地改变指定目录及其下的所有目录和文件的拥有者-v:显示chown命令所作的工作。,例1:把文件shiyan.c的所有者改为wang。$chown wang shiyan.c 例2:把目录/his及其下的所有文件和子目录的属主改成wang,属组改成users。$chown-R wang.users/his,思考:把,三.显示文件内容的命令,1.cat-显示,新建,连接文件,(1)功能1:新建文件 例1:$cat test/file1.txt I love Linux!上例中的“”表示Linux的输出重定向。我们从键盘上输入一行字母,存入/test/file1.txt文件。,三.显示文件内容的命令,1.cat-显示,新建,连接文件,(2)功能2:在标准输出上显示文件 格式:cat-选项 文件例2:$cat file1.txt(在屏幕上显示file1.txt文件的内容)选项:v 用一种特殊形式显示控制字符,LFD与TAB除外。加了-v选项后,-T和-E选项将起作用。-T 将TAB显示为“I”。该选项需要与-v选项一起使用。即如果没有使用-v选项,则这个选项将被忽略。E 在每行的末尾显示一个符。该选项需要与-v选项一起使用。A 等于-vTE。-b 系统会在文件每一非空白行前加入编号,以便识别。,三.显示文件内容的命令,1.cat-显示,新建,连接文件,(3)功能3:连接两个或多个文件 例3:$cat test/file2.txt Linux is very good!-先建文件file2.txt$cat file1 file2 file3-将file1和file2合并到file3$cat file3-显示file3文件内容(注意观察结果),三.显示文件内容的命令,2.more-在终端屏幕按屏显示文本文件。命令格式:more-选项 文件,说明:该命令一次显示一屏文本,显示满之后,停下来,并在终端底部打印出-More-,系统还将同时显示出已显示文本占全部文本的百分比,若要继续显示,按回车或空格键即可。选项-p 显示下一屏之前先清屏。-c 先从最顶端显示,在清除每行后剩余的旧内容,可使显示加快。-d 在每屏的底部显示更友好的提示信息:-More-(XX%)Press space to contiune,q to quit.而且若用户输入了个错误命令则显示出错信息,而不是简单地鸣响终端。,三.显示文件内容的命令,2.more,另外,在more命令的执行过程中,用户可以使用more自己的一系列命令动态地根据需要来选择显示的部分。more在显示完一屏内容之后,将停下来等待用户输入某个命令。下表列出了more指令在执行中用到的一些常用命令,而有关这些命令的完整内容,可以在more执行时按h查看。这些命令的执行方法是先输入i(行数)的值,再打所要的命令,不然它会以预设值来执行命令。i空格 若指定i,显示下面的i行;否则,显示下一整屏。如:5空格,即显示下面的5行。i回车 若指定i,显示下面的i行;否则,显示下一行。iz 同“i空格”类似,只是i将成为以下每个满屏的缺省行数。is 跳过下面的i行再显示一个整屏。预设值为1。如:3s,即跳过下面的3行显示整屏。,三.显示文件内容的命令,命令:if 跳过下面的i屏再显示一个整屏。预设值为1。q或Q 退出more。=显示当前行号。v 在当前行启动/usr/bin/vi对之进行编辑修改。h 显示各命令的帮助信息。i:f 显示当前文件的文件名和行数。.(点)重复上次键入的命令。,2.more,3.less,less命令的功能几乎和more命令一样,也是用来按页显示文件,不同之处在于less命令在显示文件时允许用户既可以向前又可以向后翻阅文件。,三.显示文件内容的命令,Head-显示文件或标准输入的头几行 命令格式:head-n 文件,说明:该命令显示每个指定文件的前面n行。如果没有给出n值,缺省设置为10。如果没有指定文件,head就从标准输入读取。,5。tail-显示文件的尾部 命令格式:tail+/-num 参数 文件,说明:该命令显示一个文件的指定内容。它把指定文件的指定显示范围内的内容显示在标准输出上。本命令特别适用于阅读一个有用信息在其尾部的大文件,如系统信息中的出错记录文件(/var/log/message)。,三.显示文件内容的命令,5。tail,选项:num 从第num行以后开始显示。-num 从距文件尾num行处开始显示。如果省略num参数,系统默认值为10。参数l:以文本行为num的计数单位。与参数选项num或-num选项同时使用时,num表示要显示的文本行行数。参数c:以字节为num的计数单位。与参数选项num或-num选项同时使用时,num表示要显示的字符数。注:l、c选项可以省略,系统默认值为l,即按行计数。例如:$tail-4 example-将显示文件example的最后4行。,四.文件管理命令,touch-功能:将文件的修改时间改为当前时间,如果文件不存在则建立一个空文件。命令格式:touch-选项 文件,例1:$touch example在制定路径下建立一个空文件example。$ls l example-rw-rw-r-1 root root 0 11月27 10:23 example$touch example$ls l example-rw-rw-r-1 root root 0 11月27 10:25 example,四.文件管理命令,2.cp-功能:文件或目录的拷贝,如同dos的copy 命令格式:cp 选项 源文件或目录 目标文件或目录,a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpr选项的组合。-d 拷贝时保留链接。-f 删除已经存在的目标文件而不提示。-i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。-p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。-r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。-l 不作拷贝,只是链接文件。,四.文件管理命令,3.mv-功能:为文件或目录改名或将文件由一个目录移入另一 个目录中 命令格式:mv 选项 源文件或目录 目标文件或目录,说明:当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。参数:-i 交互方式操作-f 禁止交互操作 例1:将/test/tmp1中的所有文件移到当前目录(用“.”表示)中:$mv/test/tmp1/*.$mv/test/tmp1.(将/test中的temp1目录以及它的下属移到当前目录)例2:将文件file1.txt重命名为myfile.txt$mv file1.txt myfile.txt,四.文件管理命令,4.rm-功能:删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除 命令格式:rm 选项 文件,选项:-f 忽略不存在的文件,从不给出提示。-r 指示rm将参数中列出的全部目录和子目录均递归地删除。-i 进行交互式删除。例:$rm-i test example Remove test?n Remove example?y,链接文件的概念,链接文件简介 链接文件实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称。对于这个新的文件名,我们可以为之指定不同的访问权限,以控制对信息的共享和安全性的问题。如果链接指向目录,用户就可以利用该链接直接进入被链接的目录而不用输入一长串的路径名。链接文件的分类硬链接:复制文件i-node软(符号)链接:仅仅是指向目的文件的路径,类似于Windows下的快捷方式,链接文件的概念,硬链接和软链接的比较硬链接 链接文件和被链接文件必须位于同一个文件系统内 不能建立指向目录的硬链接软链接 链接文件和被链接文件可以位于不同文件系统 可以建立指向目录的软链接,ln 命令,创建硬链接 ln 创建软链接 ln-s 使用方法对目标文件创建硬链接:$ln somefile hardlinkfile对目标文件创建软链接:$ln-s somefile softlinkfile对目标目录创建软链接:$ln-s somedir softlinkfile,硬链接的使用,两个文件名指向的是硬盘上的同一个存储空间,对两个文件中的任何一个的内容进行修改都会影响到另一个文件,这种链接关系称为硬链接。首先查看一下目录中的文件情况:#ls-1-rwxr-xr-x 1 Mike users 58 Jun 21 10:05 file lcat file 1 This is file l建立文件file l的硬链接文件file2:ln filel file2cat file2 This is filells-l-rwxr-xr-x 2 Mike users 58 Jun 21 10:05 filel-rwxf-xr-x 2 Mike users 58 Jun 21 10:07 file2,硬链接的使用,可以看出,file2和file1的大小相同,内容相同。再看详细信息的第2列,原来file1的链接数是1,说明这一块硬盘存储空间只有file1一个文件指向它,而建立起file1和file2的硬链接关系之后,这块硬盘空间就有file1和file2两个文件同时指向它,所以file1和file2的链接数就都变为了2.因为两个文件指向一块硬盘空间,所以如果现在修改file2的内容为“This is file2.”,再查看file 1的内容,就会有:cat file 1 This is file2,硬链接的使用,如果删除其中的一个文件(不管是哪一个),就是删除了该文件和硬盘空间的指向关系,该硬盘空间不会释放,另外一个文件的内容也不会发生改变,但是目录详细信息中的链接数会减少。rm-f file1ls 1 rwxr-xr-x 1 Mike users 58 Jun 21 10:07 file2#cat file2 This is file2.,软链接的使用,符号链接(也称软链接),是指将一个文件指向另外一个文件的文件名。这种符号链接的关系由In-s命令行来建立。首先查看一下目录中的文件信息:#ls-l-rwxrxr-x 1 Mike users 58 Jun 21 10:05 file1cat file 1 This is file l建立文件file1的符号链接文件file2:ln-s filel file2,软链接的使用,该命令产生一个新的文件file2,它和己经存在的文件file1建立起符号链接关系:cat file2 This is filells-l-rwxr-xr-x 2 Mike users 58 Jun 21 10:05 filel lrwxrwxrwx 1 Mike users 5 Jun 21 10:07 file2-filel可以看出file2这个文件很小,因为它只是记录了要指向的文件名而己,注意那个从文件file2指向文件file1的指针。,软链接的使用,为什么cat命令显示的file2的内容与file 1相同呢?因为cat命令在寻找file2的内容时,发现file2是一个符号链接文件,就根据file2记录的文件名找到了file1文件,然后将filel的内容显示出来。明白了file1和file2的符号链接关系,就可以理解为什么file1的链接数仍然为1,这是因为file1指向的硬盘空间仍然只有file1一个文件在指向。如果现在删除了file2,对file 1并不产生任何影响;而如果删除了file1,那么file2就因无法找到文件名称为file1的文件而成为死链接。,软链接的使用,rm-f file1#ls-llrwxrwxrwx 1 Mike users 5 Jun 21 10:07 file2-filel#cat file2 cat:file2:No such file or directory,软链接的使用,如果链接名是一个目录名(已存在),系统将在该目录之下建立一个或多个与“源文件”同名的链接文件。如果链接名为一个已存在的文件,用户将被告知该文件已存在且不进行链接。例1:$ln-s lunch/home/xu 用户为当前目录下的文件lunch,在/home/xu下创建了一个符号链接。如果删除了文件lunch,则目录/home/xu/下的lunch文件(同名文件)也不存在。,四.文件管理命令,5.ln-功能:在文件之间创建链接,实际上是给系统中已有的某个文件指定另外一个别名;对于这个新的文件名,我们可以为它指定不同的访问权限,以控制对信息的共享和安全性的问题。命令格式:ln 选项 源文件 链接名 ln 选项 源目录 目录,链接:(1)硬链接:建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接.而对符号链接,则不存在这个问题。默认情况下,ln产生硬链接。在硬链接的情况下,参数中的“源文件”被链接至链接名。如果链接名是一个目录名,系统将在该目录之下建立一个或多个与“源文件”同名的链接文件,链接文件和被链接文件的内容完全相同。如果链接名为一个已存在的文件,用户将被告知该文件已存在且不进行链接。,四.文件管理命令,如果给ln命令加上-s选项,则建立符号链接。如果链接名已经存在但不是目录,将不做链接。链接名可以是任何一个文件名(可包含路径),也可以是一个目录,并且允许它与“源文件”不在同一个文件系统中。如果链接名是一个已经存在的目录,系统将在该目录下建立一个或多个与“目标”同名的文件,此新建的文件实际上是指向“源文件”的符号链接文件。,例1:将文件file2硬链接为file5$ln file2 file5$rm file2注意:即使删除了硬链接的原文件file2,file5仍然存在且可以对其正常操作和访问。通常使用硬链接实现不同目录,甚至不同用户之间的文件共享。,五.文件内容统计命令,wc-功能:统计指定文件中的字节数、字数、行数,并将统计结果显示输出 命令格式:wc 选项 文件,说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。选项:-c 统计字节数。-l 统计行数。-w 统计字数。选项说明:这些选项可以组合使用。输出列的顺序和数目不受选项的顺序和数目的影响,总是按下述顺序显示(每项最多一列):行数、字数、字节数、文件名,3.3 重定向和管道,一.I/O重定向概念(什么是I/O重定向?引入的目的?)二.输出重定向三.错误信息重定向四.输出重定向五.管道,主要内容和要求,一.I/O重定向概念,执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘;标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。I/O重定向涉及到文件标识符(File Descriptor)的概念,在 Linux 系统中,系统为每一个打开的文件指定一个文件标识符以便系统对文件进行跟踪,文件标识符是一个数字,不同数字代表不同的含义,默认情况下,系统占用了 3 个,分别是0标准输入(stdin),1 标准输出(stdout),2 标准错误(stderr),另外 3-9 是保留的标识符,可以把这些标识符指定成标准输入,输出或者错误作为临时连接。通常这样可以解决很多复杂的重定向请求。标准输入和标准输出指:标准输入通常指键盘的输入;标准输出通常指显示器的输出;标准错误通常也是定向到显示器,1.标准I./O,一.I/O重定向概念,2.标准I/O存在的问题,(1)输入数据从终端输入时,用户费了半天劲输入的数据只能用一次。下次再想用这些数据时就得重新输入。而且在终端上输入时,若输入有误修改起来不是很方便。(2)输出到终端屏幕上的信息只能看不能动。我们无法对此输出作更多处理,如将输出作为另一命令的输入进行进一步的处理等。为了解决上述问题,Linux系统为输入、输出的传送引入了另外两种机制,即输入/输出重定向和管道。重定向就是把标准的输入或者输出更改成其他的方式,二.输出重定向,输出重定向是将一个命令的输出重定向到一个文件中,而不是显示在屏幕上。例1:#ls/dev功能:列出/dev目录下的所有文件,在屏幕上输出结果。说明:这里/dev 就是作为命令 ls 的标准输入(从键盘输入),而打印在屏幕的结果就是标准输出(/dev 目录中的内容)。输出重定向示例:例2 把命令的标准输出重新定向到一个文件filename,而不是显示到屏幕上:#ls/dev 1filename说明:如果不指明文件标识符,系统默认的就是1,因此1可以省略,还可以这样:例3#cat/etc/passwdpasswordfile 说明:如果把上面例子中的“”改成“”,则表示把输出追加到文件passwordfile的末尾,如果文件不存在则创建它。如可以如下追加你内容:#ls/devpasswordfile,三.错误信息重定向,也可以把标准错误重新定向到文件。例如:lzqlocalhost lzq$ls/Linux 2 errfilelzqlocalhost lzq$cat errfilels:/Linux:没有那个文件或目录#这就是显示文件errfile的内容 显然/lzq目录下没有Linux子目录,通常会在显示器上报告一个错误信息,但由于把 2 标准错误(stderr)重新定向到了文件errfile,因此显示器没有错误信息,而信息写到了文件errfile里面,用命令cat errfile显示文件errfile的内容可知。,四.输入重定向,例1:lzqlocalhost lzq$grep search-word filename以上命令表示把文件filename设置成空,也就是清空文件内容,如果文件不存在,则创建一个空文件。,五.管道,管道可以将一系列的命令连接起来。第一个命令的输出通过管道传给第二个命令作为输入,而第二个命令的输出又作为第三个命令的输入,以此类推,最后一个命令的输出才会显示在屏幕上。管道使用的符号是“|”,例如:lzqlocalhost lzq$cat testfile|grep Low|wc l以上带管道的命令系列,指把cat命令的输出给grep命令;grep命令在输入信息中查找单词Low,grep命令的输出是文件testfile中所有包含单词Low的行,grep命令的输出又给wc命令统计输入的行数。假设testfile文件的内容如下:Low:go to schoolLow:go swimmingHigh:go home以上命令输出结果 2。,3.4 文字编辑器vi,主要内容和要求,一.了解vi编辑器的作用和功能二.熟悉vi的操作环境和切换方法三.掌握vi操作的方式(几个常用键)四.了解常用的快捷键,一.vi编辑器概述,vi编辑器是各种UNIX/Linux系统都会支持的全屏幕文字编辑器,与Windows下的文字编辑器相比,vi的使用要麻烦一些,但功能强大,并且是UNIX/Linux缺省编辑器。任何一位UNIX/Linux系统管理者都应该学会用vi。vi的操作环境是针对熟悉UNIX系统的使用者而设计,初学者必须多加练习。,二.vi的操作环境和切换方法,vi 共分为三种模式(1)命令模式:命令模式为vi的初始模式,可以使用“上下左右”按键来移动光标,您可以使用“删除字符”或“删除整行”来处理文档。在编辑模式或指令列模式中按【ESC】键可换回命令模式。(2)编辑模式:在命令模式中按下【i,I,o,O,a,A,r,R】等字母之后才会进入编辑模式。按下上述的字母时,在画面的左下方会出现【-INSERT-或-插入-】的字样,才可以做文字数据输入。(3)指令列模式:在命令模式当中,输入【:】或【/】就可以将光标移动到最底下那一行,进入指令列模式。在这个模式当中,可以存盘、结束vi、显示行号等操作。,二.vi的操作环境和切换方法,三.掌握vi操作的方式(几个常用键),进入vi开始编辑:$vi 新文件名例如:$vi newfile(打开名为newfile的旧文档,或新编一个名为newfile的新文档)刚开启vi时为命令模式,按下【i,I,o,O,a,A,r,R】等字母之后会进入编辑模式。编辑完毕按下【ESC】返回命令模式操作;在命令模式中按下【:】或【/】可进入指令列模式。在指令列模式中(有【:】提示时),可输入w(存档)、q(离开vi)、wq(存档并离开vi)、q!(不存档离开vi)、h或help(在线说明)、以及其它搜寻取代等指令。再按【ESC】回到命令模式。即::w-将编辑的文本存盘。:w!-若文件属性为“只读”时,强制存盘:q-退出 vi:q!-退出且不存盘。:wq-存盘并退出,演示,四.了解常用的快捷键,由于大量的编辑工作是通过光标来定位,vi编辑器提供了许多移动光标的方法,见表3-1。(教材P130)dd:删当前行 dnd:删n行 n-:光标向上移n行 n+:光标向下移n行,3.5 用户管理,主要内容和要求,一.了解Linux中用户的种类和属性二.掌握用户管理的常用命令(如创建、注册、注销、更改口令等三.掌握用户组(group)的设置方法四.了解用户和用户组的图形界面管理,一.用户的种类和属性,root超级用户,它是一个具有修改系统中任何文件权力的特别账号。一般用户-可根据需要建立,1.用户种类,2.用户属性,所有的Linux用户的基本信息都保存在/etc/passwd 文件中。例如:root:x:0:0 root:/root:/bin/bash文件的每一行定义一个用户的属性。每个用户的属性包括七个部分,各部分以“:”分割,基本格式是:用户名:口令(加密):用户标识号:组标识号:用户全称:用户目录:shall名称,二.用户的管理,1.创建新用户,超级用户可以创建新的用户账号,下面的命令将建立一个名为joe的新用户:#adduser joe#passwd joe 接着系统提示:Changing password for user joeNew UNIX password:接着您键入口令,不过您键入的口令是不会显示在屏幕上的Retype New Unix Password:重新键入刚才的口令接着系统提示:passwd:all authentication token updated successfully 成功更改口令注意:您要键入比较长的口令,并且英文字母和数字混编的口令。纯粹的数字组成的口令系统往往不接受,并提示“口令太简单”等信息。,二.用户的管理,2.用户注册,命令格式:Localhost login:joe 注册一般用户joe password:键入口令,3.用户注销,命令格式:logout,二.用户的管理,4.更改口令,一般用户更改口令的命令passwd,只能更改自己的口令;系统管理员用户更改口令的命令passwd username,可以更改指定用户的口令。,(1)一般用户更改口令 一般情况下,用户在第一次注册时需要立即修改自己的口令,也就是修改系统管理员给用户设置的初始口令。刚才系统管理员用户下创建了一般用户joe,接下来我们利用注销命令logout注销当前root管理员用户,注册用户joe。注意(1)出于安全考虑,您键入的口令是不会显示在屏幕上的(2)一个好的口令字应该是至少6个字母长,其中包含了字母和数字,并且应该经常修改。,演示,二.用户的管理,(2)系统管理员更改口令 可以通过配置程序来设定口令的安全策略。例如,可以以root身份启动linuxconf实用程序来进行账号配置与变更。如果您忘记了超级用户的口令,就只能用Linux的启动盘启动系统,然后找到硬盘上的Linux分区,再编辑/etc/passwd文件,在此文件中,删除root用户被加密后的口令。root:x:0:0:root:/root:/bin/bash 如果一般用户(非root)忘记了自己的口令,那就很容易解决,root能修改任何用户的口令。命令如下:passwd joe 用户名,二.用户的管理,5.删除用户,命令格式:userdel 用户名,6.察看和修改用户资料,要得到一个用户的详细信息,除了察看passwd文件外,还可以使用命令finger。命令格式:finger 用户名,7.su命令改变身份,用户可以使用su命令来改变身份。可以从普通用户变为超级用户,也可以从超级用户变成普通用户。普通用户使用这个命令时必须有超级用户或其他用户的口令。如要恢复到原身份,可以输入exit。如果是普通用户,输入命令su 后,再输入正确的密码,用户就切换成root 用户。使用这个命令,也可以变成其他用户,此时