这是一片非常简单的介绍Linux标准系统下各种目录的文章。现在,各种公司的Linux都是换汤不换药,但是还是多少有些区别,所以小虎不能保证下面的介绍适用于所有的Linux系统,比如说Debian。
Windows下的软件一般都会放在一个固定的目录里面。比如说程序X放在C:\Program_ComeOnBaby\X,程序Y放在C:\Program_Skybird\Y。但是Linux系统就有很大的不同,它更加复杂。因为它不是根据程序的目的或者类型来放在一个目录里的,而是把二进制可执行文件放在一个目录里,把配置文件放在另外一个目录里,把数据文件放在你可能根本想不到的地方……这种情况对于那些准备从Windows搬家到Linux的用户来说可能有些不方便,所以我写了这篇文章让大家有个基本的了解,希望如此。
目录结构
――――
/
这就是根目录。在Windows,DOS或者其他类似的操作系统里面,每个分区都会有一个相应的根目录。但是Linux和其他Unix系统把所有的文件都放在一个目录树里面,/ 就是唯一的根目录。一般来讲,根目录下面很少保存什么文件,或者只有一个内核映像在这里。
/boot
很多Linux系统把内核映像和其他一些和启动有关的文件放在这里。
/tmp
一般只有启动的时候产生的临时文件才会放在这个地方。我们自己的那些临时文件都放在 /var/tmp。
/mnt
这个目录下面放着一些用来mount其他设备的子目录,比如说/mnt/cdrom或者/mnt/floppy。在某些Linux里面这个目录是被/mount代替的。
/lib
启动的时候所需要用到的库文件都放在这个目录下。那些非启动用的库文件都会放在/usr/lib下。内核模块是被放在/lib/modules/(内核版本)下的。
/proc
这个目录在磁盘上其实是不存在的。里面的文件都是关于当前的系统状态的,包括正在运行的进程,硬件状态,内存使用的多少……大部分文件都是给电脑看的。
/dev
这个目录下保存着所有的设备文件。里面有一些Linux内核创建的用来控制硬件设备的特殊文件。注意,网卡设备文件(eth0,ppp0等)不在这儿。
/var
这里有一些被系统改变过的数据。比如说/var/tmp,就是用来储存临时文件的。还有很多其他的进程和模块把它们的记录文件也放在这个地方。下面将会列举一些重要的子目录:
/var/log
这里放着绝大部分的记录文件。随着时间的增长,这个目录可能会变得很臃肿。所以需要定期来清理一下。
/var/run
包括了各种运行时的小信息。
/var/lib
包括了一些系统运行的时候需要的文件。如果你用笔记本上网,/var/lib/pcmcia/stab可能会对你有用。
/var/spool
邮件,新闻,打印序列的所在地。
/root
Root用户的主目录。就跟学校管宿舍的老大爷的房间一样。
/home
一般用户的主目录都会放在这个目录下。就跟学校宿舍的各个房间一样。在Linux下,你可以通过$ cd ~ 来进入你自己的主目录。
/etc
如果你是Root用户的话,这个目录应该是你最常来的地方。这里保存着绝大部分的系统配置文件。相对来讲,单个用户的系统配置文件将会保存在这个用户自己的主目录里面。这里的文件会根据你所安装的软件而增减。下面将会列举一下重要的子目录:
/etc/X11
这里放着X系统所需要的配置文件。XF86Config就是把配置储存到这个地方的。/etc/X11/fonts里面放着一些服务器需要的字体。还有一些窗口管理器存放的配置文件也是放在这个地方的。
/etc/init.d
对于Debian来说,这个目录保存着启动描述文件,包括各种模块和服务的加载描述。所以如果不清楚的话,最好不要随便删这里的东西。这里的文件都是系统进行配置的,不是用户自己用来配置的。
/etc/rcS.d
这里放着一些连接到/etc/init.d的连接文件,根据runlevel的不同而执行相应的描述。这里的文件名都是由S来开头的,然后是一个两位的数字――表示各种服务启动的顺序。比如,S24foo就是在S42bar前面执行的。接着就是相应的连接到/etc/init.d下面的文件的名字了。
/etc/rc0.d - /etc/rc6.d
这里面也是一些连接文件,和/etc/rcS.d差不多。不同的是,这些只会在指定的runlevel下运行相应的描述。0表示关机,6表示重启。所有以K开头的文件表示关闭,所有以S开头的文件表示重启。目前来讲,文件的命名方式和/etc/rcS.d是一样的。注意,在Debian下,2表示启动。
/bin, /sbin
这里分别放着启动的时候所需要的普通程序和系统程序。很多程序在启动以后也很有用,它们放在这个目录下是因为它们会经常被其他程序所调用。
/usr
这是一个很庞大的目录,几乎所有的文件都放在这下面,除了上面所说的那些。下面将会列举一些重要的子目录:
/usr/X11R6, /usr/X11, /usr/Xfree86
这里面保存着X系统所需要的文件,它的目录结构和/usr是一样的。
/usr/bin
二进制可执行文件存放的目录,这里放着绝大部分的应用程序。
/usr/sbin
这里放着绝大部分的系统程序。
/usr/games
游戏程序和相应的数据会放在这里。
/usr/include
这个目录保存着C和C++的头文件。除非你是程序员,否则你可能不会感兴趣。
/usr/lib
启动时用不到的库文件都会被放在这里。
/usr/info
这里保存着GNU Info程序所需要的数据。
/usr/man
这里保存着man程序所需要的数据。
/usr/src
这里保存着源代码文件。Linux内核的源代码都放在/usr/src/linux下了。
/usr/doc
这里保存着各种文档文件。这些文件可以帮助你了解Linux,解决问题和提供一些技巧。或者你可以通过访问 http://www.linuxdoc.org 来活得更多的知识。
/usr/local
这里面保存着本地计算机所需要的文件。在用户进行远程访问的时候特别有意义。这个目录在有些Linux系统下就是一个单独的分区,存放一些这台机子所属的那个用户的文件。里面的结构和/usr是一样的。
/usr/shared, /usr/share
这里保存着各种共享文件,比如说某个应用程序所需要的声音文件。
参考命令
――――
ls ― 列出目录和文件
cd ― 进入一个目录