Linux目录结构,解释

image

如果你来自Windows,Linux文件系统结构看起来特别陌生。 C:\驱动器和驱动器的字母都没有了,被一个/和隐藏的声音目录替换,其中大多数有三个字母的名称。

文件系统层次标准(FHS)定义了Linux和其他类UNIX操作系统上的文件系统的结构。 但是,Linux文件系统还包含一些尚未由标准定义的目录。

/ - 根目录

Linux系统上的所有内容都位于/目录下,称为根目录。 你可以把/目录看作类似于Windows上的C:\目录 - 但是这不是严格的,因为Linux没有驱动器盘符。 而另一个分区将位于Windows上的D:\,这个其他分区将出现在Linux下的另一个文件夹中。

image

/ bin - 基本用户二进制

/ bin目录包含在以单用户模式安装系统时必须显示的必要用户二进制文件(程序)。 诸如Firefox之类的应用程序存储在/ usr / bin中,而重要的系统程序和实用程序(如bash shell)位于/ bin中。 / usr目录可以存储在另一个分区 - 将这些文件放在/ bin目录中,确保系统将具有这些重要的实用程序,即使没有安装其他文件系统。 / sbin目录是类似的 - 它包含必要的系统管理二进制文件。

image

/ boot - 静态引导文件

/ boot目录包含引导系统所需的文件 - 例如,GRUB引导加载程序的文件和您的Linux内核存储在此处。 引导加载程序的配置文件不在这里,但是它们在/ etc与其他配置文件。

/ cdrom - CD-ROM的历史安装点

/ cdrom目录不是FHS标准的一部分,但是你仍然可以在Ubuntu和其他操作系统上找到它。 它是插入系统中的CD-ROM的临时位置。 但是,临时介质的标准位置在/ media目录中。

/ dev - 设备文件

Linux将设备公开为文件,而/ dev目录包含表示设备的许多特殊文件。 这些不是我们所知的实际文件,而是作为文件显示 - 例如/ dev / sda表示系统中的第一个SATA驱动器。 如果你想分区它,你可以启动一个分区编辑器,并让它编辑/ dev / sda。

此目录还包含伪设备,这些虚拟设备实际上不对应于硬件。 例如,/ dev / random产生随机数。 / dev / null是一个特殊的设备,不产生输出,并自动丢弃所有输入 - 当你将命令的输出管道到/ dev / null时,就丢弃它。

image

/ etc - 配置文件

/ etc目录包含配置文件,通常可以在文本编辑器中手动编辑。 请注意,/ etc /目录包含系统范围的配置文件 - 用户特定的配置文件位于每个用户的主目录中。

/ home - 主文件夹

/ home目录包含每个用户的主文件夹。 例如,如果您的用户名是bob,则您的home文件夹位于/ home / bob。 此主文件夹包含用户的数据文件和用户特定的配置文件。 每个用户只能对自己的主文件夹具有写访问权限,并且必须获取提升的权限(成为root用户)才能修改系统上的其他文件。

image

/ lib - 必需的共享库

/ lib目录包含/ bin和/ sbin文件夹中必需的二进制文件所需的库。 / usr / bin文件夹中的二进制文件所需的库位于/ usr / lib中。

/ lost + found - 恢复的文件

每个Linux文件系统都有一个lost + found目录。 如果文件系统崩溃,将在下次引导时执行文件系统检查。 发现的任何损坏的文件将被放置在lost + found目录中,因此您可以尝试尽可能多地恢复数据。

/ media - 可移动媒体

/ media目录包含安装插入计算机的可移动媒体设备的子目录。 例如,当您将CD插入Linux系统时,将在/ media目录中自动创建一个目录。 您可以访问此目录中的CD的内容。

/ mnt - 临时挂接点

历史上,/ mnt目录是系统管理员在使用临时文件系统时挂载的目录。 例如,如果要装载Windows分区以执行某些文件恢复操作,则可以将其装载到/ mnt / windows。 但是,您可以在系统上的任何位置安装其他文件系统。

/ opt - 可选软件包

/ opt目录包含可选软件包的子目录。 它通常由不遵守标准文件系统层次结构的专有软件使用 - 例如,在安装它时,专有程序可能会将其文件转储到/ opt / application中。

/ proc - 内核和进程文件

/ proc目录类似于/ dev目录,因为它不包含标准文件。 它包含表示系统和过程信息的特殊文件。

image

/ root - 根目录

/ root目录是root用户的主目录。 而不是位于/ home / root,它位于/ root。 这与/不同,后者是系统根目录。

/ run - 应用程序状态文件

/ run目录是相当新的,并给应用程序一个标准的地方来存储他们需要的临时文件,如套接字和进程ID。 这些文件不能存储在/ tmp中,因为/ tmp中的文件可能会被删除。

/ sbin - 系统管理二进制文件

/ sbin目录与/ bin目录类似。 它包含通常由root用户运行以供系统管理的重要二进制文件。

image

/ selinux - SELinux虚拟文件系统

如果您的Linux发行版使用SELinux进行安全保护(例如Fedora和Red Hat),/ selinux目录包含SELinux使用的特殊文件。 它类似于/ proc。 Ubuntu不使用SELinux,所以在Ubuntu上这个文件夹的存在似乎是一个错误。

/ srv - 服务数据

/ srv目录包含“系统提供的服务的数据”。如果您使用Apache HTTP服务器来提供网站,您可能会将您的网站文件存储在/ srv目录中的目录中。

/ tmp - 临时文件

应用程序将临时文件存储在/ tmp目录中。 这些文件通常在系统重新启动时删除,并且可以随时通过tmpwatch等实用程序删除。

/ usr - 用户二进制和只读数据

/ usr目录包含用户使用的应用程序和文件,而不是系统使用的应用程序和文件。 例如,非必需应用程序位于/ usr / bin目录中,而不是/ bin目录,非必需的系统管理二进制文件位于/ usr / sbin目录中,而不是/ sbin目录中。 每个库的库位于/ usr / lib目录中。 / usr目录还包含其他目录 - 例如,与架构无关的文件(如图形)位于/ usr / share中。

/ usr / local目录是本地编译的应用程序默认安装到的目录 - 这可以防止他们篡改系统的其余部分。

image

/ var - 变量数据文件

/ var目录是/ usr目录的可写对象,它在正常操作中必须是只读的。 日志文件和正常操作期间通常写入/ usr的其他内容都将写入/ var目录。 例如,您会在/ var / log中找到日志文件。


有关Linux文件系统层次结构的更多详细技术信息,请参阅文件系统层次标准文档

赞 (0)
分享到:更多 ()