《Linux文件系统管理(ppt文档)》由会员分享,可在线阅读,更多相关《Linux文件系统管理(ppt文档)(75页珍藏版)》请在金锄头文库上搜索。
1、Linux的文件系统mmWindowsFAT16,FAT32,NTFSWindowsFAT16,FAT32,NTFSm传统UNIX:UFS(UnixFileSystem)mBSD文件系统FFS(FastFileSystem)mProcFileSystem:只存在于内存中mLinuxFileSystemISO9660标准CDROM文件系统,允许长文件名ext2(isfirstintroducedinkernel2.0.x)reiserfs(isfirstintroducedinkernel2.2.x)ext3(isfirstintroducedinkernel2.4.x,defaultinRed
2、Hatnow)xfs(fromSGI)Jfs(fromIBM)m嵌入式小型文件系统mCRAMFSmJFFS2Linux系统兼容的文件系统UMSDOS:Linux下的MSDOS文件系统驱动。支持长文件名、所有者。MSDOS:支持8+3文件格式。VFAT:Windows下使用的DOS文件系统,支持长文件名HPFT:高性能文件系统,。SMB:支持SMB的网络操作系统。NTFS:类类 型型说说 明明MinuxMinux文件系文件系统统(文件名的文件名的长长度被限制在度被限制在30个字符以内个字符以内)extLinux文件系文件系统统的早期版本,的早期版本,现现已不再使用已不再使用ext2(ext3)标
3、标准准Linux文件系文件系统统,支持,支持长长文件名和大文件尺寸文件名和大文件尺寸xiafXiaf文件系文件系统统msdos对应对应于于MS-DOS分区的文件系分区的文件系统统(16位位)vfat对应对应于于Windows分区的文件系分区的文件系统统(32位位)类型说明proc由操作系由操作系统统使用,使用,对应对应于于进进程程nfs对应对应于来自于来自远远程系程系统统挂装分区的挂装分区的NFS(Network File System)文件系文件系统统swapLinux的的swap数据交数据交换换分区或者分区或者swap文件文件iso9660挂装光挂装光盘盘的文件系的文件系统统2.1.2Li
4、nux文件介绍文件与文件名文件名长度限制在255个字符范围内。文件的类型普通文件文本文件二进制文件目录文件:用于管理和组织系统中的大量文件设备文件:Linux将每一个I/O设备都看成是一个文件。Linux目录介绍树型目录结构工作目录与用户主目录和路径用户登录后,总处于某个目录中,称为工作目录或者当前目录。用户主目录是系统管理员增加用户时建立的。用户可以通过“”引用自己的主目录。路径:指从树型目录的某个目录层次到某个文件的一条道路。linux文件系统目录布局TocomplywithFSSTND(FileSystemSTaNDard):/first of mount point in linux/
5、etc - keep linux default configuration/boot - keep important linux booting files(can be a separate file system)/bin - Essential command binaries for both root and ord. users /sbin - Essential system binaries for administrator /dev - keep all device files/usr - keep all user binary and X library /hom
6、e - keep user home directory/proc - is pseudo file system for tracking running process and state of linux system/var - keeping mail, log file and printer spooling/lib - contain shared library that is required by system program/tmp - contain system temporary file/opt - Add-on application software pac
7、kages UNIX文件系统文件类型DirectorycatalogueoffilenameNormalfileformatofdatasourcefiletextfileSymboliclinkapointertoanotherfileSpecialfileusefordevicecontrollerinkernelNamedpipecommunicationchannelwhichcanbeusedbyserveralprocesses(maybeirrelevant)inordertoexchangedata硬链接(HardLink)rootlocalhostlink#ls-ltotal
8、1-rw-r-r-1rootroot667Oct1513:39arootlocalhostlink#lnabrootlocalhostlink#ls-ltotal2-rw-r-r-2rootroot667Oct1513:39a-rw-r-r-2rootroot667Oct1513:39brootlocalhostlink#rmarm:removea?yrootlocalhostlink#ls-ltotal1-rw-r-r-1rootroot667Oct1513:39binode/root/linkab硬链接(HardLink)rootlocalhostlink#ls-ltotal1-rw-r-
9、r-1rootroot667Oct1513:39arootlocalhostlink#lnabrootlocalhostlink#ls-ltotal2-rw-r-r-2rootroot667Oct1513:39a-rw-r-r-2rootroot667Oct1513:39brootlocalhostlink#rmarm:removea?yrootlocalhostlink#ls-ltotal1-rw-r-r-1rootroot667Oct1513:39binode/root/linkab符号链接(Symboliclink)rootlocalhostsymlink#ls-ltotal1-rw-r
10、-r-1rootroot667Oct1513:39arootlocalhostsymlink#ln-sabrootlocalhostsymlink#ls-ltotal1-rw-r-r-1rootroot667Oct1513:39alrwxrwxrwx1rootroot1Oct1514:20b-arootlocalhostyy#rmarm:removea?yrootlocalhostsymlink#ls-ltotal0lrwxrwxrwx1rootroot1Oct1514:20b-arootlocalhostsymlink#catbcat:b:Nosuchfileordirectoryinode
11、/root/linkabVFS(Virtual FileSystem)VFS(Virtual FileSystem)的作用的作用Device DriverProcess Control SubsystemSystem Call InterfaceUser ProgramsInter-process communicationSchedulerMemory managementHardware基于VFS的文件访问使用命令使用命令 命令的使用方式命令的使用方式在Linux系统中打开终端的方式有以下两种:种是在桌面上依次单击“主程序系统工具终端”可打开如图2-1的终端窗口;另一种是在Linux桌面上
12、单击鼠标右键,从弹出的快捷菜单中选择“终端”命令,也可打开终端窗口。 一般的Linux使用者均为普通用户,而系统管理员一般使用超级用户帐号完成一些系统管理的工作。 不同的用户登录其终端的提示符略有不同,系统管理员的提示符是“#”,普通用户的提示符是“$” Linux系统是以全双工的方式工作,即从键盘把字符输入系统,系统再将字符回送到终端并显示出来。通常,回送到终端的字符与输入字符相同,因此操作员看到的正是自己输入的字符。但也有个别的时候,系统不回送符号。 终端显示提示符后,用户就可以输入命令请示系统执行。例1: rootlbliubing root# date 日 2月 1 15:49:11
13、CST 2004例2:rootlbliubingroot#whoroot:0Feb115:41rootpts/0Feb115:46(:0.0)jlpts/1Feb115:40(:0.0)例3: 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)的操作技巧,所
14、谓命令补齐是指当键入的字符足以确定目录中一个唯一的文件时,只须按 Tab 键就可以自动补齐该文件名的剩下部分,例如要把目录 /freesoft 下的文件 gcc-2.8.1.tar.gz 解包,当键入到 tar xvfz /freesoft/g 时,如果此文件是该目录下唯一以 g开头的文件,这时就可以按下 Tab 键,这时命令会被自动补齐为:tar xvfz /freesoft/gcc-2.8.1.tar.gz ,非常方便 特殊字符特殊字符在Linux系统的终端中有几个最有用的bash变量,这些变量变量名及简单描述如下:HISTFILE: 用于贮存历史命令的文件。 HISTSIZE: 历史命令
15、列表的大小。 HOME: 当前用户的用户目录。 OLDPWD: 前一个工作目录。 PATH: bash寻找可执行文件的搜索路径。 PS1: 命令行的一级提示符。 PS2: 命令行的二级提示符。 PWD: 当前工作目录。 SECONDS: 当前shell开始后所流逝的秒数。 这意味着 bash 保留了一定数目的先前已经在shell 里输入过的命令。这个数目取决于一个叫做HISTSIZE的变量。 使用历史记录列表最简单的方法是用上方向键。 另一个使用命令历史文件的方法是用 bash 的内部命令 history 和 fc(fix 命令)命令来显示和编辑历史命令。history 命令能以两种不同的方法
16、来调用。第一种是: history n 当 history 命令没有参数时,整个历史命令列表的内容将被显示出来。使用 n 参数的作用是仅有最后 n 个历史命令会被列出 。例如,history 5 显示最后 5 个命令。 调用 history 命令的第二种方法用于修改命令历史列表文件的内容。命令的语法如下: history -r|w|a|n filename 这种形式中,-r 选项告诉 history 命令读命令历史列表文件的内容并且把它们当作当前的命令历史列表。-w 选项将把当前的命令历史记录写入文件中并覆盖文件原来的内容。-a 选项把当前的命令历史记录追加到文件中。-n 选项将读取文件中的内
17、容并加入到当前历史命令列表中。如果 filename 选 项 没 有 被 指 定 , history 命 令 将 用 变 量HISTFILE 的值来代替。 命令别名通常是其他命令的缩写,用来减少键盘输入。还有一个使工作变得轻松的方法是使用命令别名命令格式为:alias alias-name=original-command其中,aliasname是用户给命令取的别名,originalcommand是原来的命令和参数。需要注意的是,由于Bash是以空格或者回车来识别原来的命令的,所以如果不使用引号就可能导致Bash只截取第一个字,从而出现错误。 注意:在定义别名时,等号两边不能有空格,否则she
18、ll将不能决定要做什么。仅在命令中包含空格或特殊字符时才需要引号。如果键入不带任何参数的alias命令,将显示所有已定义的别名。Bash有两级提示符。第一级提示符是经常见到的Bash在等待命令输入时的情况。第一级提示符的默认值是$符号。如果用户不喜欢这个符号,或者愿意自己定义提示符,只需修改PS1变量的值。例如将其改为:PS1=”输入一个命令:”第二级提示符是当Bash为执行某条命令需要用户输入更多信息时显示的。第二级提示符默认为“”。如果需要自己定义该提示符,只需改变PS2变量的值。例如将其改为:PS2=”更多信息:”用户也可以使用一些事先已经定义好的特殊字符。这些特殊字符将使提示符中包含当
19、前时间之类的信息。表2-1列出了最常用的一些特殊字符及其含义。表21bash提示符常用特殊字符特殊字符说明!显示该命令的历史编号#显示shell激活后,当前命令的历史编号$显示一个$符号,如果当前用户是root则显示#符号显示一个反斜杠d显示当前日期h显示运行该shell的计算机主机名n打印一个换行符,这将导致提示符跨行s显示正在运行的Shell的名称t显示当前时间u显示当前用户的用户名W显示当前工作目录基准名w显示当前工作目录下面来看几个实际例子:PS1=”d”将使提示符变成显示日期,如下所示:一2月02而 PS1=”d”,将使提示符变成如下所示:d若PS1=Wh w将使提示符变成如下所示:
20、niclbliubing /liunuxbook/nic该例就是使用三个特殊字符的组合得到的。 以上的各例在Red Hat Linux9.0系统的终端中所显示的结果如图2-4所示。通配符基础通配符基础通配符 又称多义符。在描述文件时,有时在文件名部分用到一些通配符,以加强命令的功能。在Linux系统中有以下基本的通配符: ?:表示该位置可以是一个任意的单个字符。 :表示该位置可以是若干个任意字符。 方括号charset:可替代charset集中的任何单个字符下面对方括号通配符进行一些说明。例如 cChH:表示在文件的该位置中可出现任意单个的c或h字符的大小写形式。另个,通配符集还能描述介于字符
21、对之间的所有字符。如“az”就可以代替任意小写字母,而azAZ则可替代任意字母。注意可替代的字符包括a到z和A到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-5.png 这样利用通
22、配符可以使指令的输入变得更加灵活。该技巧的可很容易实现显示一些文件名相关的文件。以上的各例在Red Hat Linux9.0系统的终端中所显示的结果如图2-5所示。文件概念及操作命令文件概念及操作命令 文件显示命令文件显示命令显示指定工作目录中所包含的内容的指令是ls,要说明的是ls命令列出文件的名字,而不是文件的内容。该命令的使用方式如下: ls 选项 文件目录列表 ls命令中的常用选项如下:-a: 显 示 所 有 文 件 及 目 录 (ls规 定 将 文 件 名 或 目 录 名 中 开 头 为 .的视为隐藏档,不会列出) -c:按列输出,纵向排序-x:按列输出,横向排序-l:除文件名外,也
23、将文件状态、权限、拥有者、文件大小等信息详细列出 -t :根据文件建立时间的先后次序列出 -A :同 -a ,但不列出 . (目前目录) 及 . (父目录) -X:按扩展名排序显示-R:递归显示下层子目录-help:显示帮助信息-version:显示版本信息Linux支持多种文件类型,每一类用一个字符来表示,其说明如下:-:常规文件d:目录b:块特殊设备c:字符特殊设备p:有名管道s:信号灯m:共享存储器文件类型的字符表示文件的权限,权限由三个字符串组成,这三个字符串分别表示:该文件所有者的权限、组中其他人的权限和系统中其人的权限;每个字符串又由三个字符组成,依次表示对文件的读(用字符r表示)
24、、写(用字符W表示)和执行权限(用字符x表示)。当用户没有相应的权限时,该权限的对应位置用短线“-”来表示。 例如:drwxr-x-表示的含义是:d表示这条信息是目录;目录拥有者的权限是rwx(表示有读、写和执行权限);组中其他人对该目录的权限是r-x(表示有读和执行权限,没有写权限),系统中其他人对该目录的权限是-(表示读、写和执行权限都没有)。下面是使用命令来显示帮助和版本信息,命令如下:#ls -version#l ls -help |more显示ls功能:显示指定目录下的内容。格式:ls选项路径或文件名选项:a显示所有文件(包括隐藏文件)及目录l除文件名外,还列出文件型、权限、拥有者、
25、大小等详细信息r将所有非隐藏文件以相反次序排列(原定按英文字母次序)t将文件按建立时间之先后次序排列R递归显示子目录中的信息。F按类型输出所有文件 查找、排序及显示指定文件内容的命令查找、排序及显示指定文件内容的命令1. 查找文件查找文件在Linux系统中查找文件的命令通常为find命令。find命令可在使用、管理Linux系统中方便地查找所需要的指定文件。find命令的语法格式如下:#find 目录列表 匹配标准在命令格式中有两个参数,说明如下:目录列表:希望查询文件或文件集的目录列表,目录间用空格分隔。匹配标准:希望查询的文件的匹配标准或说明。详细的匹配标准如表2-2所示。表达式说明nam
26、e文件告诉find要找什么文件;要找的文件包括在引号中,可以使用通配符(*和?)perm模式匹配所有模式为指定数字型模式值的文件。不仅仅是读,写和执行,所有模式都必须匹配。如果在模式前是负号(),表示采用除这个模式外的所有模式。typex匹配所有类型为x的文件。x是c(字符特殊),b(块特殊),d(目录),p(有名管道),l(符号连接),s(套接文件)或f(一般文件)。linksn匹配所有连接数为n的文件。user用户号匹配所有用户序列号是前面所指定的用户序列号的文件,可以是数字型的值或用户登录名。atimen匹配所有在前n天内访问过的文件。mtimen匹配所有在前n天内修改过的文件。newe
27、r文件匹配所有修改时间比file文件更新的文件。sizen匹配所有大小为n块的文件(512字节块,若k在n后,则为1K字节块)。print显示整个文件路径和名称。一般来说,都要用print,如果没有这个参数,则find命令进行所要求的搜索是没有显示结果的。1)通过文件名查找)通过文件名查找知道了某个文件的文件名,却不知道它存于哪个目录下,此时可通过查找命令找到该文件,命令如下:# find / -name httpd.conf print2)根据部分文件名查找)根据部分文件名查找当要查找某个文件时,不知道该文件的全名,只知道当要查找某个文件时,不知道该文件的全名,只知道这个文件包含几个特定的字
28、母,此时用查找命令也是可找到这个文件包含几个特定的字母,此时用查找命令也是可找到相应文件的。这时在给字查找文件名时通配符相应文件的。这时在给字查找文件名时通配符“* *”、“? ?”。例如,还是查找文件例如,还是查找文件“httpd.confhttpd.conf”,但仅记得该文件名包,但仅记得该文件名包含含“httphttp”字符串,可使用如下命令查找:字符串,可使用如下命令查找:#find / #find / name *http* -printname *http* -print3)根据文件的特征查询)根据文件的特征查询如果仅知道某个文件的大小、修改日期等特征也可使用find命令把该文件查
29、找出来。例如,知道一个文件尺寸小于为2500bytes,可使用如下命令查找:#find /etc size -2500c print下面是以时间特征为查找条件的find命令函数的参数:amin n 查找n分钟以前被访问过的所有文件. atime n 查找n天以前被访问过的所有文件. cmin n 查找n分钟以前文件状态被修改过的所有文件. ctime n 查找n天以前文件状态被修改过的所有文件. mmin n 查找n分钟以前文件内容被修改过的所有文件. mtime n 查找n天以前文件内容被修改过的所有文件. 2. 显示文本文件内容显示文本文件内容显示文本文件内容的命令是cat命令,用来将文件
30、的内容显示到终端上,其命令语法如下:cat 选项 文件列表命令中的参数说明如下: 常用选项如表2-3所示文件列表:这是要连接文件的选项列表。如果没有指定文件或连字号(-),就从标准输入读取。表23cat命令常用选项选项说明b计算所有非空输出行,开始为1。e在每行末尾显示$符号。n计算所有输出行,开始为1。s将相连的多个空行用单一空行代替。3. 查找文件内容查找文件内容查找文件内容的命令是grep命令。其使用的语法如下:grep 选项 匹配字符串 文件列表命令中的参数说明如下:选项如表2-4所示文件列表: 匹配字符串:希望在文件中查到的串。 表24grep命令的常用选项选项说明v列出不匹配串或正
31、则表达式的行。c对匹配的行计数。l只显示包含匹配的文件的文件名。h抑制包含匹配文件的文件名的显示n每个匹配行只按照相对的行号显示。i产生不区分大小写的匹配,缺省状态是区分大小写。 4. 排序命令排序命令sort命令的功能是对文件中的各行进行排序. sort命令可以被认为是一个非常强大的数据管理工具,用来管理内容类似数据库记录的文件。Sort命令将逐行对文件中的内容进行排序,如果两行的首字符相同,该命令将继续比较这两行的下一字符,如果还相同,将继续进行比较。该命令的语法格式如下: sort 选项 文件说明:sort命令对指定文件中所有的行进行排序,并将结果显示在标准输出上。如不指定输入文件或使用
32、“- ”,则表示排序内容来自标准输入。 比较文件内容的命令比较文件内容的命令m命令命令如果想对两个有序的文件进行比较,可以使用如果想对两个有序的文件进行比较,可以使用commcomm命命令。该命令的使用语法如下:令。该命令的使用语法如下:comm - 123 file1 file2 说说明明:该该命命令令是是对对两两个个已已经经排排好好序序的的文文件件进进行行比比较较。其其中中file1和和file2是是已已排排序序的的文文件件。comm读读取取这这两两个个文文件件,然然后后生生成成三三列列输输出出:仅仅在在file1中中出出现现的的行行;仅仅在在file2中中出出现现的的行行;在在两两个个文
33、文件件中中都都存存在在的的行行。如如果果文文件件名名用用“- ”,则则表表示示从从标标准输入读取。准输入读取。 2.diff命令命令diffdiff命命令令用用于于比比较较两两个个文文件件内内容容的的不不同同,其其命命令令语法格式如下:语法格式如下:diff diff 参数参数 原文件目标文件原文件目标文件 其其中中“源源文文件件”和和“目目标标文文件件”是是用用户户要要比比较较的的两两个个文件。文件。 表24diff命令的常用参数参数参数说明说明a a 将所有文件当做文本文件来处理将所有文件当做文本文件来处理 b b忽略空格造成的不同忽略空格造成的不同 B B 忽略空行造成的不同q只报告什么
34、地方不同,不报告具体的不同信息H利用试探法加速对大文件的搜索i忽略大小写的变化l用pr对输出进行分页r r在比较目录时比较所有的子目录s两个文件相同时才报告v在标准输出上输出版本信息并退出 复制、删除和移动文件的命令复制、删除和移动文件的命令1. 文件复制命令文件复制命令 Linux下的cp命令用于复制文件或目录,该命令是最重要的文件操作命令,其命令格式如下:cp选项 源文件目标文件 cp选项 源文件组 目标目录 参数说明如下:源文件:要拷贝的文件。目标文件:目标名。也可以是目录名,这种情况下,源文件名作为目标文件名,而文件放在该目录下。源文件组:要拷贝文件的由空格分隔的列表。目标目录:目标目
35、录。 常用命令的选项列表如表2-5所示。 表25cp命令常用选项常用选项说明a在备份中保持尽可能多的源文件结构和属。-b作将要覆盖或删除文件的备份。-f删除已存在的目标文件。-i提示是否覆盖已存在的目标文件。-p保持原先文件的所有者,组权限和时间标志-r递归拷贝目录,把所有非目录文件当普通文件拷贝。-R递归拷贝目录。2. 文件的删除命令文件的删除命令rm命令可从文件系统中删除文件及整个目录。rm命令所使用的命令格式如下:rm 选项 文件列表参数说明如下:常用命令的选项列表如表2-6所示。文件列表:希望删除的用空格分隔的文件列表,可以包括目录名。表26rm命令常用选项常用选项说明r删除文件列表中
36、指定的目录,若不用此标志则不删除目录I指定交互模式。在执行删除前提示确认。任何以Y开始的响应都表示肯定;其他则表示否定。f指定强行删除模式。通常,在删除文件权限可满足时rm提示。本标志强迫删除,不用提示。V在删除前回显文件名。指明所有选项结束。用于删除一个文件名与某一选项相同的文件。例如:假定偶然建立了名为f的文件,又打算删除它,命令rmf不起任何作用,因为f被解释成标志而不是文件名;而命令rmf能成功地删除文件。3. 移动文件移动文件在Linux系统中,移动文件可使用mv命令。Mv命令还可改文件改名,即把源文件以一个新文件名移动到另一个新的目录中去。该命令所使用语法形式有:mv -f -i
37、文件1 文件2mv -f -i 目录1 目录2mv -f -i 文件列表 目录命令中的参数说明如下:-f:通常情况下,目标文件存在但用户没有写权限时,mv会给出 提示。本选项会使mv命令执行移动而不给出提示。-i:交互模式,当移动的目录已存在同名的目标文件名时,用覆 盖方式写文件,但在写入之前给出提示。文件: 源文件名。文件2:目标文件名(新文件名)。目录1:源目录名。 目录2:目标目录名(新目录名)。 文件列表:用空格分隔的文件名列表。本选项用于文件保持它们的 名字被移动到一个新目录。目录:目标目录。 文件内容统计命令文件内容统计命令 wc命令的功能为统计指定文件中的字节数、字数、行数, 并
38、将统计结果显示输出。wc命令使用的语法格式如下:wc 选项 文件列表说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。该命令各选项含义如下:-c:统计字节数。-l:统计行数。-w:统计字数。 命令的输入和输出命令的输入和输出在在LinuxLinux系系统统中中,执执行行一一个个shellshell命命令令行行时时通通常常会会自自动动打打开开三三个个标标准准文文件件,即即标标准准输输入入文文件件(stdinstdin),通通常常对对应应终终端端的的键键盘盘;标标准准输输出出文文件件(std
39、outstdout)和和标标准准错错误误输输出出文文件件(stderrstderr),这这两两个个文文件件也也都都对对应应终终端端的的屏屏幕幕。进进程程将将从从标标准准输输入入文文件件中中得得到到输输入入数数据据,将将正正常常输输出出数数据据输输出出到到标标准准输输出出文文件件,而而将将错错误误信信息送到标准错误文件中。息送到标准错误文件中。 Linux系统为输入、输出的传送引入了另外两种机制,即输入/输出重定向和管道。输入重定向输入重定向 输输入入重重定定向向是是指指把把命命令令(或或可可执执行行程程序序)的的标标准准输输入入重重定定向向到到指指定定的的文文件件中中。输输入入重重定定向向主主
40、要要用用于于改改变变一一个个命命令令的的输输入入源源,特特别是改变那些需要大量输入的输入源。别是改变那些需要大量输入的输入源。 另一种输入重定向称为here文档,它告诉shell当前命令的标准输入来自命令行。here文档的重定向操作符使用“文件名为避免输出重定向中指定文件只能存放当前命令的输出重定向的内容,shell提供了输出重定向的一种追加手段。输出追加重定向与输出重定向的功能非常相似,区别仅在于输出追加重定向的功能是把命令(或可执行程序)的输出结果追加到指定文件的最后,而该文件原有内容不被破坏。 可以使用追加重定向操作符“”,其使用语法形式为:命令文件名3.3.管管 道道 将一个程序或命令
41、的输出作为另一个程序或命令的输将一个程序或命令的输出作为另一个程序或命令的输入,有两种方法,一种是通过一个临时文件将两个命入,有两种方法,一种是通过一个临时文件将两个命令或程序结合在一起令或程序结合在一起; ;另一种是另一种是Linux所提供的管道功能。所提供的管道功能。这种方法比前一种方法更好。这种方法比前一种方法更好。 管管道道可可以以把把一一系系列列命命令令连连接接起起来来,这这意意味味着着第第一一个个命命令令的的输输出出会会作作为为第第二二个个命命令令的的输输入入通通过过管管道道传传给给第第二二个个命命令令,第第二二个个命命令令的的输输出出又又会会作作为为第第三三个个命命令令的的输输入
42、入,以以此此类类推推。显显示示在在屏屏幕幕上上的的是是管管道道行行中中最最后后一一个个命令的输出(如果命令行中未使用输出重定向)。命令的输出(如果命令行中未使用输出重定向)。 4.命令替换命令替换 命命令令替替换换和和重重定定向向有有些些相相似似,但但区区别别在在于于命命令令替替换换是是将将一一个个命命令的输出作为另外一个命令的参数。常用命令格式为:令的输出作为另外一个命令的参数。常用命令格式为: command1 command2 command1 command2 其其中中,command2的的输输出出将将作作为为command1的的参参数数。需需要要注注意意的的是是这这里里的的符符号号,
43、被被它它括括起起来来的的内内容容将将作作为为命命令令执执行行,执执行行后后的结果作为的结果作为command1的参数。的参数。 例如:例如: $ cd pwd $ cd pwd 该该命命令令将将pwd命命令令列列出出的的目目录录作作为为cd命命令令的的参参数数,结结果果仍仍然然是是停留在当前目录下。停留在当前目录下。 目录和文件操作cd功能:改变当前目录。格式:cd路径注意:路径间用“/”隔开用户主目录:以用户登陆名命名的目录例#cd(不带参数)可以返回主目录. 当前目录. 父目录#cd可以返回上一次进行操作的目录中pwd功能:显示当前目录。格式:pwd建立、删除、复制、移动mkdir功能:创
44、建目录格式:mkdir选项目录选项:m对新建目录设置存取权限p可以是一个路径名称,此时若路径中的某些目录尚不存在,自动建立尚不存在的目录例:#mkdirpm700./inin/mail在当前目录中创建嵌套的目录层次inin/mail,权限设置为只有文件所有者有权读、写、执行。rm功能:删除文件或目录格式:rm选项文件列表或目录选项:f不显示系统给出的错误信息,也不给出提示。i删除文件时给出提示,让用户确认。r强制删除目录下的所有文件和各级子目录(仅用可本命令删除目录)例:#rmitest#rmr/usr/tmprmdir功能:删除一个空目录格式:rmdir选项目录选项:p删除目录下所有的空目录
45、,如果有非空的子目录,则保留下来,如果所有的子目录都删除了,则删除该目录。例:#rmdir/temp/folder有关内容的操作more功能:分屏显示文本文件内容格式:more选项文件使用:输出一屏后就停顿下来,用户可以用以下方法选择有关操作。空格显示下一屏回车显示下一行b往前回翻一屏/str寻找下一个字符串strq退出more例:#ls|morecat功能:显示文件内容格式:cat文件使用:cata/root/install.log文件系统概述文件系统是在介质上组织文件的机制Linux把所有的资源都以文件形式存放和被组织在文件系统中。这包括:1、目录是特殊类型的文件2、硬件设备驱动程序和分区
46、也用文件来表示。因此:Linux文件的组织系统成为文件系统层次标准。/binboothomemntcdromusbfloopgrubLinux 文件系统层次示意图grub.conf基本linux目录结构在linux文件系统层次标准中,将文件组织成目录:/顶层根目录/boot包括linux启动时需要的命令和文件/dev列出可用的设备驱动程序/home包括根用户以外的所有用户的主目录/bin包括基本命令行实用程序/lib包括linux内核所需的程序库/mnt软盘、cdrom等可拆介质的公共装载点/tmp临时文件的专用存储地址/usr所有用户的可用程序和数据Linux支持的文件系统Linux允许拥有
47、多个文件系统,其中一个是根文件系统,多文件系统的使用提供较好的系统安全Linux支持多种类型的文件系统:minix,ext,ext2,ext3,proc,hpfs,nfs,isofs,msdos,fat,vfat,umsdos,xiafs,sysv等因此在安装linux时,用户完全可以将linux目录建成不同的文件系统,将其装载到不同分区。建立文件系统分区建立之后,建立文件系统使用mkfs命令一般格式:mkfstfstypefsoptionsdevicename/mount_pointblockstfstype:由fstype指出文件系统的类型,缺省为ext3fsoptions:c:检查坏块v
48、:报告信息devicename/mount_point指设备名或文件系统的挂载点如:/dev/hda1,/,/bin,/home等例:#mkfstvfatc/dev/hda5加载文件系统mount命令命令功能:在Linux文件系统的目录树中加入一个设备上的文件目录树。格式:mount ooption -t type 设备文件 挂载点说明:Linux的文件系统是采用一个统一的目录树来组织计算机上所有的文件,文件本身位于硬盘各分区、CD-ROM等存储设备中,在某一存储设备上的文件被组织成为一种文件系统,以目录树的结构存储自己的文件和目录。 要统一组织各个设备上的文件,就需要将实际设备上的目录树纳入
49、到整个系统目录树中来。mount命令就是完成将某个设备上的目录树映射到系统目录树中的某个位置上(一个已存在的空目录),这个位置称为“挂载”点,Linux称这一操作为“挂载”。选项tfstype指定要挂载的文件系统类型。其中fstype可以是:minix、ext2、msdos、hpfs、nfs、iso9660等。r挂载的文件系统,只有“读”的许可。w挂载的文件系统,有“读”和“写”的许可(缺省)。v显示挂载的信息。例1. 列出当前系统中已挂载的文件系统。$ mount例2. 以只读形式挂载光盘。$ mount -r -t iso9660 /dev/cdrom /mnt/cdrom$ ls /mn
50、t/cdrom注:执行mount命令需要有root的权限。执行mount命令时,当前目录不能在挂载点中。被挂载的光盘是取不出来的,可用umount命令卸载后取出。umount命令功能:卸载文件系统格式:umount设备文件/挂载点说明:不能卸载一个正在其中工作的文件系统例:卸载光盘$umount/dev/cdrom或者$umount/mnt/cdrom使用CDROM(1)使用CDROM前必须把它先装载到Linux的目录树中:#mounttauto/dev/cdrom/mnt/cdrom该命令仅超级用户可使用/mnt/cdrom目录必须是一个已经存在的空目录,如不存在,可创建:#mkdir/mn
51、t/cdrom如果装载成功,在/mnt/cdrom下可见到在光盘中的内容使用CDROM(2)由于CDROM是IDE、SCSI型的,则应使用对应的设备文件名将CDROM对应的设备文件/dev/hdc或/dev/hdd与/dev/cdrom做一个符号链接:#lns/dev/hdd/dev/cdrom使用完毕应将CDROM卸载下来(应先退出/mnt/cdrom目录):#umount/dev/cdrom软盘使用的几种方法(1)一、使用mtools命令不可用来访问Linux的文件和目录主要命令:mcd目录名mcopy源文件目标文件mdel文件名mdir目录名mformat驱动器号mmd目录名mrd删除d
52、os软盘上的目录mtype文件名例:察看a盘内容:$mdir将Linux系统中当前目录下的a.txt文件复制到DOS盘上,并显示DOS软盘上的该文件内容。$mcopya.txta:$mtypea:a.txt软盘使用的几种方法(2)作为Linux文件系统(ext3格式)使用:fdfomat/dev/fdH1440mkfstext3/dev/fd01440mount/dev/fd0/mnt/floppycp/home/zhao1/myfilemnt/floppy/myfilels/mnt/floppymyfile使用完毕应使用umount命令将软盘卸载下来,方可取出软盘使用的几种方法(3)#mou
53、nttauto/dev/fd0/mnt/floppy/mnt/floppy也是一个系统中存在的空目录退出软盘的使用,应先退出/mnt/floppy目录,然后使用卸载软盘命令:#umount/mnt/floppy注:有的Linux系统,在系统升机时就自动地装载了。访问硬盘上的Windows分区首先可以用#fdiskl命令查看每个分区信息其次,使用之前,应先装载DOS/Windows分区:(Linux把DOS/Windows分区看成一个设备)#mounttvfat/dev/hda1/mnt/dosdrive(这里/dev/hda1是DOS/Windows分区对应的设备文件名,如果是SCSI盘则是/dev/sd.)对于目录/mnt/dosdrive的权限可根据用户的需要使用chmod命令进行设置