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内核都存储在此处。不过,引导加载程序的配置文件不在此处-它们与其他配置文件位于/ 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用户的主目录。它不是位于/ 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目录在正常操作中必须为只读。日志文件和在正常操作期间通常会写入/ usr的所有其他内容都写入/ var目录。例如,您将在/ var / log中找到日志文件。
有关Linux文件系统层次结构的更多详细技术信息,请查阅文件系统层次结构标准文档。