【文档说明】Linux基本操作的实验报告课件.ppt,共(86)页,362.012 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-3052.html
以下为本文档部分文字说明:
Linux基本操作(一)-------Linux文件系统及目录和文件命令的使用实验二:Linux基本操作本讲主要内容与要求§3.1文件系统和目录结构§3.2目录和文件命令1.掌握Linux命令的基本格式和基本使用方法2.掌握Linux常用的目录和文件命令1.了解Linux的虚拟
文件系统(VFS);2.理解Linux文件目录的组织方式及常见的文件目录及作用一虚拟文件系统(VFS)Linux系统的一个重要特征就是支持多种不同的文件系统(1)Linux自己的文件系统ext2fs是非常先进的,最多可以支持到
2T的硬盘,文件名长度的限制为255个字符。(2)Linux可以将这些文件系统直接装载(mount)为系统的一个目录。(3)实现这一功能的关键是Linux的提供的虚拟文件系统(VirtualFileSystem,VFS)
Ext2(3)LinuxExtended-2minixLinux第一个文件系统msdos最初的FAT文件系统vfat其他FAT文件系统(长文件名)ntfsWindowsNT(XP)hpftOS/2高性能文
件系统hfsAppleMacintosh文件系统nfs网络文件系统ncpfsNovellNetWare文件系统affsAmiga快速文件系统Linux支持多种不同的文件系统§3.1文件系统和目录结构一虚拟文件系统(VFS)用户进程系统调用接口V
FSEXTEXT2DOSFS缓冲区缓存设备驱动程序磁盘控制器I/O请求硬件Linux核心文件系统调用二Linux文件目录组织与其它操作系统不同,Linux不是以磁盘或分区来组织文件系统的文件和目录,而是将所有外存设备和硬件设备构成一个统一的文件系
统目录树。linux使用标准的目录结构,在安装的时候,安装程序就已经为用户创建了文件系统和完整而固定的目录组成形式,并指定了每个目录的作用和其中的文件类型。下面介绍一下在Linux系统下的目录。(1).根目录/根目录
一般不包含任何文件,所有其他文件和目录在根目录的子目录中,主要的子目录有:/bin——bin是Binary的缩写。这个目录存放着用户经常使用的命令。/boot——这里存放的是启动Linux时使用的一些核心文件
,包括一些链接文件以及镜像文件。1.Linux的文件系统和目录结构二Linux文件目录组织/dev——dev是Device(设备)的缩写。该目录下存放的是Linux的外部设备,在Linux中访问设备的方
式和访问文件的方式是相同的。/etc——这个目录用来存放所有的系统管理所需要的配置文件和子目录。/home——用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。/lib——这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windo
ws里的DLL文件。几乎所有的应用程序都需要用到这些共享库。/lost+found——一般情况下是空的,当系统非法关机后,这里就存放了一些文件。/mnt——在这里面有四个目录,系统提供这些目录是为了让用户临时挂载别的文件系统的,我们可以将光驱
挂载在/mnt/cdrom上,然后进入该目录就可以查看光驱里的内容了。/proc——这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件。/root——该目录为系
统管理员,也称作超级权限者的用户主目录。/sbin——s就是SuperUser的意思,存放的是系统管理员使用的系统管理程序。/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——存放一些常用的动态链接共享库和静态档案库;/u
sr/local——这是提供给一般用户的/usr目录,在这里安装一般的应用软件;/usr/man——帮助文档所在的目录;/usr/src——Linux开放的源代码。(3)./var目录/var这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改
的目录放在这个目录下。包括各种日志文件。如果你想做一个网站,你也会用到/var/www这个目录。1.Linux的文件系统和目录结构二Linux文件目录组织(1)Linux无分区,整个文件系统只有一个根目录。(2)Linux中,目录也是一个文件(3)Linux中,所有设备都看作一个文件,放在/dev
目录下。如hda1(第一块硬盘第一个分区)(4)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-tvfat/dev/hda1/mnt/winc#mount-tmsdos/dev/fd0/mnt/floppy#mount-tiso966
0/dev/cdrom/mnt/cdrom现在就可以进入/mnt/winc等目录读写这些文件系统了。先建立挂载点(必须是目录)挂载一.Linux目录管理有关命令§3.2目录和文件命令命令一般格式:命令名[-选项][参数]对每个命令掌握:(1)命令名(2)命令功能(3)命令格式(4)常用参数
如何查看命令帮助?(1)Man命令名(2)命令名–help(内置命令)1.pwd---显示当前工作目录的绝对路径格式:pwd一.Linux目录管理有关命令2.cd---改变当前工作目录命令格式:cd[目录名]注:与Dos的c
d命令类似;当前目录/绝对卢静/相对路径3.Ls---列出文件目录的信息命令格式:ls[可选项][子目录名][文件名]注:与Dos的cd命令类似;当前目录/绝对路径/相对路径可选项:-a;列出全部的文件,包括那些隐藏文件.-l:按长格式列目录,输出信息包括文件目录,文件的权限、所
属用户组、文件建立和修改的时间等信息。-d:只列出子目录信息。-o:用不同颜色显示各种类型的文件,蓝色表示子目录、绿色表示可执行文件、红色表示压缩文件、浅蓝色表示连接文件、灰色表示其它文件。一.Linux目录管理有关命令4.mkdir---建立目录命令格式:m
kdir[可选项][目录名]可选项:-m:设置目录的存取权限,这也可以在目录建立后用命令chmod来设定。-p:如果连续建立两个以上的目录,例如原来只有/usr/srcp目录,可以输入:mkdir–p/usr/
inin/mors/cs。举例:(1)在当前目录下创建temp目录;(2)在当前目录下创建多个目录;(3)创建一个多级目录一.Linux目录管理有关命令5.rmdir---删除目录本命令用于删除指定的一个或多个目录,必须保证要删除的目录中没有任何文件。
命令格式: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某文件可列出该文件的三组访问权限file1rwxurwxgrw-or--二.更改目录或文件访问权限的命令1.
Ls---查看访问权限格式:ls–l文件名#ls-lsobsrc.tgz-rw-r--r--1rootroot483997Ju1l517:3lsobsrc.tgz文件类型权限链接数文件属主文件组文件大小时间文件名确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重
新设定不同的访问权限。也可以利用chown命令来更改某个文件或目录的所有者。利用chgrp命令来更改某个文件或目录的用户组。二.更改目录或文件访问权限的命令2.chmod---改变文件或目录的访问权限命令格式:chmod[可选项][权限][目录或文件名]可选项:-v:报告权限更改信息;-
c:每次发生权限的实质性更改时给出一条信息。(1)文字设定法格式:chmod[who][+|-|=][mode][文件名|目录名]who:u—userg—groupo—othersa—all+添加-取消=赋予给定权限并取
消其他所有权限例如:$chmodg+r,o+rexample二.更改目录或文件访问权限的命令(2)数字设定法用八进制数0~7来表示一组“rwx‖权限,如6表示rw-首先规定0—表示没有权限;1—表示可执行权限;2—表示写权限;4—表示可读权限然后将四个数相加,其指范围为
0~7例如:#chmod644temp1.txt相当于chmodu=rw,g=r,o=rtemp1.txt0---1--x2-w-3-wx4r--5r-x6rw-7rwx思考:(1)将temp1.txt属主的w权限去掉(2)将
temp1.txt文件权限设为-wxrw--w-二.更改目录或文件访问权限的命令3.chgrp命令----改变文件或目录所属的组。命令格式:chgrp[选项]groupfilename选项:-R:递归式地改变指定目录及其下的所有子目录和文件的属组例:命令
:$chgrp-Rbook/opt/local/book功能:改变/opt/local/book/及其子目录下的所有文件的属组为book。二.更改目录或文件访问权限的命令4.chown----更改某个文件或目录的属主
和属组命令格式:chown[选项]文件或目录的新属主[.文件或目录所在的新组][文件名|目录]选项:-R:递归地改变指定目录及其下的所有目录和文件的拥有者-v:显示chown命令所作的工作。例1:把文件shiyan.c的所有者改为wa
ng。$chownwangshiyan.c例2:把目录/his及其下的所有文件和子目录的属主改成wang,属组改成users。$chown-Rwang.users/his思考:把三.显示文件内容的命令1.ca
t----显示,新建,连接文件(1)功能1:新建文件例1:$cat>test/file1.txtIloveLinux!<Ctrl+D>上例中的“>‖表示Linux的输出重定向。我们从键盘上输入一行字母,存入/t
est/file1.txt文件。三.显示文件内容的命令1.cat----显示,新建,连接文件(2)功能2:在标准输出上显示文件格式:cat[-选项]文件例2:$catfile1.txt(在屏幕上显示file1.txt文件的内容)选项:-v用一种特殊形式显示控制字符,LFD与TAB除外
。加了-v选项后,-T和-E选项将起作用。-T将TAB显示为“ùI‖。该选项需要与-v选项一起使用。即如果没有使用-v选项,则这个选项将被忽略。-E在每行的末尾显示一个$符。该选项需要与-v选项一起使用。-A等于-v
TE。-b系统会在文件每一非空白行前加入编号,以便识别。三.显示文件内容的命令1.cat----显示,新建,连接文件(3)功能3:连接两个或多个文件例3:$cat>test/file2.txtLinuxisverygood!<Ctrl+D>-------先建文件file2.t
xt$catfile1file2>file3------将file1和file2合并到file3$catfile3-----显示file3文件内容(注意观察结果)三.显示文件内容的命令2.more---在终端屏幕按屏显示文本文件。命令
格式:more[-选项]文件说明:该命令一次显示一屏文本,显示满之后,停下来,并在终端底部打印出--More--,系统还将同时显示出已显示文本占全部文本的百分比,若要继续显示,按回车或空格键即可。选项-p显示下一屏之前先清屏。-c先从最顶端显示,在清除每行后
剩余的旧内容,可使显示加快。-d在每屏的底部显示更友好的提示信息:--More--(XX%)[Pressspacetocontiune,‗q‘toquit.]而且若用户输入了-个错误命令则显示出错信息,而不是简单地鸣响终端。三.显示文件内容的命令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.more3.lessless命令的功能几乎和more命令一样,也是用来按页显示文件,不同之处在于less命令在显示文件时允许用户既可以向前又可以向后翻阅文件。三
.显示文件内容的命令4.Head---显示文件或标准输入的头几行命令格式:head[-n]文件说明:该命令显示每个指定文件的前面n行。如果没有给出n值,缺省设置为10。如果没有指定文件,head就从标准输入读取。5。tail---显示文件的尾部命令格式:tail[+/-num][参数]文件说明:
该命令显示一个文件的指定内容。它把指定文件的指定显示范围内的内容显示在标准输出上。本命令特别适用于阅读一个有用信息在其尾部的大文件,如系统信息中的出错记录文件(/var/log/message)。三.显示文件内容的命令5。tail选项:+num从第num行以后开始显示。-num从距文件尾n
um行处开始显示。如果省略num参数,系统默认值为10。参数l:以文本行为num的计数单位。与参数选项+num或-num选项同时使用时,num表示要显示的文本行行数。参数c:以字节为num的计数单位。与参数选项+num或-num选项同时使用时,num表示要显示的字符数。注:l、c选项可以省略
,系统默认值为l,即按行计数。例如:$tail-4example----将显示文件example的最后4行。四.文件管理命令1.touch---功能:将文件的修改时间改为当前时间,如果文件不存在则建立一
个空文件。命令格式:touch[-选项]文件例1:$touchexample在制定路径下建立一个空文件example。$ls–lexample-rw-rw-r--1rootroot011月2710:23example$touche
xample$ls–lexample-rw-rw-r--1rootroot011月2710:25example四.文件管理命令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/t
mp1中的所有文件移到当前目录(用“.‖表示)中:$mv/test/tmp1/*.$mv/test/tmp1.(将/test中的temp1目录以及它的下属移到当前目录)例2:将文件file1.txt重命名为myfile.txt$mvfile1.txtmyfile.txt四.文件管理命令4.rm-
--功能:删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除命令格式:rm[选项]文件……选项:-f忽略不存在的文件,从不给出提示。-r指示rm将参数中列出的全部目录和子目录均递归地删除。-i进行交互式删除。例:$rm-ites
texampleRemovetest?nRemoveexample?y链接文件的概念链接文件简介链接文件实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称。对于这个新的文件名,我们可以为之指定不同的访
问权限,以控制对信息的共享和安全性的问题。如果链接指向目录,用户就可以利用该链接直接进入被链接的目录而不用输入一长串的路径名。链接文件的分类硬链接:复制文件i-node软(符号)链接:仅仅是指向目的文件的路径,类似于Windows下的快捷方式链
接文件的概念硬链接和软链接的比较硬链接链接文件和被链接文件必须位于同一个文件系统内不能建立指向目录的硬链接软链接链接文件和被链接文件可以位于不同文件系统可以建立指向目录的软链接ln命令创建硬链接ln<被链接文件><链接文件名>创建软链接ln-s<被链接文件><链
接文件名>使用方法对目标文件创建硬链接:$lnsomefilehardlinkfile对目标文件创建软链接:$ln-ssomefilesoftlinkfile对目标目录创建软链接:$ln-ssomedi
rsoftlinkfile硬链接的使用两个文件名指向的是硬盘上的同一个存储空间,对两个文件中的任何一个的内容进行修改都会影响到另一个文件,这种链接关系称为硬链接。首先查看一下目录中的文件情况:#ls-1-rwxr-xr-x1Mikeusers58Jun2110:05fil
el#catfile1Thisisfilel.建立文件filel的硬链接文件file2:#lnfilelfile2#catfile2Thisisfilel.#ls-l-rwxr-xr-x2Mikeusers58Jun21
10:05filel-rwxf-xr-x2Mikeusers58Jun2110:07file2硬链接的使用可以看出,file2和file1的大小相同,内容相同。再看详细信息的第2列,原来file1的链接数是1,说明这一块硬盘存储空间只有file1一个文件
指向它,而建立起file1和file2的硬链接关系之后,这块硬盘空间就有file1和file2两个文件同时指向它,所以file1和file2的链接数就都变为了2.因为两个文件指向一块硬盘空间,所以如果现在修改file2的内容为“Thisisfile2.”,再查看file1的内
容,就会有:#catfile1Thisisfile2硬链接的使用如果删除其中的一个文件(不管是哪一个),就是删除了该文件和硬盘空间的指向关系,该硬盘空间不会释放,另外一个文件的内容也不会发生改变,但是目录详细信息中的链接数会减少。#rm-ffile1#ls–1rw
xr-xr-x1Mikeusers58Jun2110:07file2#catfile2Thisisfile2.软链接的使用符号链接(也称软链接),是指将一个文件指向另外一个文件的文件名。这种符号链接的关系由In-s命令行来建立。首先查看一下目录中的文件信息:#ls-l-rwxrxr-
x1Mikeusers58Jun2110:05file1#catfile1Thisisfilel.建立文件file1的符号链接文件file2:#ln-sfilelfile2软链接的使用该命令产生一个新的文件file2,
它和己经存在的文件file1建立起符号链接关系:#catfile2Thisisfilel.#ls-l-rwxr-xr-x2Mikeusers58Jun2110:05filellrwxrwxrwx1Mik
eusers5Jun2110:07file2->filel可以看出file2这个文件很小,因为它只是记录了要指向的文件名而己,注意那个从文件file2指向文件file1的指针。软链接的使用为什么cat命令显示的file2的内容与file1相同
呢?因为cat命令在寻找file2的内容时,发现file2是一个符号链接文件,就根据file2记录的文件名找到了file1文件,然后将filel的内容显示出来。明白了file1和file2的符号链接关系,就可以理解为什么file1的链接数仍然为1,这是因
为file1指向的硬盘空间仍然只有file1一个文件在指向。如果现在删除了file2,对file1并不产生任何影响;而如果删除了file1,那么file2就因无法找到文件名称为file1的文件而成为死链接。软链接的使用#rm-ffile1#ls-llrwxrwxr
wx1Mikeusers5Jun2110:07file2->filel#catfile2cat:file2:Nosuchfileordirectory软链接的使用如果[链接名]是一个目录名(已存在),系统将在该目录之下建立一个或多个与“源文件”同名
的链接文件。如果[链接名]为一个已存在的文件,用户将被告知该文件已存在且不进行链接。例1:$ln-slunch/home/xu用户为当前目录下的文件lunch,在/home/xu下创建了一个符号链接。如果删除了文件lunch,则目录/home/xu
/下的lunch文件(同名文件)也不存在。四.文件管理命令5.ln---功能:在文件之间创建链接,实际上是给系统中已有的某个文件指定另外一个别名;对于这个新的文件名,我们可以为它指定不同的访问权限,以控制对信息的共享和安全性的问题。命令格式:ln[选项]源文件[
链接名]ln[选项]源目录目录链接:(1)硬链接:建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接.而对符号链接,则不存在这个问题。默认情况下,ln产生硬链接。在硬链接的情况下,参数中的“源文件”被链接至[链接名]。如果[链接名]是一个目录名,系统将
在该目录之下建立一个或多个与“源文件”同名的链接文件,链接文件和被链接文件的内容完全相同。如果[链接名]为一个已存在的文件,用户将被告知该文件已存在且不进行链接。四.文件管理命令如果给ln命令加上-s选项,则建立符号链接。如果[链接名]已经存在但不是目录,将不做链接。[链接
名]可以是任何一个文件名(可包含路径),也可以是一个目录,并且允许它与“源文件”不在同一个文件系统中。如果[链接名]是一个已经存在的目录,系统将在该目录下建立一个或多个与“目标”同名的文件,此新建的文件实际上是指向“源文件”的符号链接文件。例1:将文件file2硬链接为file5$ln
file2file5$rmfile2注意:即使删除了硬链接的原文件file2,file5仍然存在且可以对其正常操作和访问。通常使用硬链接实现不同目录,甚至不同用户之间的文件共享。五.文件内容统计命令wc----功能:统计指定文件中的字节数、字
数、行数,并将统计结果显示输出命令格式:wc[选项]文件……说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。选项:-c统计
字节数。-l统计行数。-w统计字数。选项说明:这些选项可以组合使用。输出列的顺序和数目不受选项的顺序和数目的影响,总是按下述顺序显示(每项最多一列):行数、字数、字节数、文件名§3.3重定向和管道一.I/O重定向概念(什么是I/O重定向?引入的目的?)二.输出重定向三.错误信息
重定向四.输出重定向五.管道主要内容和要求一.I/O重定向概念执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘;标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕。进程将从标准输入文件中得到输入数
据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。I/O重定向涉及到文件标识符(FileDescriptor)的概念,在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/dev1>filename说明:如果
不指明文件标识符,系统默认的就是1,因此1可以省略,还可以这样:例3#cat/etc/passwd>passwordfile说明:如果把上面例子中的“>‖改成“>>‖,则表示把输出追加到文件passwordfile的末尾,如果文件不存在则创建它。如可以如下追加你内容:#l
s/dev>>passwordfile三.错误信息重定向也可以把标准错误重新定向到文件。例如:[lzqlocalhostlzq]$ls/Linux2>errfile[lzqlocalhostlzq]$caterrfilel
s:/Linux:没有那个文件或目录#这就是显示文件errfile的内容显然/lzq目录下没有Linux子目录,通常会在显示器上报告一个错误信息,但由于把2标准错误(stderr)重新定向到了文件errfile,因此显示
器没有错误信息,而信息写到了文件errfile里面,用命令caterrfile显示文件errfile的内容可知。四.输入重定向例1:[lzqlocalhostlzq]$grepsearch-word<filename一般来说grep命令在给定文件中搜索字符串,以上命令把文件filename作
为grep命令的标准输入,而不是从键盘输入。例2:[lzqlocalhostlzq]$wctestfile3352testfile[lzqlocalhostlzq]$wc<testfile3352以上命令是把文件testfile作为wc命令的标准输入,而不是从键盘输入。例3:#
>filename以上命令表示把文件filename设置成空,也就是清空文件内容,如果文件不存在,则创建一个空文件。五.管道管道可以将一系列的命令连接起来。第一个命令的输出通过管道传给第二个命令作为输入,而第二个命令的输出
又作为第三个命令的输入,以此类推,最后一个命令的输出才会显示在屏幕上。管道使用的符号是“|‖,例如:[lzqlocalhostlzq]$cattestfile|grep"Low"|wc–l以上带管道的命令系
列,指把cat命令的输出给grep命令;grep命令在输入信息中查找单词Low,grep命令的输出是文件testfile中所有包含单词Low的行,grep命令的输出又给wc命令统计输入的行数。假设testfile文件的内容如下:Low:gotoschoolLow:goswimmi
ngHigh:gohome以上命令输出结果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的操作环境和切换方法命令模式编辑模式指令列模式按「i,I,o,O,a,A,r,R」按「:」或「/」按ESC三.掌握vi操作的方式(几个常用键)进入vi开始编辑:$vi新文件名例如
:$vinewfile(打开名为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)的设置方法四.了解用户和用户组的图形界面管理一.用户的种类和属性(1)root超级用户,它是
一个具有修改系统中任何文件权力的特别账号。(2)一般用户---可根据需要建立1.用户种类2.用户属性所有的Linux用户的基本信息都保存在/etc/passwd文件中。例如:root:x:0:0root:/root:/bin/bas
h……文件的每一行定义一个用户的属性。每个用户的属性包括七个部分,各部分以“:”分割,基本格式是:用户名:口令(加密):用户标识号:组标识号:用户全称:用户目录:shall名称二.用户的管理1.创建新用户超级用户可以创建新的用户账号,下面的命令将
建立一个名为joe的新用户:#adduserjoe#passwdjoe接着系统提示:ChangingpasswordforuserjoeNewUNIXpassword:[接着您键入口令,不过您键入的口令是不会显示在屏幕上的]RetypeNewUnixPassword:[
重新键入刚才的口令]接着系统提示:passwd:allauthenticationtokenupdatedsuccessfully[成功更改口令]注意:您要键入比较长的口令,并且英文字母和数字混编的口令。纯粹的数字组成的口令系统往往不接受,并提示“口令太简单”等信息。二.用户的管理2.用户注册命令
格式:Localhostlogin: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能修改任何用户的口令。命令如下:passwdjoe[用户名]二.用户的管理5.删除用户命令格式:userd
el用户名6.察看和修改用户资料要得到一个用户的详细信息,除了察看passwd文件外,还可以使用命令finger。命令格式:finger用户名7.su命令改变身份用户可以使用su命令来改变身份。可以从普通用户变为超级用户,也可以从超级用户变成普通用户。普通用户使用这个命令时必须有超
级用户或其他用户的口令。如要恢复到原身份,可以输入exit。如果是普通用户,输入命令su后,再输入正确的密码,用户就切换成root用户。使用这个命令,也可以变成其他用户,此时需要在su命令后加上用户名,这时需要知道其他用户的密码。8.Who或w显示当前登录到
系统上的用户演示三.用户组(group)的设置1.新建一个组要建立一个新的组,可直接编辑group文件,在其中加入一个新行。密码处空缺,组编号必须与其它组不同。也可用命令groupadd,格式如下:groupadd-g组编号组名称例如:增加一
个组编号为6,组名temp的组。groupadd-g6temp2.删除一个组方法一:将/etc/group文件中相应行删除方法二:groupdel组名称3.密码操作设置密码的命令格式:gpasswd组名称删除密码的命令格式:gpasswd
-r组名称gpasswd-a用户名组名称4.填加用户到组5、查看用户所在组groups用户名6、从组中删除用户gpasswd-d用户名组名称四.用户和用户组的图形界面管理―主菜单”“系统设置”“用户和群组”进入用户和群组
管理界面选择用户后,点击属性出现图3-15,可以设置用户各个属性。§3.6查询系统主要内容和要求一.了解Linux在线手册的使用二.掌握常用的几个联机帮助命令man,find,locate,grep等概述Linux系统提供了大量命令和许多实用工具软
件,本书由于篇幅的关系,主要介绍了Redhat的一些常用命令和实用软件。您可以使用系统提供的联机帮助手册获取更多的信息。Redhat系统的联机手册中有大量的可用信息,根据其内容分成若干节。在Linux联机帮助手册上,几乎每个命令都有说明。因此,当用户对于Redhat
上的一个命令不会用或是不太了解时,就请使用联机帮助命令。Man---查询每个命令的使用方法find---在目录树里查找文件Locate---查询某个文件的位置grep---搜索包含特定字符串的文件另外还有一些其他的帮助系统如
使用Shell查询命令help,使用whereis查询某个命令的位置等。一.在线手册如果不清楚某个命令的具体使用方法或困惑于某条出错信息,可通过man命令来查看相关命令的参考手册1.man的基本使用格式:man命令名常用键:[q]退出帮助信息到命令提示符下。[Ent
er]一行行地下翻。[Space]下翻一页。[b]上翻一页。[/]后跟一个字符串和[Enter]来查找字符串。[n]寻找上一次查找的下一个匹配。一.在线手册2.man的其他使用当您想找一个命令来做某件事,而不知道该用什么命令甚
至不清楚有没有这样的命令时,可使用参数-k,使用k可以在帮助信息中查找字符串。前提:但是只有创建了makewhatis数据库,才能使用上述命令。对于Redhat这是由晚上的cronjob做的。如果您的系统晚上不运行,这个数据库就不会创建。如果您想尝试下面的例
子但没有成功,这时您可以作为root用户执行以下命令:#/etc/cron.weekly/makewhatis.cron一.在线手册Name--程序名。如果一些程序密切相关的话,可能放在一起。Synopsis---命令的格式,显示所有的选项和参数。D
escription---程序功能的描述。Options---所有选项的清单和他们的描述。SeeAlso---如果有的话,列出和这个程序相关的其他程序。Files---如果有的话,列出这个程序使用或修
改的文件。History---如果有的话,列出这个程序开发的重要里程碑。Authors---写这个程序的人。3.阅读帮助信息二.搜索文件及目录1.find功能:在文件系统中搜索指定的文件或目录命令格式:fin
dpath[...]expression[...]简单地理解这个命令就是您告诉find命令从哪里开始搜索(就是path[...]部分),然后告诉它按什么标准来搜索(就是expression[...]部分)。假设您的目录下有一个叫做
garbage的目录,里面有一个文件叫做foobar。可以输入find.–namefoobar来搜索一个叫foobar的文件。expression-namefilename查找指定名称的文件。-inamefilename同-name,查找指定名称的文件
,但-iname会忽略文件的大小写。二.搜索文件及目录-userusername查找指定用户名的文件。-groupname查找查找指定组名的文件。-gidn同-groupname,查找gid是n的文件。即用groupID来查找某一组名的文件。
-pidn查找进程ID是n的文件。-mount,-xdev只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件。-print显示查找的结果。-sizen查找大小为n块的文件,一块等于512字节。符号“+n‖表示查找大小大于n块的文
件;符号“nc‖表示查找大小为n个字符的文件,同样的也有符号“+nc‖。其它略二.搜索文件及目录注意1如果path是空字串则使用当前路径,如果expression是空字串则使用-print为预设expression。例如要查找当前目录下所有以.bak结尾的文件
,并删除它们,则执行以下命令:$find.-name"*.bak"-execrm{}\;或$find-name"*.bak"-execrm{}\;注意,这里*.bak必须要用单引号或者双引号引起来,或者可以写成\*.bak。rm后用了个大括号表示查找到的
文件名,最后必须以反斜杠和一个分号结尾。注意2可以使用逻辑将运算符-and,-not,-or(与,非,或)来组合表达式:expression1-and(或–or)expression2,-notexpression1二.
搜索文件及目录2.locate功能:在不知道一个命令和文件的全名,但想找到它,可以用locate命令来找到它.命令格式:locatefilename前提locate让使用者可以很快速的搜寻文件系统内是否有指定的文件。其方法是先建立一个包括系统内所有文件名称及路径
的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入文件系统之中了。通常这个数据库是在晚上由一个cronjob创建的。但如果您的计算机不是一直运行Linux,您可以以root身份执行命令:#/etc/cron.weekly/makewhatis.cron执行完这个
命令后必须重启动系统,才能使locate正常工作。二.搜索文件及目录举例$locateswaponlocate不仅返回文件名,而且返回目录名。所以如果您有一个swapon目录,它将返回这个目录的所有文件。$locate-n50foobar查找所有叫foobar的文件,但最多只显示50
个二.搜索文件及目录主要参数-U建立数据库,-u会由根目录开始,-U则可以指定开始的位置。-e将指定的目录排除在寻找的范围之外。-l如果是1,则启动安全模式。在安全模式下,使用者不会看到权限无法看到的文件。这会使速度减慢,因为locate必须从实际的文件系统中取得文件的权限资料。-
f将特定的文件系统排除在外,例如我们没有到理由把proc文件系统中的文件放在数据库中。-q安静模式,不会显示任何错误信息。-n最多显示n个输出。三.搜索文件中包含特定字符串grep命令功能:在文件内搜索特定字符串,或显示包含指定文本
模式的文件名。命令格式:grep[参数][正则表达式][文件名1,文件名2,……]基本示例例1:假定您有一个名为employee的住址列表文件,内容如下:Zhang,San123ChangjiangSt.Zheng
zhou,ChinaLi,Si456HuangheRd.Baoding,China如果要提取所有住在ChangjiangStreet的人员的地址,请输入:命令:$grepChangjiangemployee结果:grep命令列出了employee中所有包含字符串Chang
jiang的行(P142见图3-20)。三.搜索文件中包含特定字符串参数-b在输出的每一行前,显示包含匹配字符串的行,距离文件开头有多少个字节。-c只显示匹配行的数量。-i比较时不区分大小写。-L显示首次匹配串所在的文件名并用换行符将其隔开。当在某文件中多次出现
匹配串时,不重复显示此文件名。-n在输出前加上匹配串所在行的行号(文件首行行号为1)。-V只显示不包含匹配串的行。-x只显示整行严格匹配的行。-f查找检索关键字文件中的字符串。三.搜索文件中包含特定字符串正则表达式\忽略正则表达式中特殊字符的原有含义。^匹配正则表达式的开始行。$匹配正则表
达式的结束行。\<从匹配正则表达式的行开始。\>到匹配正则表达式的行结束。[]单个字符;如[A]即A符合要求。[-]范围;如[A-Z]即A,B,C一直到Z都符合要求。.所有的单个字符。*所有字符,长度可以
为0。三.搜索文件中包含特定字符串grep中重定向和管道的应用利用管道符,grep可以结合其他命令从而实现复杂而功能强大的命令。例2:grep命令中的管道的应用(见图3-22)。$catemployee|grepChangjiang|wc-l例3:如何查看一个目录里的某
些有共同特性的文件。三.搜索文件中包含特定字符串例4:下面例子以etcdir文件为检索源文件,该文件是/etc目录的目录树,我们利用输出重定向把命令tree/etc的结果输出到当前目录的etcdir文件中。
下面命令用于创建etcdir文件。(1)检索以0~9开头的行。grep^[0-9]etcdir138directories,1230files三.搜索文件中包含特定字符串(2)检索含有“linux‖字符串的文本行,并显示这
些文本行的行号:grep–nlinuxetcdir(4)用户可以在命令行上用Shell特殊字符来生成将要搜索的文件名列表。在下面的例子中,特殊字符“*”用来生成一个文件名列表。该命令将搜索出当前目录下所有文件中与模式匹配的行。例如:grep–ng*et
cdir搜索etcdir源文件中特定的模式,您可以用“g*‖来指定文件名列表。特殊字符在搜索一组指定的文件时非常有用。搜索etcdir源文件中所有包含g开头关键字的行。