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静态启动文件
/ boot目录包含引导系统所需的文件,例如GRUB引导加载程序文件和Linux内核都存储在此处。引导加载程序配置文件arent位于此处,尽管它们与其他配置文件位于/ etc中。
/ cdrom CD-ROM的历史挂载点
/ cdrom目录不是FHS标准的一部分,但是我们仍然可以在Ubuntu和其他操作系统上找到它。它是插入系统的CD-ROM的临时位置。但是,临时媒体的标准位置在/ media目录中。
/ dev设备文件
Linux将设备公开为文件,/ dev目录包含许多代表设备的特殊文件。这些不是我们所知的实际文件,但是它们以文件形式出现,例如,/ dev / sda表示系统中的第一个SATA驱动器。如果要对其进行分区,可以启动分区编辑器,并告诉它编辑/ dev / sda。
该目录还包含伪设备,它们是实际上不与硬件相对应的虚拟设备。例如,/ dev / random产生随机数。 / dev / null是一种特殊的设备,不会产生任何输出,并且在将命令的输出传递到/ dev / null并将其丢弃时会自动丢弃所有输入。
/ etc配置文件
/ etc目录包含配置文件,通常可以在文本编辑器中手动对其进行编辑。请注意,/ etc /目录包含系统范围的配置文件,特定于用户的配置文件位于每个用户的主目录中。
/ home主文件夹
/ home目录包含每个用户的主文件夹。例如,如果用户名为bob,则主文件夹位于/ home / bob。此主文件夹包含用户数据文件和用户特定的配置文件。每个用户仅对其自己的主文件夹具有写访问权,并且必须获得提升的权限(成为root用户)才能修改系统上的其他文件。
/ 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目录,因为它不包含标准文件。它包含代表系统和过程信息的特殊文件。
/ root根主目录
/ root目录是root用户的主目录。它位于/ root,而不是位于/ home / root。这不同于/,后者是系统根目录。
/运行应用程序状态文件
/ 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目录在正常操作中必须为只读。日志文件和在正常操作期间通常会写入/ usr的所有其他内容都写入/ var目录。例如,我们将在/ var / log中找到日志文件。
有关Linux文件系统层次结构的更多详细技术信息,请查阅文件系统层次结构标准文档。