本文汇总了一下Linux文件系统的目录结构,就本文作者所能理解的程度,以尽可能简明的方式介绍了常见的Linux不同目录的用途。
严格来说,这些内容的真实来源来自于网络,不是本文作者第一次以这样的文字来描述这些目录结构,而是觉得介绍Linux目录结构的文字都各有侧重,各有其精彩之处,本文只是汇总了一下对Linux目录结构不同目录的精彩描述。
系统管理员目录。对于系统来说,系统管理员就是上帝,因此,系统管理员能对系统做任何事情,甚至包括删除整个文件系统。所以,请小心使用root帐号。
包含二进制可执行文件。此目录包含所有用户的常用命令,如ls、ping、cp等。通常来说,该目录缺省已包含在系统变量PATH中。
此目录中的命令主要供系统管理员使用,以进行系统维护,比如iptables、reboot、fdisk等。
包含所有应用程序的配置文件,也包含启动、关闭某个特定程序的脚本,比如/etc/resolv.conf、/etc/logrotate.conf等。
若安装了nginx套件,你会发现nginx套件的配置文件就在/etc/nginx目录下。
包含所有应用程序的配置文件,也包含启动、关闭某个特定程序的脚本,比如/etc/resolv.conf、/etc/logrotate.conf等。
所有系统进程的信息都包含在/proc目录中。/proc文件系统是一个虚拟文件系统,通过它可以在Linux内核空间和用户空间进行通信。
与普通文件不同的是,这些文件都是动态创建的。
/proc文件系统包含了运行中的进程信息,也包含了系统资源信息,如/proc/uptime包含了最近一次启动至今的正常运行时间,/proc/cpuinfo包含了处理器信息,/proc/version包含了内核版本信息等。
一个可增长的目录,包含变量文件。比如,/var/log(系统日志),/var/lib(包文件),/var/mail(邮件),/var/spool(打印队列)等。
为用户应用程序存放可执行文件、源代码和文档。
/usr/bin包含了用户可执行文件,如at、awk、cc等。
/usr/sbin包含了系统管理员可执行文件,如cron、sshd、useradd等。
/usr/local包含了用户编译源代码安装的应用程序,如/usr/local/apache2等。
/usr/share用于存放一些共享数据,比如音乐文件或共享图标等。
/usr/lib用于存放那些不能直接运行的,但却是很多程序运行必须的一些函数库文件。
软件包管理器(ubuntu下是“新立得”)会自动帮你管理好/usr目录。
主要用来存放手动安装的软件。即不是通过“新立得”或apt-get安装的软件。它和/usr目录具有想类似的目录结构。
让软件包管理器来管理/usr目录,而把自定义的脚本放到/usr/local下面,应该是个不错的主意。
存放用户的私人数据。具体每个用户的console设置文件,用户的桌面文件夹,用户下载的数据,用户的音乐文件,用户的视频文件等都放在这里。
每个用户都有自己的用户目录,位置为/home/用户。比如,有两个用户david和tom,则/home目录下会有对应两个用户的目录:/home/david/和/home/tom。
当然,root用户除外。
我习惯于把工作目录放在本用户下的wrk,即:/home/david/wrk。
临时目录。对于某些程序来说,有些文件用了一次两次之后,就不会再被用到,象这样的文件就放在这里。
有些Linux系统会定期对此目录进行清理,因此,千万别把重要的数据放在这里。
可选应用目录。用于安装独立软件商的可选应用。你想尝试最新版的firefox测试版吗?那就装到/opt目录下吧,这样,当你尝试完,想删掉firefox的时候,你就可以直接删除它,而不影响系统其他任何设置。
安装到/opt目录下的程序,它所有的数据、库文件等都是放在同一个目录下。
举个例子:刚才装的测试版firefox,就可以装到/opt/firefox目录下,/opt/firefox下就包含了所有运行firefox所需要的文件、库、数据等。要删除firefox的时候,只需要删除/opt/firefox目录即可,非常简单。
/bin和/sbin中的可执行文件需要/lib中库文件的支持。库文件通常以“ld*”或“ld*.so”的形式命名,如lcrypto-1.2.0.so等。
Linux系统启动时需要加载的文件。Kernel、initrd、grub等文件都存放在此。
挂载点,系统管理员可用于临时挂载文件系统。
有些Linux的发行版使用这个目录来挂载那些USB接口的移动硬盘(包括U盘),CD/DVD驱动器等。
挂载可移动媒体设备,如/media/cdrom,/media/floppy等。
Service目录。用于服务器的所有服务数据存储在此目录中。