Unix和类似Unix的系统上目录的含义


113

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

而且无论如何我们都在讨论这个话题。有人可以明确说明哪个目录最适合用于什么目录。有时我会感到困惑,将某些软件安装在什么位置或将软件安装到哪个目录最合适。


有趣的是,unix是multics的模仿,并且是生存之道...我想multics早于现在。
SparK

Answers:


135

有关Linux文件系统布局的更多数据,请查看Filesystem Hierarchy Standard(现在为2.3 版,在最新发行版中部署了beta 3.0版)。它确实解释了一些名称的来源:

  • / bin中 -白羊座。
  • /开机 -需要的文件启动 ING。
  • / dev - dev ice文件。
  • /等 -的EtÇ etera。该名称是从最早的Unix继承而来的,Unix成为放置配置文件的场所。
  • /家 -凡目录将被保留。
  • / lib-存放代码库的地方。
  • / media-一个更现代的目录,但可移动介质已安装在该目录中。
  • 到/ mnt -当临时文件系统 OU NT版。
  • /选择 -如果选择安装有理附加软件。这与/usr/local/我稍后将讨论的原因是不连续的。
  • /运行 -在哪里运行时间变量数据被保存。
  • / sbin目录 -凡小号 uper-存储白羊座。这些通常仅适用于root用户。
  • / SRV -代表“小号 è RV E”。该目录用于提供的静态文件。/srv/http将用于静态网站,/srv/ftp用于FTP服务器。
  • 的/ tmp -何处 Ë熔点的卵巢文件可以被存储。
  • 的/ usr -从旧的Unix系统继承另一个目录中,它代表“ û NIX小号 ystem ř物资跟不上”。它并不能代表“用户”(见 Debian的维基)。此目录应在主机之间共享,并且可以安全地NFS挂载到多个主机。可以将其安全地只读安装。
  • / var-从Unix继承的另一个目录,它表示“ var iable”。在这里可以存储变化的系统数据。诸如假脱机和缓存目录之类的东西可能位于此处。如果程序需要写入本地文件系统并且不直接将数据提供给某人,它将进入此处。

/ opt与/ usr / local

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

使用/usr/local的东西,通常会进入/usr,或正在覆盖的东西已经在/usr。使用/opt该安装在同一个目录中,或在其他方面特别的东西。


2
该文件很好地回答了我的问题的前一半。但是,名称的来源仍然是个谜。我想知道的原因是因为我认为它将为我提供更多背景信息。
路加福音

命名几乎都是不言而喻的。特别是如果您通读了该链接中的描述。
丹·卡利

3
不,不是。它说明了“ etc”的作用,但没有说明名称的来源或含义。
路加福音

@ sysadmin1138,所以/run基本上是引用RAM吗?
Pacerier,2014年

@Pacerier这是一个文件系统,但可以安全地安装为RAM磁盘。就是说,许多程序在其中都采用了固定的结构,因此实际上需要持久性。
sysadmin1138

23

很抱歉,要恢复旧线程,但我认为此详细信息对于所有将来寻求该信息的人来说都是一个重要的说明:

  • / opt代表可选(如可选附加软件包中的)。
  • / bin代表二进制文件(包含操作系统使用的可执行文件)。
  • / lib代表库(包含文件系统和引导使用的共享库,可能由bin中的可执行文件使用)
  • / proc代表进程。
  • / root表示root用户。
  • / home保留所有非root用户的home子目录。
  • / dev代表设备(保存特殊文件和设备文件)。
  • / tmp代表临时。
  • / srv代表服务。
  • / mnt代表安装点(在此处安装临时文件系统)。
  • / include包含#include文件,即头文件(例如stdio.h)。
  • / var代表变量
  • / etc代表etcetera

  • / usr代表Unix系统资源(


不错的答案:简洁明了,直接针对问题的级别,不需要查找其他链接。+1
斯科特·比格斯

我以前没看过srv。我更喜欢约定而不是配置,只要它有意义并且可以执行即可。显然,Apache并不总是提供/ srv目录中的文件。
user148298

22

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

其他人为您提供了指导,以帮助您找出最佳解决方案。





1

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

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

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

/ lib代表库(包含文件系统和启动时使用的共享库,可能由bin中的可执行文件使用)/ proc代表进程(如果要验证,只需检查此Director,它将包含几个以随机数命名的目录,即除了进程号,您可以通过ps进行交叉检查-ef)

/ root表示root用户。(root用户的默认目录)/ home(所有非root用户在此目录下都有home目录)/ dev代表设备(如果通过ls在此目录中查找,则包含特殊文件和设备文件) -l命令的主要和次要编号也显示在此目录中,并且在ls-l结果的每一行的开头也显示了设备类型。B表示块特殊设备,c表示字符特殊设备)。/ tmp表示临时。(某些进程所需的临时资源临时保存在此处)/ mnt表示安装点(在此处安装临时文件系统)。/ var代表变量(它保存变量数据,它包含的目录每次都会改变大小)/ opt代表可选(通常在此目录中安装了第三方软件)。/ usr代表Unix系统资源。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.