当前位置: 首页>>技术问答>>正文


如何理解Ubuntu文件系统的布局?

,

问题描述

在Windows中,安装驱动器(在我的情况下为C:\)中可能只有几个重要的文件夹(重要的是我的意思是我的Windows文件系统的逻辑图像)。即Program FilesWindows。我只是远离Windows文件夹,并且“添加删除程序文件”足以处理Windows的program files文件夹。当然,有一个名为Users的文件夹,用户(不是管理员)只能访问他们的文件夹。

因此,在我脑海中,Windows文件系统的某个层面上有一个清晰的图像。在Ubuntu中,当我到达位置/时,有一大堆文件夹,其中大部分我都不知道它们包含的内容。 /bin文件夹似乎相当于Windows中的Windows文件夹。 /usr文件夹好像与Windows中的Users文件夹相同。但即使是/home文件夹,它看起来也能满足账单要求。

请理解,我明白,Ubuntu(Linux)具有与Windows不同的特性,即在Ubuntu中不需要与Windows功能完全等价。我正在寻找的是Ubuntu文件系统的更清晰的图片。

这个问题是一个更大的问题的一部分,我正在分裂,使它更加负责任。原始问题可以在这里找到:http://sgsawant.wordpress.com/2012/05/17/whats-the-equivalent-of-add-or-remove-programs-in-ubuntu/

最佳解决方法

你可以阅读这个例如维基百科。摘录:

The Filesystem Hierarchy Standard (FHS) defines the main directories and their contents in Linux operating systems. For the most part, it is a formalization and extension of the traditional BSD filesystem hierarchy.

The FHS is maintained by the Linux Foundation, a non-profit organization consisting of major software and hardware vendors, such as HP, Red Hat, IBM and Dell. The current version is 3.0, released on June 3, 2015.

具有简短描述的视觉表示:

filesystem,ubuntu

基本上,Linux已经根据所需的功能划分了目录结构,以使系统尽可能安全,并且所需的权限最小。否则,有人必然会做大量可以避免的工作。

请记住,作为multi-user系统和Windows制作的Unix和Linux是为单个用户创建的。其他一切都可以从这个想法中解释。在考虑multi-user和安全性时,你可以解释每个目录。

3个例子:

  • 您将看到只有admin的文件和目录收集在同一目录中:/sbin/usr/sbin中的s和/usr/local/sbin代表系统。普通用户甚至无法启动那里的程序。根据最符合逻辑的位置,普通用户可以启动的文件位于/bin,/usr /bin,/usr /local /bin中。但是,如果他们是管理员,他们应该去该目录的s版本。有一个叫做fuser的着名实用程序。你可以用它杀死进程。如果一个普通用户可以使用这个(S)他将能够杀死你的会话。

  • /home也是如此:/home /user1是user1的属性。 /home /user2是user2的属性。 user2在user1的家中没有任何业务(反过来也是如此:user1在user2的家中没有任何业务)。如果所有文件都放在/home中,并且下面没有用户名,则必须为每个文件授予权限,并评估是否允许有人写入/删除这些文件。一个噩梦,如果你有几十个用户。

  • Addition关于库。 /lib//usr/lib//usr/local/lib/是原来的位置,从multilib系统存在和存在以防止破坏事物。 /usr/lib32/usr/lib/64/usr/local/lib32//usr/local/lib64/是32位/64位multilib发明。

无论如何,这不是一个静态的概念。其他Linux版本对这个lay-out进行了调整。例如;目前您将看到debian and Ubuntu在FHS的lay-out中发生了很大变化,因为SSD只有只读文件才更好。有一个新的lay-out,其中文件被分成一个’read only’和一个’writable’目录/组,因此我们可以有一个可以挂载的只读分区(分区为ssd)和可写(sata hdd)的根分区。用于此目录(不在图像中)的新目录是/run/

次佳解决方法

试试这个命令…

man 7 hier

希望能帮助到你

第三种解决方法

以下文本显示目录结构。

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

这里的主要组件是:

  1. /boot:包含引导装载程序

  2. /home:包含用户的主目录。

  3. /bin:系统中所有用户使用的所有可执行二进制文件和命令均位于此处。

  4. /sbin:包含系统管理员通常使用的系统可执行二进制文件。

  5. /lib:包含支持/bin和/sbin中的二进制文件的系统库。

  6. /etc:包含网络配置文件boot-time等。

  7. /dev:此处显示设备文件,即usb,终端设备或连接到系统的任何其他设备。

  8. /proc:包含有关正在运行的进程的信息。

  9. /tmp:这是许多进程创建所需临时文件的临时目录。每次机器启动时都会清除此信息。

有关更多详细信息,Thegeekstuff链接完美地解释了通用Linux file-system。

第四种方法

晚回答 – 我已经为初学者制定了一个路线图。如果他们正在寻找一个文件,但不知道在哪里寻找,他们可以使用Map粗略浏览。您可以下载hi-res PNG here。你可以找到相关的帖子here。如果时间允许,我会继续更新文件和帖子,并将有用的评论结合起来。

filesystem,ubuntu

第五种方法

\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包含一些仅用于引导操作系统的文件,而不包含用于day-to-day操作的文件。

还有其他的目录不对应于Windows所具有的任何内容:

  • /root是根用户的主目录。根用户是与任何特定用户无关的管理员帐户;这是您在运行sudo时更改为的用户。 Ubuntu不允许root用户默认登录。

  • /media/mnt是挂载点:它们是您可以看到其他操作系统和远程驱动器的文件系统的位置。 Windows相当于其他驱动器号。

  • /proc/sys显示系统信息。在Windows上,您需要浏览菜单或调用系统命令或安装third-party程序以查看此信息。

与其他Linux发行版一样,Ubuntu一般遵循Linux Filesystem Hierarchy Standard

第六种方法

Ubuntu(与所有的UNIX-like系统一样)将文件组织在一个分层树中,其中的关系被认为是在孩子和父母的团队中。目录可以包含其他目录以及常规文件,即树的”leaves”。树的任何元素都可以通过路径名引用;绝对路径名以字符/(标识包含所有其他目录和文件的根目录)开始,然后列出每个必须遍历以访问该元素的子目录,每个子目录都用/号隔开。

相对路径名称不是以/开头;在这种情况下,目录树从给定点开始遍历,该点根据上下文而变化,称为当前目录。在每个目录中,都有两个特殊的目录。和..分别指向目录本身及其父目录。

所有文件和目录具有共同的根意味着,即使系统中存在多个不同的存储设备,它们也都被视为目录树中的某个目录,一旦它们被安装到所需的位置

Find examples and more information here

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/201.html,未经允许,请勿转载。