Linux 目录管理的基础知识

      在Linux 系统上命名目录的方式是相当隐秘的,这要追溯到电脑硬件处理能力比较弱而价格又比较贵的时期。在Linux系统上命名目录的方式似乎有点笨拙,但与其他的每件事情一样,这只需花一些时间加以习惯。通过描述Linux文件系统的全景,使读者可以对Linux的文件系统有较清楚的认识。 
根目录(/) 

  目录结构上的最高点被称为根目录。它使用了与超级用户相同的名称,可以将根目录和超级用户都想像成顶层,这样比较容易记忆。单个字符斜杠("/")表示根目录。 

  注意,/目录与root用户的主目录不是一回事,其主目录为/root,因此/root目录是/的子目录。 

  在Linux系统上的其他目录都包含在根目录之下的层次结构中,这一点不同于Windows系统。Windows系统中的每个驱动器被赋予了自己的字母及其自己的目录结构。在Linux中,系统上所有的存储设备都被装载到根目录之下的每个目录中,或者直接在根目录下,或者更下一层。 

主目录(~) 

  Linux的目录名称与众不同,现在来说明一下主目录。如果两个用户具有不同的用户账户和不同的主目录(并且应该有不同的主目录),那么哪一个是主目录呢?对于不同的用户,答案是不同的。例如,用户1的主目录被称为/home/millerm。如果用户1希望访问该目录,可以输入波折号(~),用户1 的系统知道用户1想到主目录中。如果用户2试图用波折号大小改变目录,那么用户2不会到达用户1的主目录,用户2将到达用户2的主目录。 

  这是一种帮助用户找到原路的快捷方式,能使用户更快地访问自己的主目录。例如,用户下载了一个小程序(ddr);因为它放置在主目录下,所以用户能够在其他地方用下列命令运行它(提示符中的斜杠指明用户在/目录中): 

  millerm@romans:/> /home/millerm/downloads/ddr 

  用户如果想节省一些时间,可通过利用波折号快捷方式执行相同命令也能做同样的事情。 

  millerm@romans:/> ~/downloads/ddr 

dot文件 

  Linux另外一个令人感到陌生的术语是"dot"文件,这些文件的名称以点(".")开始。通常,这些文件是隐藏的。例如,列表名为secret的目录中的文件: 

  millerm@romans:~> ls secret 

  millerm@romans:~> 

  根据目录列表命令,这里没有任何文件。但是,如果发出命令去查看那些以点开始的目录内容,则得到了以下结果: 

  millerm@romans:~> ls –a secret 

  . .. .secret 

  现在,就可以看到了名称为"."和".."的条目,以及名称为".secret"的文件。"."条目表示当前工作目录,".."条目表示当前工作目录的父目录。".secret"文件在任何目录中都存在,但是如果不查看"dot"文件就看不到它。这是一种存储配置文件的好方式,可以避免弄乱你的主目录,将文件变成"dot"文件并不提供真正的安全性,因此它纯粹是一种类似整理箱的东西,利用这个技巧还可以隐藏目录名称。 

标准的 Linux子目录 

  尽管某些集成套件彼此之间存在着差异,但是大多数Linux打包版本具有类似的目录结构。这种共性继承了Linux文件系统标准(Linux File System Standard,FSSTND)或者更新的文件系统层次标准(Filesystem Hierarchy Standard,FHS)的特性。标准的名称并不像想像中希望得到的Linux系统文件那样重要。 

  记住每个标准目录所包含的内容并不重要。用户需要树立一种把握重点的观念。下面将展示Linux系统中根目录的内容,并描述该目录树中最重要的内容和功能。 

  1./bin 

  这个目录包含超级用户和一般用户使用的命令。这些命令对于系统来说通常是至关重要的,它们提供一些操作,比如拷贝、移动和删除文件,登录,创建和打开文文件,识别系统名称,查看文本文件等。用户通常不会去改变/bin目录的内容(如果需要这样做,必须以root身份去做)。 

  2./boot 

  这个目录包含系统启动所需的大多数文件,电脑启动时需要的其他文件存储在/etc和/shin目录中。不要寄希望于用手工方式修改/boot目录。 

  3./dev 

  /dev目录包含设备文件和其他特殊文件。表4-l给出了用户可以在/dev中发现的各类设备例子。 

表4-1 在/dev中的设备例子 

设 备 名 称 设 备 类 型 
/dev/ide 整个IDE主硬盘驱动器 
/dev/hdb1 在IDE辅硬盘驱动器上的第一个分区 
/dev/fd0 第一个软盘驱动器,自动诊断类型 
/dev/lp0 第一个并行打印机 
/dev/midi00 第一个MIDI端口 
/dev/null 空设备(为了避免某些软件总向它发送信息) 
/dev/psaux PS2键盘端口 
/dev/ramdisk RAM磁片 
/dev/scd0 第一个SCSI CD-ROM驱动器 
/dev/dsa 第一个完整SCSI硬盘驱动器 
/dev/sto 第一个SCSI磁带驱动器 
/dev/tty1 第一个虚拟控制台 


  注意,这不是一个完整的列表,但它基本列出了需要知道的设备。对于这个目录不要做不必要的操作。 


