如何理解Ubuntu文件系统布局?
在Windows中,安装驱动器中可能只有几个重要的文件夹(重要的是我在Windows文件系统的逻辑图片中很重要)(在我的例子中为C:\
)。 即Program Files
和Windows
。 我只是远离Windows
文件夹,“添加删除程序文件”足以处理Windows的program files
夹。 当然,有一个名为Users
的文件夹,其中用户(不是管理员)只能访问其文件夹。
因此,在我的脑海中对Windows文件系统有一个清晰的画面。 在Ubuntu中,当我到达位置/
,有一个巨大的文件夹列表,其中大多数我不知道它们包含什么。 /bin
文件夹似乎相当于Windows
中的Windows
文件夹。 /usr
文件夹似乎相当于Windows中的Users
文件夹。 但即使是/home
文件夹看起来也符合要求。
请理解我的理解是,Ubuntu(Linux)具有与Windows不同的特性,即在Ubuntu中不需要与Windowsfunction完全等效。 我正在寻找的是Ubuntu文件系统的更清晰的图片。
这个问题是一个更大的问题的一部分,我正在分裂,以使其更负责任。 原始问题可以在这里找到:
http://sgsawant.wordpress.com/2012/05/17/whats-the-equivalent-of-add-or-remove-programs-in-ubuntu/
您可以在维基百科上阅读此内容。 摘录:
文件系统层次结构标准 (FHS)定义Linux操作系统中的主目录及其内容。 在大多数情况下,它是传统BSD文件系统层次结构的forms化和扩展。
FHS由Linux基金会维护,Linux基金会是一个由主要软件和硬件供应商组成的非营利组织,如惠普,红帽,IBM和戴尔。 当前版本是3.0,于2015年6月3日发布。
具有简短描述的视觉表示:
基本上,Linux根据所需的function划分了目录结构,使系统尽可能安全,并且所需的权限最少。 否则,某人必然会做很多可以避免的工作。
请记住,为单个用户创建了作为多用户系统和Windows的Unix和Linux。 其他一切都可以从这个想法中解释出来。 在考虑它是多用户和安全性时,您可以解释每个目录。
3个例子:
-
您将看到仅管理员的文件和目录收集在同一目录中:
/sbin
和/usr/sbin
的s和/usr/local/sbin
代表系统。 普通用户甚至无法启动其中的程序。 普通用户可以启动的文件位于/ bin,/ usr / bin,/ usr / local / bin中,具体取决于逻辑上应该驻留的位置。 但如果他们只是管理员,他们应该去那个目录的s
版本。 有一个名为fuser
的着名实用程序。 你可以用它杀死进程。 如果普通用户可以使用这个,他就可以杀死你的会话。 -
/home
:/ home / user1是user1的属性。 / home / user2是user2的属性。 user2没有业务在user1的家中做事(反过来也是如此:user1没有业务在user2的家里做事)。 如果所有文件都在/ home中没有用户名,则必须为每个文件授予权限,并评估是否允许某人写入/删除这些文件。 如果你有几十个用户,那就是噩梦。 -
关于图书馆的补充 。
/lib/
,/usr/lib/
和/usr/local/lib/
是原始位置,从multilib系统存在之前和存在以防止破坏事物。/usr/lib32
,/usr/lib/64
,/usr/local/lib32/
,/usr/local/lib64/
是32/64位multilib发明。
无论如何,它不是一个静态的概念。 其他Linux风格调整了这个布局。 例如; 目前你会看到debian和Ubuntu在FHS的布局上发生了很大的变化,因为SSD的读取文件更好。 有一个向新布局的运动,其中文件被分成“只读”和“可写”目录/组,因此我们可以有一个可以只读(ssd的分区)和可写的根分区(sata hdd)。 用于此目的(不在图像中)的新目录是/run/
。
试试这个命令……
man 7 hier
希望能帮助到你
迟到的答案 – 我已经为初学者制定了路线图。 如果他们正在寻找文件但不知道在哪里查看,他们可以使用地图粗略浏览。 您可以在这里下载高分辨率PNG。 你可以在这里找到相关的post。 我会在时间允许的情况下不断更新文件和post,并加入有用的评论。
以下文本显示了目录结构。
mtk4@laptop:/$ pwd / mtk4@laptop:/$ tree -L 1 . |-- bin |-- boot |-- cdrom |-- dev |-- etc |-- home |-- lib |-- lost+found |-- media |-- mnt |-- opt |-- proc |-- root |-- run |-- sbin |-- selinux |-- srv |-- sys |-- tmp |-- usr |-- var
这里的主要组成部分是:
-
/boot
:包含引导加载程序 -
/home
:包含用户的主目录。 -
/bin
:系统中所有用户使用的所有可执行二进制文件和命令都位于此处。 -
/sbin
:这包含系统管理员通常使用的系统可执行二进制文件。 -
/lib
:包含支持/ bin和/ sbin中的二进制文件的系统库。 -
/etc
:包含网络,启动时等的配置文件。 -
/dev
:这里有设备文件,即usb,终端设备或连接到系统的任何其他设备。 -
/proc
:包含有关正在运行的进程的信息。 -
/tmp
:这是许多进程创建所需临时文件的临时目录。 每次启动机器时都会清除它。
有关更多详细信息, Thegeekstuff链接完美地解释了通用linux文件系统。
\Users
相当于/home
。 /usr
的名称是历史文物。
\Windows
和\Program Files
的组合等价物是/bin
, /boot
, /etc
, /lib
, /sbin
, /tmp
, /usr
和/var
。 Linux和Windows以不同方式拆分安装的软件。 Windows区分操作系统和配套程序。 Linux没有以同样的方式做出这种区分; 大多数(如果不是所有)软件都通过Ubuntu(分发服务器)来安装并且安装在相同的目录层次结构中,并且由于软件包由管理器管理器跟踪,因此不需要将每个程序存储在它自己的目录中。 在Linux上:
-
/etc
用于系统配置文件:影响所有用户的配置文件,无论它们是作为整体应用于操作系统还是应用于特定应用程序。 -
/usr
用于系统代码和数据(程序,库,文档等)。 -
/var
用于变量或临时数据:临时文件,日志,包管理器数据库,打印机假脱机,游戏保存文件等。还有/tmp
用于可以在重新启动时擦除的临时文件。 - 根目录中的
/bin
,/lib
和/sbin
在/usr
具有对应项。/usr
之外的文件是引导过程早期需要的文件。 这是从磁盘很小并且/usr
可能位于通过网络在多个工作站之间共享的文件系统时的遗留物,它在大多数系统上并不是真正有用的区别。 -
/boot
包含仅用于引导操作系统所需的一些文件,而不适用于日常操作。
还有其他目录与Windows具有的任何内容都不对应:
-
/root
是root用户的主目录。 root用户是一个与任何特定用户无关的管理员帐户; 它是您运行sudo
时更改为的用户。 默认情况下,Ubuntu不允许root用户登录。 -
/media
和/mnt
是挂载点:它们是您可以看到其他操作系统和远程驱动器的文件系统的地方。 Windows等效的是其他驱动器号。 -
/proc
和/sys
显示系统信息。 在Windows上,您需要浏览菜单或调用系统命令或安装第三方程序以查看此信息。
与其他Linux发行版一样,Ubuntu通常遵循Linux Filesystem Hierarchy Standard 。
Ubuntu(像所有类UNIX系统一样)在分层树中组织文件,其中关系被认为是儿童和父母的团队。 目录可以包含其他目录以及常规文件,它们是树的“叶子”。 树的任何元素都可以通过路径名引用; 绝对路径名以字符/(标识根目录,其中包含所有其他目录和文件)开头,然后列出必须遍历以到达该元素的每个子目录,每个子目录用/符号分隔。
相对路径名是不以/开头的名称; 在这种情况下,从给定点开始遍历目录树,该点根据上下文而变化,称为当前目录。 在每个目录中,都有两个名为的特殊目录。 和..,分别指向目录本身及其父目录。
所有文件和目录都具有公共根的事实意味着,即使系统上存在多个不同的存储设备,一旦将它们安装到所需位置,它们都被视为树中某处的目录
在此处查找示例和更多信息 :