Linux目录结构,说明

如果您来自Windows,那么Linux文件系统结构可能看起来特别陌生。C:\驱动器和驱动器号消失了,取而代之的是/和听起来很神秘的目录,其中大多数目录都有三个字母的名称。

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

/-根目录

Linux系统上的所有内容都位于/目录下,称为根目录。您可以认为/目录类似于Windows上的C:\目录-但严格来说并非如此,因为Linux没有驱动器号。在Windows上,另一个分区将位于D:\,而在Linux上,该另一个分区将出现在/下的另一个文件夹中。

/bin-基本用户二进制文件

bin目录包含在单用户模式下挂载系统时必须存在的基本用户二进制文件(程序)。Firefox等应用程序存储在/usr/bin中,而重要的系统程序和实用程序(如bash shell)则存储在/bin中。usr目录可以存储在另一个分区上-将这些文件放在/bin目录中可以确保即使没有挂载其他文件系统,系统也会拥有这些重要的实用程序。/sbin目录与此类似-它包含基本的系统管理二进制文件。

/boot-static引导文件

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

/CDROM-CD-ROM的历史挂载点

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

/dev-device文件

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

该目录还包含伪设备,它们是实际上与硬件不对应的虚拟设备。例如,/dev/Random会生成随机数。/dev/null是一种特殊的设备,它不产生任何输出并自动丢弃所有输入-当您将命令的输出通过管道传输到/dev/null时,您就丢弃了它。

/etc-配置文件

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

/HOME-Home文件夹

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

/lib-Essential共享库

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

/丢失+找到-恢复的文件

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

/MEDIA-可移动介质

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

/mnt-临时装载点

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

/opt-可选软件包

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

/proc-内核和进程文件

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

/root-Root主目录

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

/Run-应用程序状态文件

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

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

sbin目录类似于/bin目录。它包含基本的二进制文件,通常由root用户运行以进行系统管理。

/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目录是本地编译的应用程序的安装位置-这可以防止它们破坏系统的其余部分。

/var-变量数据文件

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

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

相关文章