如果您来自Windows,那么Linux文件系统结构可能看起来特别陌生。C:\驱动器和驱动器号都不见了,取而代之的是a/和听起来很神秘的目录,大多数目录都有三个字母的名称。
文件系统层次结构标准(FHS)定义了Linux和其他类似UNIX的操作系统上文件系统的结构。但是,Linux文件系统还包含一些标准尚未定义的目录。
Linux系统上的所有内容都位于/目录下,称为根目录。您可以认为/directory类似于Windows上的C:\目录,但这并不是严格意义上的正确,因为Linux没有驱动器号。另一个分区将位于Windows上的D:\上,而这个分区将出现在Linux上/下的另一个文件夹中。
/bin目录包含以单用户模式装载系统时必须存在的基本用户二进制文件(程序)。诸如Firefox之类的应用程序存储在/usr/bin中,而诸如bashshell之类的重要系统程序和实用程序则存储在/bin中。/usr目录可能存储在另一个分区上–将这些文件放在/bin目录中可以确保系统将拥有这些重要的实用程序,即使没有安装其他文件系统。/**in目录类似,它包含基本的系统管理二进制文件。
/boot目录包含引导系统所需的文件–例如,GRUB引导加载程序的文件和Linux内核存储在这里。不过,引导加载程序的配置文件不在这里–它们与其他配置文件位于/etc中。
/cdrom目录不是FHS标准的一部分,但是在Ubuntu和其他操作系统上仍然可以找到它。它是系统中**CD-ROM的临时位置。但是,临时介质的标准位置在/media目录中。
Linux将设备公开为文件,/dev目录包含许多表示设备的特殊文件。这些文件不是我们所知道的实际文件,但它们显示为文件—例如,/dev/sda表示系统中的第一个SATA驱动器。如果您想对它进行分区,可以启动分区编辑器并告诉它编辑/dev/sda。
此目录还包含虚拟设备,这些虚拟设备实际上并不对应于硬件。例如,/dev/random生成随机数。/dev/null是一种特殊的设备,它不产生任何输出并自动丢弃所有输入—当您将命令的输出通过管道传输到/dev/null时,您将丢弃它。
etc目录包含配置文件,通常可以在文本编辑器中手动编辑。请注意,/etc/目录包含系统范围的配置文件—特定于用户的配置文件位于每个用户的主目录中。
/home目录包含每个用户的主文件夹。例如,如果您的用户名是bob,那么您的主文件夹位于/home/bob。此主文件夹包含用户的数据文件和用户特定的配置文件。每个用户只能对自己的主文件夹进行写访问,并且必须获得提升的权限(成为根用户)才能修改系统上的其他文件。
/lib目录包含/bin和/**in文件夹中基本二进制文件所需的库。/usr/bin文件夹中的二进制文件所需的库位于/usr/lib中。
每个Linux文件系统都有一个lost+found目录。如果文件系统崩溃,将在下次引导时执行文件系统检查。找到的任何损坏文件都将放在lost+found目录中,因此您可以尝试恢复尽可能多的数据。
/media目录包含安装**计算机的可移动媒体设备的子目录。例如,将CD**Linux系统时,将自动在/media目录中创建一个目录。您可以访问此目录中CD的内容。
从历史上讲,/mnt目录是系统管理员在使用临时文件系统时挂载它们的地方。例如,如果要挂载Windows分区以执行某些文件恢复操作,则可以将其挂载到/mnt/Windows。但是,您可以在系统上的任何位置装载其他文件系统。
/opt目录包含可选软件包的子目录。它通常由不遵守标准文件系统层次结构的专有软件使用—例如,在安装时,专有程序可能会将其文件转储到/opt/application中。
/proc目录与/dev目录类似,因为它不包含标准文件。它包含表示系统和进程信息的特殊文件。
/root目录是根用户的主目录。它不是位于/home/root,而是位于/root。这与/不同,后者是系统根目录。
/run目录相当新,它为应用程序提供了一个标准的位置来存储它们所需的临时文件,如套接字和进程ID。这些文件无法存储在/tmp中,因为/tmp中的文件可能会被删除。
/**in目录类似于/bin目录。它包含基本的二进制文件,通常由root用户运行以进行系统管理。
如果您的Linux发行版使用SELinux进行安全保护(例如Fedora和Red Hat),/SELinux目录包含SELinux使用的特殊文件。它类似于/proc。Ubuntu没有使用SELinux,所以这个文件夹在Ubuntu上的存在似乎是一个bug。
/srv目录包含“系统提供的服务的数据”。如果您使用apachehttp服务器为网站提供服务,您可能会将网站的文件存储在/srv目录中的一个目录中。
应用程序将临时文件存储在/tmp目录中。这些文件通常会在系统重新启动时被删除,并且可能随时被tmpwatch等实用程序删除。
/usr目录包含用户使用的应用程序和文件,而不是系统使用的应用程序和文件。例如,非必需的应用程序位于/usr/bin目录而不是/bin目录中,非必需的系统管理二进制文件位于/usr/**in目录而不是/**in目录中。每个的库都位于/usr/lib目录中。/usr目录还包含其他目录—例如,与体系结构无关的文件(如graphics)位于/usr/share中。
默认情况下,/usr/local目录是本地编译的应用程序的安装位置–这可以防止它们破坏系统的其余部分。
/var目录是/usr目录的可写副本,在正常操作中必须是只读的。日志文件和在正常操作期间通常会写入/usr的所有其他文件都会写入/var目录。例如,您可以在/var/log中找到日志文件。
有关Linux文件系统层次结构的更详细的技术信息,请参阅文件系统层次结构标准文档。
... 第一个选项是检查/etc/目录中的os发行版文件。这将为您的Linux操作系统版本提供相当详细的说明。我们可以使用cat(concatenate)命令快速检查这一点,该命令可用于显示或创建新文件。 ...
...同,只是每个人都有执行权限。这主要用于可公开访问的目录,因为需要execute权限才能更改为目录。 ...
... ls命令用于列出当前工作目录中的所有文件和文件夹。您还可以使用同一命令获取有关文件的各种信息。因为它已经包含在GNU核心实用程序包中,所以您不需要在系统上安装任何附加包就可以使用...
在Linux文件系统中查找特定目录?幸运的是,您可以使用许多搜索工具。我们将研究几个易于使用的选项,以及如何使用它们高效地搜索文件夹。 ...
...道终端中是否有move命令允许您将文件快速移动到不同的目录。mv命令就是您想要的命令,它的简单语法和一些可选的安全标志很容易使用。 ...
...硬盘驱动器吗?如果是,我们推荐gocryptfs。你会得到一个目录,基本上,加密和解密你存储的所有东西。 gocryptfs提供数据泄露保护 隐私是个大新闻。几乎每个星期都会有一个组织宣布违规。公司要么报告最近的事件,要么披...
systemd的团队希望您采用一种新的方式来管理主目录。称之为“新方式”是轻描淡写的,这是Linux的一个真正的范式转变。以下是您需要了解的有关systemd homed的所有信息,它可能会出现在您附近的Linux发行版中。 对争议并不陌生...
...非常熟悉,我们甚至没有注意到正在使用它们。用于更改目录的cd命令就是其中之一。有一些技巧可以帮助你提高cd的使用效率,或者你可以完全抛弃它。 你很少想到的命令 你整天眨眼,每天眨眼,但是,大多数时候,你没有...