use*_*686 26 linux fhs directory-structure
来自 Windows 世界,我发现大多数文件夹目录名称都非常直观:
\Program Files 包含程序使用的文件(惊喜!)
\Program Files (x86) 包含 64 位操作系统上 32 位程序使用的文件
\Users(以前Documents and Settings)包含用户的文件,即文档和设置
\Users\USER\Application Data 包含特定于应用程序的数据
\Users\USER\Documents 包含属于用户的文档
\Windows 包含属于 Windows 本身操作的文件
\Windows\Fonts 存储字体文件(惊喜!)
\Windows\Temp 是一个全局临时目录
等等。即使我不知道这些文件夹做了什么,我也可以从它们的名字中准确地猜测出来。
现在我正在仔细研究 Linux,并且对如何绕过文件系统感到非常困惑。
例如:
/bin包含二进制文件。但也是如此/sbin,/usr/bin, /usr/sbin, 可能还有更多我不知道的。哪个是哪个??它们之间有什么区别?如果我想制作一个二进制文件并将它放在系统范围内的某个地方,我应该把它放在哪里?
/media包含外部媒体文件系统。但也是如此/mnt。目前它们都没有在我的系统上包含任何内容;一切似乎都在/dev。有什么不同?哪里是我的硬盘的其他分区,像C:和D:那名在Windows?
/home包含用户文件和设置。这是直观的,但是,应该进入/usr什么?为什么/root仍然是分开的,即使它是一个拥有文件和设置的用户?
/lib包含共享库,如 DLL。但也是如此/usr/lib。有什么不同?
什么是 /etc?它真的代表“et cetera”还是其他什么意思?什么类型的文件应该放在那里——全局的还是本地的?对于没有人知道放在哪里的东西,它是一个包罗万象的东西,还是有一个特定的用例?
什么是/opt,/proc和/var?它们代表什么以及它们的用途是什么?我在 Windows* 中没有看到过类似的东西,我只是想不出它们的用途。
如果有人能想到其他可能值得了解的标准地方,请随时将其添加到问题中;希望这对像我这样开始熟悉 *nix 系统的人来说是一个很好的参考。
*好吧,那是谎言。我在 WinObj 中看到过类似的东西,但显然不是定期的。不过,我仍然不知道这些在 Linux 上的作用。
bhi*_*ley 30
Linux 发行版使用 FHS:http : //www.pathname.com/fhs/pub/fhs-2.3.html
您也可以尝试man hier.
我会尽量总结回答你的问题,但我强烈建议你通读 FHS:
要访问系统,您通常不需要 /var、/opt、/usr、/home;系统上一些可能最大的目录。
我最喜欢的一个,有些人不使用,是 /srv。它用于通过 http/ftp/samba 等服务托管的数据。我已经看到 /var 经常用于此目的,这并不是它的真正目的。
Arc*_*ege 19
我不会回答它们的含义(其他人有),但会给出一些历史背景。
首先,请记住 UNIX 已经接近 40 岁,回到纸带和 300 波特硬编码终端到大型机的时代(Windows XP 系统已经接近 10 岁)。打字很慢,打字效率的需要超过了许多其他考虑因素。这就是非常短的基本命令(即'ls'、'cat'、'cc'、'dd' 等)的原因。目录结构也是如此。想法是,如果命令超过三四个字符,则名称太长。
/usr 目录最初包含用户的主目录,因为大多数命令都在 /bin 中,而所有设备文件都在 /dev 中。后来它被认为使主驱动器(根文件系统,'/')变小以加快启动时间。因此其他结构如 /usr/bin、/usr/include 和 /usr/lib 出现了,其中 /usr 是一个单独的“驱动器”。很久以后,它被认为在 /home 中有用户的主目录,这是另一个驱动器。比这晚得多,有一个 /var(variable/changeable 的缩写)。/etc 目录确实意味着“et cetera”,因为这是所有系统配置文件的全部位置。/mnt 用作访问驱动器(通常是备份驱动器)的临时位置。像 /opt、/proc 和 /media 这样的目录要晚得多。
有很多被遗漏了(如 /usr/local 和 /net),但这里简要说明了名称“不太直观”的原因。
| 归档时间: |
|
| 查看次数: |
12530 次 |
| 最近记录: |