4./etc 


  这个目录包含启动和正常运行Linux系统所需的配置文件。这些文件大多能够被编辑(通过配置工具或文本编辑器来完成)。大多数Linux集成套件提供了许多辅助软件用于配置/etc目录中的文件,以便使用户更容易地使用Linux。在安装过程中用户所回答的一些问题将自动填充到相关的/etc目录文件中。 

  5./home 

  在典型情况下,这个目录拥有系统中每个用户的子目录。例如,如果Mom、Dad、Erin和Matt是系统中的所有用户,那么/home目录可以包含四个用户目录: 

/dad 
/erin 
/matt 
/mom 
  也有其他方式。例如,如果系统中有大量用户,可以将他们分组放入部门子目录。有的Linux系统根本不使用/home目录,并且将主目录放置在其他地方,但这种系统比较少见。 

  6./lib 

  这个目录包含了位于/bin和/shin中程序需要的库文件。一个库文件是一个程序文件,它包含了能够被多个不同程序所使用的代码。将这些共用代码以库的形式存放起来,可以减轻程序设计者的工作量。这一般被认为是一种很好的处理方式。用户可能偶尔需要升级该目录中的库,但在大多数情况下,没有必要进一步了解这些库中的内容。 

  7./mnt 

  这个目录用于临时装载文件系统。例如,用户可以将软盘驱动器/dev/fd0装载到已经在根目录之下建立的一个独立目录(/fd0),但是用户同样可以很容易地将/dev/fd0/装载为/mnt/floppy(事实上,许多Linux集成套件通过默认地创建这种装载点而帮助用户完成了这一工作)。使用/mnt/floppy将使得用户的根目录较为整洁。 

  8./opt 

  用户的Linux集成套件中也许有这个目录。它为第三方应用程序提供了一个存储位置,但是在实际工作中,这些应用程序中的大多数要么安装在 /usr/local目录中,要么被打成包存放在其他地方。当用户找到并运行一些第三方应用程序时,它们将创建和填充/opt目录及其子目录。 

  9./proc 

  这个目录用于同Linux内核交换数据。在这个目录中有一些能够查看的文本文件,它们包含一些系统信息,比如内核版本、系统正常工作时间和有关系统中处理器及内存的信息。 

  10./root 

  /root目录被典型地用做超级用户的主目录。root账户归系统管理员所有,因此在这个目录中不应该堆积很多垃圾。 

  11./sbin 

  /sbin只能把root使用的至关重要的系统管理命令存放在这个目录中。如果启动系统过程中需要某个只有超级用户才能使用的命令,那么这个命令就在/sbin目录中。/sbin目录中包含了文件系统检查命令、关机命令和一些网络命令等。 

  12./tmp 

  系统利用该目录存储暂存文件。不必计划在这里存储自己的暂存文件,程序将自动完成这一工作。 

  13./usr 

  /usr目录包含系统中每个用户都使用的文件和程序。这里存放了随同Linux集成套件一起安装的大多数程序和实用工具,并且能够供普通账户(不仅仅是超级用户)使用。文件系统的层次结构规定了这个目录具有只读访问许可权,换句话说,用户不能改变/usr目录中的内容。 

  14./usr/local 

  在/usr目录中,/usr/local目录是一个例外,用户可以修改其中的内容。请记住,在Linux中,一个文件系统可以被装载到任何目录名称之下。事实上,一些人甚至将/usr/local指向另一个分区。这是因为在许多Linux安装过程中,/usr/local是安装大多数第三方应用软件的地方。 

  这意味着/usr/local目录可能一开始就是空的,可以在/usr/Iocal目录中存放从Web上下载、购买或者与网络邻居共用的程序;这同时也意味着如果想备份系统中只有一个拷贝的文件,那么你应该备份/usr/local目录以及/etc、/home和/opt。 

  15./usr/src 

  /usr/src目录包含Linux的源代码,因为可能有用户想自己编译内核。这个目录是重要的,当一个集成套件被安装到用户的PC中时,它应该用内核原始文件和头文件填充/usr/src目录。如果你想重新编译这个内核,那么你可以利用/usr/src目录中的文件完成这件事情。另一方面,如果想下载并编译一个更新的内核,那么推荐用户在一个可以控制的目录中完成编译工作,比如在主目录中的某个特殊地方。 

  16./var 

  /var目录是Linux系统存储可变数据的地方。可变数据包括锁文件、日志文件、邮件箱、周边同作数据和快取内存数据。这个目录可能存储有趣的数据,但是大多数存储在这里的数据是由于程序将它们放置在这里的缘故。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值