之前一直对linux的目录结构不是很了解,最近找时间系统的看了看,然后做了一个整理。
/boot:系统引导文件,内核
/bin:用户的基本命令
/dev:设备文件
/etc:配置文件
/home:用户家目录
/root:root用户家目录
/sbin:管理类的基本命令
/tmp:临时文件存放地,以及一些程序运行时产生是临时数据
/usr:用户资源目录
/mnt:临时文件系统挂载点
/media:移动设备挂载点
/opt:第三方应用程序的安装位置
/srv:系统运行的服务用到的数据
/var:变化的数据文件
/proc:用于输出内核与进程信息相关的虚拟文件系统
/lost+found:系统奔溃以后,此目录下会保留一些文件
/
根目录,每一个文件和目录从根目录开始,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中
只有root用户具有该目录下的写权限。请注意,/root是root用户的主目录,这与/.不一样
/boot
包含引导加载程序相关的文件。
内核的initrd、vmlinux、grub文件位于/boot下。
/bin
与/sbin不同的是,bin目录包含了几个对系统管理员和非特权用户都有用的有用的命令。 它通常包含像bash,csh等等的shell以及像cp,mv,rm,cat,ls这样的常用命令。 出于这个原因,与/usr/bin相反,这个目录中的二进制文件被认为是必不可少的。 原因是它包含必要的系统程序,即使只有包含/的分区被挂载,也必须可用。 如果您需要修复其他分区,但无法访问共享目录(即处于单用户模式,因此无法访问网络),则可能会出现这种情况。 它还包含启动脚本可能依赖的程序。
/dev
包含设备文件。
这些包括终端设备、USB或连接到系统的任何设备。例如:/dev/tty1、/dev/usbmon0
/etc
包含所有程序所需的配置文件,不建议在此目录下存放可执行文件,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份
也包含了用于启动/停止单个程序的启动和关闭shell脚本。例如:/etc/resolv.conf、/etc/logrotate.conf
/home
所有用户用home目录来存储他们的个人档案。
例如:/home/john、/home/nikita
/root
系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。
/sbin
Linux区分“正常”可执行文件和用于系统维护和/或管理任务的可执行文件。后者驻留在这里或者 – 不太重要的 – 在/usr/sbin中。本地安装的系统管理程序应放置在/usr/local/sbin中。
已知在/ usr之后执行的程序已经被挂载(当没有问题时)通常放在/ usr / sbin中。该目录包含对系统工作至关重要的二进制文件。这些包括系统管理以及维护和硬件配置程序。你可能会发现lilo,fdisk,init,ifconfig等….在这里。
包含系统二进制文件的另一个目录是/usr/sbin。该目录包含系统管理员使用的其他二进制文件。这是您可以在其中找到系统的网络守护进程以及(通常)只有系统管理员才能访问但系统维护和修复不需要的其他二进制文件的位置。通常,这些目录不是普通用户$ PATH的一部分,只有根(PATH是一个环境变量,控制着系统尝试查找命令的位置序列)。
/tmp
该目录主要包含临时需要的文件。 许多程序使用它来创建锁定文件和临时存储数据。 除非你确切知道你在做什么,否则不要从这个目录中删除文件! 其中许多文件对于当前正在运行的程序很重要,删除它们可能会导致系统崩溃。 通常它不会包含超过几个KB无论如何。 在大多数系统上,该目录在引导时或在本地系统关闭时被清除。 这是历史的先例和惯例。 但是,由于系统管理不在FSSTND的范围内,所以没有提出要求。 出于这个原因,人和程序不能假定程序的调用之间保留/ tmp中的任何文件或目录。 这背后的原因是符合IEEE标准P1003.2(POSIX,第2部分)。
/usr
包含二进制文件、库文件、文档和二级程序的源代码。
/usr/bin中包含用户程序的二进制文件。如果你在/bin中找不到用户二进制文件,到/usr/bin目录看看。例如:at、awk、cc、less、scp。
一些目录详解,/usr/bin 存放应用程序, /usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local:存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls时会查询/usr/share/man/man1/ls.1.gz的内容建议单独分区,设置较大的磁盘空间。
/mnt
这是安装文件系统或设备的通用挂载点,挂载是将文件系统用于系统的过程
/media
移动设备挂载点,光盘默认挂载点,通常光盘挂载于/mnt/cdrom下,也不一定,可以选择任意位置进行挂载
/opt
第三方应用程序的安装位置
/srv包含由该系统提供的特定于站点的数据。 指定这个的主要目的是使用户可以找到特定服务的数据文件的位置,并且可以合理地放置需要用于只读数据,可写数据和脚本(例如cgi脚本)的单一树的服务。只有特定用户感兴趣的数据应该放在用户的主目录中。
/srv
/var
包含可变数据,如系统日志记录文件,邮件和打印机假脱机目录以及临时和临时文件。 / var的某些部分不能在不同的系统之间共享。例如,/ var / log,/ var / lock和/ var / run。其他部分可能是共享的,特别是/var /mail,/var /cache /man,/var /cache /fonts和/var /spool /news。
/proc
/proc是非常特殊的,它也是一个虚拟文件系统。 它有时被称为过程信息伪文件系统。 它不包含“真实”文件,而是包含运行时系统信息(例如系统内存,安装的设备,硬件配置等)。 由于这个原因,它可以被看作是内核的控制和信息中心。 实际上,相当多的系统工具只是调用这个目录中的文件。 例如,’lsmod’和’cat /proc /modules’是一样的,’lspci’是’cat /proc /pci’的同义词。 通过修改位于这个目录下的文件,你甚至可以在系统运行的时候读取/修改内核参数(sysctl)。
/lost+found
正如前面在FSSTND概述中所解释的那样,Linux应该始终经过正确的关闭。有时您的系统可能会崩溃,或者电源故障可能会使机器停机。不管怎样,在下一次启动时,冗长的文件系统检查(检查的速度取决于实际使用的文件系统的类型,即。ext3比ext2快,因为它是一个日志文件系统)使用fsck将会完成。 Fsck将通过系统并尝试恢复它找到的任何损坏的文件。这个恢复操作的结果将被放置在这个目录中。恢复的文件不太可能是完整的或有意义的,但总是有一个值得回收的机会。每个分区都有自己的lost + found目录。如果您在那里找到文件,请尝试将它们移回原始位置。如果您发现某个文件符号链接错误,则必须从相应的RPM中重新安装该文件,因为您的文件系统受到了严重损坏,导致文件无法识别。下面是一个/ lost + found目录的例子。正如你所看到的,这里包含的绝大多数文件实际上是套接字。至于其他的文件,他们被发现是损坏的系统文件和个人文件。这些文件无法恢复。