题 Unix和Unix系统上目录的含义


我已经使用Linux几年了,但我仍然没有弄清楚一些目录名的起源或含义在Unix和Unix系统上是什么。例如。是什么 etc 代表或 var?在哪里 opt 名字来自哪里?

虽然我们仍在讨论这个话题。有人可以清楚地解释哪个目录最适合用于哪些目录。我有时会对安装某些软件或安装软件的最合适目录感到困惑。


92
2018-06-12 05:11




有趣的是,unix是一个模仿multics并且是生存的人...我猜multics只是领先于它的时间。 - SparK


答案:


有关Linux文件系统布局的更多数据,请查看 文件系统层次结构标准 (现在版本2.3,带有 beta 3.0 版本部署在最新的发行版上)。它确实解释了名称的来源:

  • /箱  - 箱子白羊座。
  • /启动  - 所需文件 ING。
  • 的/ dev  - 开发冰文件。
  • /等等  - 等等CTERA。这个名字是从最早的Unix继承而来的,当它成为放置配置文件的地方时。
  • /家  - 哪里  目录保存。
  • / lib目录  - 代码 LIBrary被保留。
  • /媒体  - 一个更现代的目录,但可移动的目录 媒体 安装。
  • 到/ mnt  - 临时文件系统的位置 OUNT编辑。
  • /选择  - 哪里 选择安装了tional附加软件。这是离散的 /usr/local/ 因为我会稍后再说。
  • /跑  - 哪里 保留时间变量数据。
  • / sbin目录  - 哪里 小号uper-箱子白羊座是商店。这些通常只适用于root。
  • 在/ usr  - 从旧的Unixs继承的另一个目录,它代表“用户”。此目录应在主机之间共享,并且可以安全地将NFS安装到多个主机。它可以安全地以只读方式安装。也是如此 Debian Wiki在/ usr 是 üNIX 小号ystem [R物资跟不上。
  • / VAR  - 从旧的Unixs继承的另一个目录,它代表“VAR这是可以存储变化的系统数据的地方。诸如假脱机和缓存目录之类的东西可能位于此处。如果程序需要写入本地文件系统而不是直接向某人提供该数据,那么我会去的
  • / SRV - 代表 ”小号ËRVe“。此目录适用于提供的静态文件。 /srv/http 将用于静态网站, /srv/ftp 对于FTP服务器。

/ opt vs / usr / local

我见过的经验法则最好描述为:

使用 /usr/local 对于通常会进入的事物 /usr,或者压倒已经存在的东西 /usr。使用 /opt 对于在一个目录中安装所有内容的内容,或者其他特殊内容。


111
2018-06-12 05:16



该文件很好地回答了我的问题的前半部分。然而,名称来源的地方仍然是一个谜。我想知道的原因是因为我认为它会给我更多的背景。 - Luke
命名几乎都是自我解释的。特别是如果你仔细阅读该链接中的描述。 - Dan Carley
不,不是。它解释了'etc'用于什么,但没有解释名称来自何处或代表什么。 - Luke
@sysadmin1138,所以 /run 基本上是引用RAM吗? - Pacerier
@Pacerier它是一个文件系统,但可以安全地安装为RAM磁盘。也就是说,许多程序在那里假设一个集合结构,所以实际上需要持久性。 - sysadmin1138♦


从历史上看, /etc 代表“etcetera”和 /var 是“变量”的缩写。我想前者是因为大量不相关的系统配置文件进入了 /etc。后者是因为文件中的 /var 预计会改变。你经常可以登上 /usr 和 / 作为只读(执行更新时除外),但您永远不能挂载 /var 只读。它包含系统日志文件,锁定文件,假脱机文件以及其他动态更改的内容。

其他人给了你一些指示,帮助你弄清楚哪里最好。


20
2018-06-12 05:29





很抱歉复活了一个旧帖子,但我觉得这个细节是对所有未来搜索者的重要说明:

  • /选择 代表可选(如在可选的附加软件包中)。
  • /箱 代表二进制(包含OS使用的可执行文件)。
  • / lib目录 代表库(包含文件系统使用的共享库和用于引导的共享库,可能由bin中的可执行文件使用)
  • / proc中 代表流程。
  • /根 表示root用户。
  • /家 保存任何非root用户的主子目录。
  • 的/ dev 代表设备(保存特殊和设备文件)。
  • / tmp目录 代表临时的。
  • / SRV 代表发球。
  • 到/ mnt 代表挂载点(在此处挂载临时文件系统)。
  • /包括 包含#include文件,即头文件(例如,stdio.h)。
  • / VAR 代表变量
  • /等等 代表等等

  • 在/ usr 代表Unix系统资源(资源


19
2018-06-05 17:13



不错的回答:简洁,针对问题的层次,而不需要查找其他链接。 +1 - Scott Biggs
我以前没有见过srv。我更喜欢约定优于配置,只要它有意义并且是强制执行的。显然,Apache并不总是提供/ srv目录中的文件。 - user148298


试试这个:

$ man hier

15
2018-06-23 18:18



好一个。但是,就像其他答案中提到的文档一样,此手册页仅讨论了目录的用途。我也对选择某些名称的原因感兴趣,例如/ etc,例如 - Luke
关于/ etc的问题的答案如下: en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard - Anonymous


查找文件系统层次结构标准(FHS)的最佳位置。最新版本2.3可在以下位置获得: http://www.pathname.com/fhs/pub/fhs-2.3.html


5
2018-06-12 05:16





/usr 实际意味着 Unix系统资源

资源:: https://wiki.debian.org/FilesystemHierarchyStandard


2
2018-05-17 17:58





如果你观察到几种unix操作系统,你会发现目录名称有什么不同,但大多数常见的解释如下......

/ bin代表二进制文件(包含二进制文件,还包含用户主要使用的命令。它也是命令执行的默认路径)。

/ sbin(这包含通常由超级用户触发的特殊命令)

/ lib代表库(包含文件系统使用的共享库和用于引导的共享库,可能由bin中的可执行文件使用) / proc代表进程(如果你想验证只检查这个导向器它将包含几个以随机数命名的目录,这些只是你可以通过ps交叉检查的进程号 - ef)

/ root表示root用户。(root用户的默认目录) / home(所有非root用户都有此目录下的主目录) / dev代表设备(保存特殊和设备文件,如果你通过ls -l命令在这个目录中查看主要和次要编号也显示在这个目录中,也显示在ls -l结果中每行开头显示的设备类型.B表示块特殊设备,c表示字符特殊设备)。 / tmp代表临时。(某些进程所需的临时资源暂时保存在此处) / mnt代表挂载点(在此处挂载临时文件系统)。 / var代表变量(它包含变量数据,它包含的目录每次都在变化) / opt代表可选(通常是第三方软件安装在此目录中)。 / usr代表Unix系统资源。(所有系统所需的资源都放在这里) / etc代表etcetera(它也很重要,大多数配置文件,用户管理文件,安全文件和其他东西都保存在此下)


1
2017-11-21 06:57