与普通的UNIX系统一样,Linux使用树状的文件系统。每个系统都有一个根目录,从这里开始可以遍历整个系统中的所有文件,它没有驱动器和盘符的概念。
你可能会怀疑在没有驱动器符的情况下Linux如何处理多于一个的磁盘分区。
在我们的例子里,在/下有四个目录,其中,/bin直接和/位于同一个分区中,这个包含/的分区称为根分区。除此之外,根分区下还存在三个目录:/home,/mnt和/usr。
在系统中要存放大量的常用文件,例如日常的命令,系统文档等等。我们分划了一个独立的分区用来存放这些文件,这个分区被“连接”在/usr目录下,因此要访问分区上的文件只要访问/usr目录就可以了。
同样,我们为用户的私人文件开设了一个分区,连接在/home下面,每个用户都可以使用自己的目录内的文件(比如:/home/emp1)。但是我们发现有一个目录需要容纳特别多的文件,以至于将它单独分区可能会好一些,因此我们又设置了一个独立的磁盘用来容纳这些数据,这个磁盘分区被连接到/home/httpd。
这台机器上还包含了一个DOS分区,一个光盘驱动器,另外网络中还有一个服务器提供了共享的网络目录,我们把它们全都连接到文件系统之中,不过由于每个目录分支点(术语叫mount point)只能安装一个文件系统,所以我们在/mnt下面开设了三个目录来连接它们。
所有的文件都可以通过目录名加文件名来访问,对于系统来说,具体的每个文件到底在那个磁盘或者那个服务器上是无关紧要的,只要了解这个文件所在的目录就行了。Linux利用/作为根目录的标志以及目录层之间的分割符,其作用相当于DOS的\。不过与DOS不同的是,Linux的文件名、目录名命名规则要宽泛的多,可以用相当长的文件名和目录名,在文件名和目录名中都可以包含不止一个的句点,而且区分大小写。例如 \test和\TEST是不同的两个文件。而一个位于/mnt/dos目录下的名为file1的文件其绝对路径名就是/mnt/dos/file1。
应该指出的是,“文件系统”这个词在Linux文献中有几种含义,第一种用来描述我们这里说的从/开始的系统中所有文件和目录的集合;第二种用来描述如同我们例子里面与/usr对应的那个分区那样的可以直接连接到某个目录下的完整集合体,即文件系统的一个独立部分;第三种含义是文件系统的具体实现方式,即操作系统如何把这种逻辑的目录结构映射成磁盘上的数据。具体的含义很容易根据上下文判断出来,大家可以自己注意。
用cd命令可以在不同的目录之间切换,Linux承认绝对路径和相对路径,这个内容对于任何熟悉dos的用户都应该是极其简单的,例如从/mnt/dos切换当前路径到/home/httpd的命令可以是cd /home/httpd,也可以是cd ../../home/httpd。但是必须注意的是,在cd命令之后的空格不可省略。
尽管理论上Linux应该自动对文件名进行过滤,但是这方面仍然有一些问题,例如,Linux允许用减号作为一个文件的起始字母,然而-也用于许多命令后的开关,因此会带来一些问题,如果你碰到了类似的问题,有时候使用绝对路径名会解决问题。
gaoyoyou 于 2006-11-09 18:32:39发表:
斑竹自己总结的吧,受启发
multitude 于 2006-11-09 16:25:59发表:
基础系统知识
知道了。
感谢分享。