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

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

评论

有趣的事情是unix是multics的模仿,并且是生存之道。

#1 楼

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


/ bin-二进制文件。

/ boot-引导所需的文件。

/ dev-设备文件。

/ etc-等等。该名称继承自最早的Unix,当时它是放置配置文件的地方。

/ home-存放主目录的地方。保留代码库的位置。

/ media-一个更现代的目录,但安装了可移动媒体。

/ mnt-临时文件系统的安装位置。 />
/ opt-安装了可选附加软件的位置。这与/usr/local/是离散的,其原因我稍后再讲。

/ run-保留运行时变量数据的地方。这些通常仅适用于root用户。

/ srv-代表“服务”。该目录用于提供的静态文件。 /srv/http适用于静态网站,/srv/ftp适用于FTP服务器。

/ tmp-可以在其中存储临时文件。 ,它代表“ UNIX系统资源”。它不代表“用户”(请参阅​​Debian Wiki)。此目录应在主机之间共享,并且可以安全地NFS挂载到多个主机。可以安全地以只读方式安装它。

/ var-另一个继承自Unix的目录,它表示“变量”。在这里可以存储变化的系统数据。诸如假脱机和缓存目录之类的东西可能位于此处。如果程序需要写入本地文件系统并且不直接将数据提供给某人,它将进入此处。

/ opt vs / usr / local
规则我见过的拇指最好描述为:

/usr/local用于通常会进入/usr的东西,或覆盖/usr中已经存在的东西。使用/opt可以将它们全部安装在一个目录中,或者可以通过其他方式安装。


评论


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

–卢克
09年6月12日在9:31

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

–丹·卡利
09年6月12日在9:35

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

–卢克
09年6月12日在21:18

@ sysadmin1138,所以/ run基本上是在引用RAM?

–起搏器
2014年12月19日5:59



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

– sysadmin1138♦
2014年12月19日在12:37

#2 楼

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



/ opt表示可选(如可选add -on软件包)。

/ bin代表二进制文件(包含操作系统使用的可执行文件)。

/ lib代表库文件(包含文件系统和引导使用的共享库,可能由操作系统使用) bin中的可执行文件)。

/ proc代表进程。

/ root表示root用户。非root用户。

/ dev代表设备(保存特殊文件和设备文件)。

/ tmp代表临时文件。

/ srv

/ mnt代表安装点(在此处安装临时文件系统)。

/ include包含#include文件,即头文件(例如stdio.h) )。

/ var代表变量
/ etc代表etcetera
/ usr代表Unix系统资源(源代码)


评论


好的答案:简洁明了,直接针对问题的级别,不需要查找其他链接。 +1

– SMBiggs
2014年7月28日在13:37

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

–user148298
18/09/11在13:34

#3 楼

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

#4 楼

试试这个:

$ man hier


评论


好一个。但是,就像其他答案中提到的文档一样,此手册页仅讨论目录的用途。我也对为什么选择某些名称(例如/ etc)感兴趣。

–卢克
09年6月23日在22:33

有关/ etc的问题的答案在这里:en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

–匿名
09年6月24日在12:37

这就是答案。谢谢

–法提赫
20年1月9日,12:30

#5 楼

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

#6 楼

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

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

#7 楼

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

/ bin代表二进制(包含二进制文件,也包含二进制文件)。包含主要由用户使用的命令。它也是命令执行的默认路径)。 / lib代表库(包含文件系统和引导使用的共享库,可能由bin中的可执行文件使用)数字,仅是可以通过ps-ef交叉检查的进程号。

/ root表示root用户。(root用户的默认目录)
/ home(所有非root用户在此目录下有主目录)
/ dev代表设备(保存特殊文件和设备文件,如果您在此目录中查找)通过ls-l命令的主目录和次目录也显示在该目录中,并且还会在ls-l结果的每一行的开头显示设备类型。 B表示块特殊设备,c表示字符特殊设备)。 )。
/ var代表变量(它保存变量数据,它包含的目录每次都会改变大小)。
/ opt代表可选的(通常在此目录中安装了第三方软件)。 br /> / usr代表Unix系统资源。(所有系统必需的资源都放在这里)
/ etc代表etcetera(这也是很重要的,大部分配置文件,用户管理文件,安全文件和其他事物则保留在此之下)