如何了解Ubuntu文件系统布局?

如何了解Ubuntu文件系统布局?

在 Windows 中,安装驱动器(在我的例子中)中可能只有几个重要文件夹(我所说的重要是指在我的 Windows 文件系统逻辑图中很重要)C:\。即和Program FilesWindows我只是远离Windows文件夹,“添加删除程序文件”足以处理program filesWindows 的文件夹。当然有一个名为的文件夹Users,用户(非管理员)只能访问他们的文件夹。

因此,在我的脑海中,Windows 文件系统在某种程度上有了清晰的画面。在 Ubuntu 中,当我到达该位置时/,会出现一个巨大的文件夹列表,其中大多数我都不知道它们包含什么。该/bin文件夹似乎相当于WindowsWindows 中的文件夹。该/usr文件夹似乎相当于UsersWindows 中的文件夹。但即使是/home文件夹看起来也能满足要求。

请理解,我确实知道 Ubuntu (Linux) 的特点与 Windows 不同,也就是说,Ubuntu 中不需要与 Windows 功能完全相同。我所寻找的只是更清晰的 Ubuntu 文件系统图。

这个问题是一个更大问题的一部分,我将这个问题拆分开来,以便更容易回答。原始问题可以在这里找到:
http://sgsawant.wordpress.com/2012/05/17/whats-the-equivalent-of-add-or-remove-programs-in-ubuntu/

答案1

你可以在维基百科上查阅相关内容。摘录如下:

文件系统层次标准(FHS)定义了 Linux 操作系统中的主要目录及其内容。在很大程度上,它是传统 BSD 文件系统层次结构的形式化和扩展。

FHS 由 Linux 基金会维护,该基金会是一个非营利组织,由 HP、Red Hat、IBM 和 Dell 等主要软件和硬件供应商组成。当前版本是 3.0,于 2015 年 6 月 3 日发布。

带有简短描述的视觉表现:

在此处输入图片描述

基本上,Linux 已根据需要的功能划分了目录结构,以便以所需的最低权限使系统尽可能安全。否则,某些人必然要做很多可避免的工作。

请记住,Unix 和 Linux 是多用户系统,而 Windows 是为单个用户创建的。其他一切都可以从这个概念来解释。当考虑它是多用户和安全性时,您可以解释每个目录。

3 个例子:

  • /sbin您将看到,只有管理员权限的文件和目录都集中在同一个目录中:和中的 s/usr/sbin代表/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/是原始位置,在多库系统出现之前,它们存在是为了防止破坏事物。/usr/lib32、、、/usr/lib/64/usr/local/lib32/32/usr/local/lib64/位/64 位多库发明。

这绝不是一个静态的概念。其他 Linux 版本对此布局进行了调整。例如,目前您将看到Debian 和 Ubuntu由于 SSD 更适合只读文件,因此 FHS 的布局发生了很大变化。现在正在朝着新的布局发展,将文件分成“只读”和“可写”目录/组,这样我们就可以拥有一个可以只读(SSD 分区)和可写(SATA HDD)安装的根分区。用于此目的的新目录(不在图像中)是/run/

答案2

尝试一下这个命令:

man 7 hier

您还可以在此处查看此手册页:https://manpages.ubuntu.com/manpages/en/man7/hier.7.html

答案3

迟来的答复- 我为初学者创建了一个路线图。如果他们正在寻找文件但不知道在哪里查找,他们可以使用地图大致导航。您可以下载高分辨率 PNG这里。您可以找到相关文章这里。我会在时间允许的情况下继续更新文件和帖子,并纳入有用的评论。

答案4

\Users相当于/home。 的名称/usr是历史文物。

\Windows和的组合等价于、 、、、、和\Program Files的组合。Linux 和 Windows 对已安装软件的划分不同。Windows 区分操作系统和配套程序。Linux 的区分方式不同;大多数(如果不是全部)软件都来自 Ubuntu(分发服务器)并安装在同一目录层次结构中,而且由于软件由包管理器跟踪,因此无需将每个程序存储在其自己的目录中。在 Linux 上:/bin/boot/etc/lib/sbin/tmp/usr/var

  • /etc代表系统配置文件:影响所有用户的配置文件,无论它们适用于整个操作系统还是特定的应用程序。
  • /usr用于系统代码和数据(程序、库、文档等)。
  • /var用于变量或临时数据:临时文件、日志、包管理器数据库、打印机假脱机、游戏保存文件等。还有/tmp可以在重启后删除的临时文件。
  • /bin和根目录中的 都有对应的文件。外部的文件是引导过程早期所需的文件。这是磁盘较小且可能位于网络上多个工作站共享的文件系统上的遗留问题/lib,在大多数系统上,这实际上并不是一个有用的区别。/sbin/usr/usr/usr
  • /boot包含一些仅用于启动操作系统而非日常操作所需的文件。

还有一些与 Windows 中任何内容都不对应的附加目录:

  • /root是 root 用户的主目录。root 用户是管理员帐户,不与任何特定用户绑定;它是您在运行 时更改为的用户sudo。Ubuntu 默认不允许 root 用户登录。
  • /media/mnt是安装点:您可以在其中查看其他操作系统和远程驱动器的文件系统。Windows 中的等价物是其他驱动器号。
  • /proc/sys显示系统信息。在 Windows 上,您需要浏览菜单或调用系统命令或安装第三方程序才能查看此信息。

Ubuntu 与其他 Linux 发行版一样,通常遵循 Linux文件系统层次标准

相关内容