/(根)目录下文件夹的不同用途

3 linux directory-structure root-filesystem

目录里有很多文件夹,/它们都是做什么的?我知道有几个像/dev有链接到系统中的设备,但是怎么样/lost+found还是/proc我只是很好奇。

Gil*_*il' 10

Linux 上对此的官方参考是Filesystem Hierarchy Standard。发行版大多遵循 FHS(目前为3.0 版),但偶尔会偏离。其他 Unix 变体有许多相似之处,但也可能有所不同。维基百科上也有很好的总结。

我将总结在典型 Linux 安装中找到的每个目录的作用。有关每个目录的作用的更多详细信息,请参阅 FHS 或 Wikipedia。

  • /bin:适用于每个用户的系统程序。另见/usr/bin
  • /boot:用于启动系统的文件:通常是引导加载程序内核映像和一些相关文件。这些文件在启动后大多不会被访问。
  • /dev: 设备文件。这些是应用程序与硬件通信的方式,更一般地说是与内核功能有关的关于混洗数据的方式,例如磁盘分区、包括虚拟分区在内的终端等。
  • /etc: 系统配置文件。(之所以这样命名是因为它最初是“不适合其他目录的东西”,但现在它专门用于 Linux 上的配置文件,并且主要用于其他 Unix 变体上的配置文件。杂项现在在/var.)
  • /home: 包含用户主目录的目录。例如 Alice 的文件通常在/home/alice. 在拥有众多用户的系统中,管理员可以选择具有更多的水平(例如/home/faculty/alice/home/students/bob...)。一些站点的主目录位于不同的位置,例如/homes/users , ...
  • /lib包含共享库。另见/usr/lib
    一些发行版有其他目录,例如/lib32/lib64用于存储不同处理器架构的库。
  • /lost+found:用于从文件系统损坏中恢复的文件(但你很少这么幸运)。
  • /media: 包含可移动媒体的挂载点。在某些系统上,挂载点位于第三级,在以用户命名的目录下。
  • /mnt: 是否/mnt应该是一个目录作为临时挂载点供系统管理员使用,还是应该是一个管理员可以创建子目录作为挂载点的目录,曾经存在争议。现在已经获得了第一名,并且/media扮演了第二个角色。
  • /opt: 包含附加软件,每个软件包有一个子目录。一些发行版大量使用它,其他发行版根本不使用它。
  • /proc: 每个进程包含一个子目录,公开有关进程的各种信息。这就是诸如ps和之类的工具top获取其信息的地方。并非在所有 Unix 变体上都存在(BSD 往往没有)。在 Linux 上,/proc还包含有关系统的一般信息,但另请参阅/sys/proc当应用程序读取内容时,内核会动态生成内容。
  • /root: root 用户的主目录。并非在所有系统上都存在;传统上 root 的主目录是/.
  • /run: 一个内存文件系统,包含在重新启动时不需要保留的系统文件,例如有关运行服务的信息。下通常有每个用户的目录/run/user。这是 Linux 的事情。
  • /sbin: 系统程序仅供管理员使用。另见/usr/sbin
  • /srv: 有点像/home,但用于系统服务。尚未被普遍采用的FHS的创建。
  • /sys: 类似/proc,但提供有关内核驱动程序和硬件的/proc信息(不推荐使用用于与进程无关的信息,但为了向后兼容而/proc保留的文件/proc)。特定于 Linux。
  • /tmp: 临时文件,每个用户都可以访问。这通常是一个内存文件系统
  • /usr: 这是大部分软件的安装位置。/usr包含子目录,例如/bin,/lib/sbin(但通常不是/etc)。区别在于, 的子目录/包含系统启动时所需的基本文件,并/usr包含所有其余文件。/usr单独存在是因为有理由将它保存在一个单独的文件系统上(它可以是只读的,并且可以在多台机器之间共享)但这种区别并不总是相关的,随着时间的推移越来越少,所以例如/bin可以是符号链接,/usr/bin反之亦然。这个名字来自“用户”,但它已经很久/usr没有与用户有关了,今天/usr包含系统文件,仅此而已。
  • /var: 包含随时间变化的文件,相比之下/usr,包含除非升级或安装软件时不会更改的文件。与 不同的是/tmp/var如果系统重新启动,下面的文件(在大多数情况下)是要保留的。/var非常多样化:它包含缓存、有关已安装软件的元数据、打印机假脱机、系统邮件、日志文件、临时文件(例如/tmp,但/var/tmp在重新启动时始终保留并且通常具有更多空间)等。


小智 -1

以/为根,其他如下

注意其中一些取决于您的发行版

  • /bin:基本二进制文件(程序或可执行文件)
  • /boot:引导文件,即GRUB(或其他)引导加载程序所需的所有项目
  • /cdrom(取决于您的发行版):CD / DVD 驱动器的安装点
  • /dev:设备文件,这些文件代表(它们实际上是真实的文件)物理(或虚拟)连接的设备
  • /etc:配置文件
  • /home:用户的主文件夹
  • /lib:已安装二进制文件的共享库
  • /lost+found:恢复内核(或某些二进制文件)试图挽救的文件
  • /media:可移动媒体
  • /mnt:安装位置(但你可以安装在任何地方)
  • /opt:您想要安装的可选软件包在其他地方没有意义(尽管这是一个有争议的点)
  • /proc:内核和进程文件。类似于/dev。
  • /root:root用户主目录
  • /run:应用程序文件运行时将其状态保存在这里
  • /sbin:更多二进制文件(主要针对sudo用户)
  • /selinux:如果使用 SELinux(Centos、Redhat Enterprise 等),包含 SELinux 使用的特殊文件
  • /srv:服务的数据目录,例如,Web 服务器可能使用它来存储要“服务”的文件
  • /tmp:临时文件
  • /usr:用户二进制文件
  • /var:/var/log 中的日志文件和其他数据文件。通常与 /usr 二进制文件相关

资料来源:https ://www.howtogeek.com/117435/htg-explains-the-linux-directory-struction-explained/

(稍微转述一下)

  • 这里有足够多的不准确之处,我不推荐 howtogeek 页面作为信息源。[维基百科](https://en.wikipedia.org/wiki/Unix_filesystem#Conventional_directory_layout)更可靠。 (2认同)