随着Linux的不断发展,越来越多的人开始使用Linux,对于那些刚刚接触的人来说,恐怕最先感到困惑的就是那些“不明不白”的目录了。如果想熟练使用Linux,让Linux听命于自己,就必须掌握这些目录。
Linux是通过目录来组织文件的。和Windows不同的是,在Linux下只有一个根目录,而不象Windows那样一个分区一个根目录。如果有多个分区的话,就需要将其它分区mount到根目录上来用。大家回忆一下当时为Linux分区时,有一个选项要填,那就是Mount Point,我们将其中一个写成了“/”,也就是根目录(这点与Windows相反,一个是“\”,一个是“/”,真是天生冤家)。
/bin bin是Binary的缩写。这个目录存放着最经常使用的命令。 二进制文件是指已经编译好的程序,计算机可以很容易的理解并执行这类文件。这类文件中的内容通常不具有任何可读性。该目录中可包含完成基本维护任务所需要的所有标准文件。文件cp和ls就在该目录中。
/boot 这里存放的是启动Linux时使用的一些核心文件,包括一些链接文件以及镜像文件。
/dev dev是Device(设备)的缩写。该目录下存放的是Linux的外部设备,它实际上是访问这些外部设备的端口,你可以访问这些外部设备,与访问一个文件或一个目录没有区别。在此目录中包含所有的系统设备。从此目录可以访问各种系统设备。如CD-ROM,磁盘驱动器,调制解调器和内存等。在该目录中还包含有各种实用功能,如用于创建设备文件的MAKEDEV。有些安装过程会创建指向隐含设备的链接,例如链接到PS/2鼠标设备的/dev/mouse,但他实际上则是/dev /psaux.
下面对该目录中的文件给出一些具体的解释:
/dev/console表示与临视器有关的设备的驱动程序,该监视器连接在你的机器上。
/dev/ttySn表示用来访问串行端口的设备。例如:/dev/ttyS0与DOS下的COM1效果相同。当你设置调制解调器时,ttyS0,ttyS1或ttyS2均是可用来创建链接/dev/modem设备的端口。
/dev/hda以及以后的/dev/hdb,/dev/hdc和/dev/hdd设备均表示硬盘驱动器本身。/dev/hda表示整个硬盘驱动器,hda1表示该硬盘的第一个分区。文件/dev/had保存着一个硬盘驱动器的相关信息,该硬盘驱动器位于IDE控制器上。
上面介绍的内容也适用于/dev/sda,它表示SCSI硬盘驱动器。SCSI磁带由设备/dev/st表示。
/dev/lp表示并口或打印机端口。如果你在DOS环境下使用电缆将并口打印机连接到端口LPT1,就应开启/dev/lp0端口。
/dev/null或许是所有设备中最臭名昭著的设备,这是因为他是种垃圾设备,进入该设备的所有不想要的文件均会消失。将任何类型的输出结果或信息导向/dev /null,其效果等同于将他们从系统上删除。他的作用相当于一个“黑洞”,会将导向他的任何不需要的信息吞噬。
/dev/tty表示虚拟控制台。在LINUX环境中,你可以有数个显示屏,同时容纳数个不同终端。
/dev/pty表示伪端。这是以动态方式创建的终端设备,当用户通过网络或远程telnet连接以远程试登陆到系统时就会创建这类终端。
/etc 该目录存放了系统管理时要用到的各种配置文件和子目录,例如网络配置文件、文件系统、X系统配置文件、设备配置信息、设置用户信息等。
etc/rc or /etc/rc.d or /etc/rc*.d :启动、或改变运行级时运行的scrīpts或scrīpts的目录。
/etc/passwd :用户,其中的域给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息。
/etc/fdprm :软盘参数表。说明不同的软盘格式。用setfdprm设置。
/etc/fstab :启动时mount -a命令(在/etc/rc或等效的启动文件中)自动mount的文件系统列表。Linux下,也包括用swapon -a启用的swap区的信息。
/etc/group :类似/etc/passwd,但说明的不是用户而是组。
/etc/inittab :init的配置文件。
/etc/issue :getty在登录提示符前的输出信息。通常包括系统的一段短说明或欢迎信息。内容由系统管理员确定。
/etc/magic :file的配置文件。包含不同文件格式的说明,file基于它猜测文件类型。
/etc/motd :Message Of The Day,成功登录后自动输出。内容由系统管理员确定。经常用于通告信息,如计划关机时间的警告。
/etc/mtab :当前安装的文件系统列表。由scrīpts初始化,并由mount命令自动更新。需要一个当前安装的文件系统的列表时使用,例如df命令。
/etc/shadow :在安装了影子口令软件的系统上的影子口令文件。影子口令文件将/etc/passwd文件中的加密口令移动到/etc/shadow中,而后者只对root可读。这使破译口令更困难。
/etc/login.defs :login命令的配置文件。
/etc/printcap :类似/etc/termcap,但针对打印机。语法不同。
/etc/profile , /etc/csh.login , /etc/csh.cshrc :登录或启动时Bourne或C shells执行的文件。这允许系统管理员为所有用户建立全局缺省环境。
/etc/securetty :确认安全终端,即哪个终端允许root登录。一般只列出虚拟控制台,这样就不可能(至少很困难)通过modem或网络闯入系统并得到超级用户特权。
/etc/shells :列出可信任的shell。chsh命令允许用户在本文件指定范围内改变登录shell。提供一台机器FTP服务的服务进程ftpd检查用户shell是否列在/etc/shells文件中,如果不是将不允许该用户登录。
/etc/termcap :终端性能数据库。说明不同的终端用什么"转义序列"控制。写程序时不直接输出转义序列(这样只能工作于特定品牌的终端),而是从/etc/termcap中查找要做的工作的正确序列。这样,多数的程序可以在多数终端上运行。
/home 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib 这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/mnt 目录/mnt是用于装载CD-ROM和软盘驱动器的位置。为了访问这些介质,需要将他装载到临时位置,通过这些临时设置,用户才能访问位于这类介质上的文 件。当访问进程结束以后,这类设备将被御载并被成功弹出。一般情况下这个目录是空的,而在我们将要挂载分区时在这个目录下建立目录,再将我们将要访问的设 备挂载在这个目录上,这样我们就可访问文件了。
/opt 以默认方式安装Linux时,并不一定会创建这个目录。该目录是较新程序的默认位置,如KDE和Netscape等。如果该目录不存在,那么在安装较新程序时将分创建他。
/proc 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过命令来屏蔽主机的ping命令,使别人无法ping你的机器。从本质上讲,这不是种目录,而是一种虚拟文件系统。该目录中的文件保存在内存中,而不是在磁盘上。该目录中包含以动态方式创建的文件,这些文件始终处于变动 状态,由系统不断生成。这些文件的存在方式不像一般的文本文件,他们仅根据请求而产生。这类文件提供了与正在系统上运行的进程有关的信息。
/root 该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/var 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。比如spool目录(mail、news、打印机等用的),log文件、formatted manual pages和暂存文件。传统上/var的所有东西曾在/usr下的某个地方,但这样/usr就不可能只读安装了。
/var/catman :当要求格式化时的man页的cache。man页的源文件一般存在/usr/man/man*中;有些man页可能有预格式化的版本,存在/usr/man/cat*中。而其他的man页在第一次看时需要格式化,格式化完的版本存在/var/man中,这样其他人再看相同的页时就无须等待格式化了。(/var/catman经常被清除,就象清除临时目录一样。)
/var/lib 系统正常运行时要改变的文件。
/var/local /usr/local中安装的程序的可变数据(即系统管理员安装的程序)。注意,如果必要,即使本地安装的程序也会使用其他/var目录,例如/var/lock。
/var/lock 锁定文件。许多程序遵循在/var/lock中产生一个锁定文件的约定,以支持他们正在使用某个特定的设备或文件。其他程序注意到这个锁定文件,将不试图使用这个设备或文件。
/var/log 各种程序的Log文件,特别是login (/var/log/wtmp log所有到系统的登录和注销)和syslog (/var/log/messages里存储所有核心和系统程序信息。/var/log里的文件经常不确定地增长,应该定期清除。
/var/run 保存到下次引导前有效的关于系统的信息文件。例如,/var/run/utmp包含当前登录的用户的信息。
/var/spool mail, news,打印队列和其他队列工作的目录。每个不同的spool在/var/spool下有自己的子目录,例如,用户的邮箱在/var/spool/mail中。
/var/tmp 比/tmp允许的大或需要存在较长时间的临时文件。(
/tmp 这个目录是用来存放一些临时文件的。
/usr 文件系统,文件系统经常很大,因为所有程序安装在这里。/usr里的所有文件一般来自Linux distribution;本地安装的程序和其他东西在/usr/local下。这样可能在升级新版系统或新distribution时无须重新安装全部程序。
我们要用到的很多应用程序和文件几乎都存放在usr目录下。具体来说:
/usr/X11R6 存放X-Windows的目录;
/usr/games 存放着XteamLinux自带的小游戏;
/usr/bin 存放着许多应用程序;
/usr/sbin 存放root超级用户使用的管理程序;
/usr/doc Linux技术文档;
/usr/include 用来存放Linux下开发和编译应用程序所需要的头文件;
/usr/lib 存放一些常用的动态链接共享库和静态档案库;
/usr/local 是提供给一般用户的/usr目录,在这里安装一般的应用软件;
/usr/man 帮助文档所在的目录;
/usr/src Linux开放的源代码,就存在这个目录,爱好者们别放过哦;
/usr/share 存放结构独立的数据
/usr/info 存放GNU信息文件
/usr/dict 该目录是Linux系统存储其词汇的位置,多种拼写程序和代码破解程序均会使用该目录与该目录中的内容。