it-swarm.cn

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

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

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

113
Luke

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

  • -bin-Binaries。
  • / boot-booting所需的文件。
  • / dev-Device文件。
  • / etc-等等等等。该名称是从最早的Unix继承而来的,Unix成为放置配置文件的场所。
  • / home-保留home目录。
  • / lib-保留代码libraries。
  • -// media-一个更现代的目录,但安装了可移动的media
  • // mnt-临时文件系统为mounted。
  • / opt-安装了optional附加软件的位置。这与/usr/local/是离散的,原因我稍后再讲。
  • / run-保留run时间变量数据。
  • -sbin-存储super-binaries这些通常仅与root用户一起使用。
  • / srv-代表“serve”。该目录用于提供的静态文件。 /srv/http用于静态网站,/srv/ftp用于FTP服务器。
  • / tmp-可以存储temp普通文件。
  • / usr-从旧的Unix继承的另一个目录,它表示“[〜#〜] u [〜#〜]NIX[〜#〜] s [〜#〜]系统[〜#〜] r [〜#〜]资源”。它确实not代表“用户”(请参阅​​ Debian Wiki )。此目录应在主机之间共享,并且可以安全地NFS挂载到多个主机。它可以安全地只读安装。
  • / var-另一个从旧版Unix继承的目录,它表示“variable”。在这里可以存储变化的系统数据。诸如假脱机和缓存目录之类的东西可能位于此处。如果程序需要写入本地文件系统并且不直接将数据提供给某人,它将进入此处。

/ opt与/ usr/local

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

使用/usr/local处理通常会出现在/usr中的内容,或覆盖已覆盖/usr中的内容。将/opt用于将所有内容安装在一个目录中,或者是特殊的安装。

135
sysadmin1138

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

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

22
Eddie

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

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

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

22
Mike

尝试这个:

$ man hier
20
Anonymous

查找此文件的最佳位置是文件系统层次结构标准(FHS)。最新版本为2.3,网址为: http://www.pathname.com/fhs/pub/fhs-2.3.html

6
Joe

/usr实际上表示Unix系统资源

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

2
prado

如果您观察几种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系统资源。(所有系统所需的资源都放在这里)/ etc代表etcetera(这也是很重要的,大多数配置文件,用户管理文件,安全文件和其他东西都保存在此之下)。

1
Anwar khan