来自Windows世界,我发现大多数文件夹目录名称都非常直观:
\Program Files
包含程序使用的文件(惊奇!)\Program Files (x86)
包含由64位OS上的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
。有什么不同?硬盘上的其他分区(例如Windows中的C:
和D:
)在哪里?/home
包含用户文件和设置。这么直观是什么,但是接下来应该做什么/usr
呢?/root
即使是拥有文件和设置的用户,又怎么会分开呢?/lib
包含共享库,例如DLL。但是也是/usr/lib
。有什么不同?什么是
/etc
?它真的代表“等等”吗?哪些文件应该放在那里-全局文件还是本地文件?它是所有人都不知道放在哪里的东西的统筹,还是有特定的用例?什么是
/opt
,/proc
和/var
?它们代表什么?它们代表什么?我在Windows *中还没有看到类似它们的东西,而且我只是想不出它们的用途。
如果有人可以想到其他可能会有所了解的标准地点,请随时将其添加到问题中;希望对于像我这样开始熟悉* nix系统的人们来说,这可以是一个很好的参考。
*好,那是谎言。我在WinObj中看到过类似的事情,但显然不是定期的。我仍然不知道这些在Linux上做什么。
C:\Program Files
,C:\ProgramData
,%HOME%\AppData\Local
,%HOME%\AppData\LocalLow
,C:\Windows\SystemApps
...所有的例子,其中一个可以在Windows可执行找到。而且我什至不谈论配置文件和注册表,我不想变得更加沮丧。PS:我主要在Windows中工作。