Linux循序渐进(5)

  第九课 文件与目录操作

  用户的数据和程序大多以文件的形式保存用户使用Linux系统的过程中需要经常对文件和目录进行操作本章讲述了文件与目录的基本概念有关文件和目录操作的命令以及如何在Linux环境下运行DOS命令

  文件与目录的基本概念

  文件与文件名

  在多数操作系统中都有文件的概念文件是Linux用来存储信息的基本结构它是被命名(称为文件名)的存储在某种介质(如磁盘光盘和磁带等)上的一组信息的集合Linux文件均为无结构的字符流形式文件名是文件的标识它由字母数字下划线和圆点组成的字符串来构成用户应该选择有意义的文件名Linux要求文件名的长度限制在个字符以内

  为了便于管理和识别用户可以把扩展名作为文件名的一部分圆点用于区分文件名和扩展名扩展名对于将文件分类是十分有用的用户可能对某些大众已接纳的标准扩展名比较熟悉例如C语言编写的源代码文件总是具有C的扩展名用户可以根据自己的需要随意加入自己的文件扩展名

  以下例子都是有效的Linux文件名

  preface

  chaptertxt

  xuc

  xubak

  文件的类型

  Linux系统中有三种基本的文件类型普通文件目录文件和设备文件

  普通文件普通文件是用户最经常面对的文件它又分为文本文件和二进制文件

  )文本文件这类文件以文本的ASCII码形式存储在计算机中它是以行为基本结构的一种信息组织和存储方式

  )二进制文件这类文件以文本的二进制形式存储在计算机中用户一般不能直接读懂它们只有通过相应的软件才能将其显示出来二进制文件一般是可执行程序图形图像声音等等

  目录文件设计目录文件的主要目的是用于管理和组织系统中的大量文件它存储一组相关文件的位置大小等与文件有关的信息目录文件往往简称为目录

  设备文件设备文件是Linux系统很重要的一个特色Linux系统把每一个I/O设备都看成一个文件与普通文件一样处理这样可以使文件与设备的操作尽可能统一从用户的角度来看对I/O设备的使用和一般文件的使用一样不必了解I/O设备的细节设备文件可以细分为块设备文件和字符设备文件前者的存取是以一个个字符块为单位的后者则是以单个字符为单位的

  目录

  树型目录结构

  在计算机系统中存有大量的文件如何有效的组织与管理它们并为用户提供一个使用方便的接口是文件系统的一大任务Linux系统以文件目录的方式来组织和管理系统中的所有文件所谓文件目录就是将所有文件的说明信息采用树型结构组织起来即我们常说的目录也就是说整个文件系统有一个根(root)然后在根上分杈(directory)任何一个分杈上都可以再分杈杈上也可以长出叶子根和杈在Linux中被称为是目录或文件夹而叶子则是一个个的文件实践证明此种结构的文件系统效率比较高

  如前所述目录也是一种类型的文件Linux系统通过目录将系统中所有的文件分级分层组织在一起形成了Linux文件系统的树型层次结构以根目录为起点所有其他的目录都由根目录派生而来一个典型的Linux系统的树型目录结构如图所示用户可以浏览整个系统可以进入任何一个已授权进入的目录访问那里的文件

  上图中我们只给出了目录结点名称而没有给出各个目录之下的每一个文件实际上各个目录结点之下都会有一些文件和子目录并且系统在建立每一个目录时都会自动为它设定两个目录文件一个是代表该目录自己另一个是代表该目录的父目录对于根目录和都代表其自己

  Linux目录提供了管理文件的一个方便途径每个目录里面都包含文件用户可以为自己的文件创建自己的目录也可以把一个目录下的文件移动或复制到另一目录下而且能移动整个目录并且和系统中的其他用户共享目录和文件也就是说我们能够方便地从一个目录切换到另一个目录而且可以设置目录和文件的管理权限以便允许或拒绝其他人对其进行访问同时文件目录结构的相互关联性使分享数据变得十分容易几个用户可以访问同一个文件因此允许用户设置文件的共享程度

  需要说明的是根目录是Linux系统中的特殊目录Linux是一个多用户系统操作系统本身的驻留程序存放在以根目录开始的专用目录中有时被指定为系统目录在图中那些根目录下的目录就是系统目录

  工作目录用户主目录与路径

  如前所述目录是Linux系统组织文件的一种特殊文件为使用户更好地使用目录我们介绍有关目录的一些基本概念

  工作目录与用户主目录

  从逻辑上讲用户在登录到Linux系统中之后每时每刻都处在某个目录之中此目录被称作工作目录或当前目录(Working Directory)工作目录是可以随时改变的用户初始登录到系统中时其主目录(Home Directory)就成为其工作目录工作目录用表示其父目录用表示

  用户主目录是系统管理员增加用户时建立起来的(以后也可以改变)每个用户都有自己的主目录不同用户的主目录一般互不相同

  用户刚登录到系统中时其工作目录便是该用户主目录通常与用户的登录名相同

  用户可以通过一个~字符来引用自己的主目录

  例如命令

  /home/WANG$ cat ~/class/software_

  和下面的命令

  /home/WANG$ cat /home/WANG/class/software_意义相同shell将用用户主目录名来替换~字符目录层次建立好之后用户就可以把有关的文件放到相应的目录中从而实现对文件的组织

  对文件进行访问时需要用到路径(Path)的概念

   路径

  顾名思义路径是指从树型目录中的某个目录层次到某个文件的一条道路此路径的主要构成是目录名称中间用/分开任一文件在文件系统中的位置都是由相应的路径决定的

  用户在对文件进行访问时要给出文件所在的路径路径又分相对路径和绝对路径绝对路径是指从根开始的路径也称为完全路径相对路径是从用户工作目录开始的路径

  应该注意到在树型目录结构中到某一确定文件的绝对路径和相对路径均只有一条绝对路径是确定不变的而相对路径则随着用户工作目录的变化而不断变化这一点对于我们以后使用某些命令如cp和tar等大有好处

  用户要访问一个文件时可以通过路径名来引用并且可以根据要访问的文件与用户工作目录的相对位置来引用它而不需要列出这个文件的完整的路径名例如用户WANG有一个名为class的目录该目录中有两个文件software_和hardware_若用户WANG想显示出其class目录中的名为software_的文件可以使用下列命令

  /home/WANG$ cat /home/WANG/class/software_

  用户也可以根据文件software_与当前工作目录的相对位置来引用该文件这时命令为

  /home/WANG$ cat class/software_

前有阻碍,奋力把它冲开,运用炙热的激情,

Linux循序渐进(5)

相关文章:

你感兴趣的文章:

标签云: