Linux系统目录结构有哪些?Linux运维必知!

本文介绍 Linux 系统目录结构,以及各个目录文件的用途。

如果你使用过Linux系统,那么你就会听说过root, lib, bin 等术语,这些目录在所有Linux系统中都会存在。

事实上,Linux 基金会维护文件系统层次标准(FHS)。FHS定义了Linux发行版中的目录结构和目录的内容/用途。正是因为有了FHS,所以你可以在几乎所有Linux发行版中找到相同的目录结构。让我们详细看一下。

Linux目录结构

Linux 系统是基于 Unix的,因此它使用了 Unix 的文件系统层次结构。在类似 Unix的操作系统(如BSD和macOS)中,你可以使用类似的目录结构。

/ – 根路径

Linux 中所有的内容,所有的文件/目录,都位于由”/” 表示的“根”下。如果你看一下目录结构,会发现它类似于植物的根。

图片[1]-Linux系统目录结构有哪些?Linux运维必知!-不念博客

由于所有其他目录或文件都是根目录的子目录,所以任何文件的绝对路径都会通过根遍历。例如,如果在/home/user/documents中有文件,则可以猜测其目录结构为 root->home->user->documents.

残酷的 rm -rf / 段子

你可能在网上遇到过一些关于 “rm -rf /” 的段子。rm命令用于删除Linux中的文件和目录。使用rm -rf /,您可以要求系统强制地、递归地删除根目录的内容。因为根目录下有所有的内容,所以最终删除了所有内容,Linux系统就消失了(理论上)。

大多数Linux发行版都不会运行这个命令,除非执行 -no preserve root。所以任何时候都不要执行这个命令。

/bin – 二进制文件

‘/bin’ 目录中包含许多基本的shell命令(如ls,cp,cd等)的可执行文件。大多数程序都是二进制的。Linux系统中的所有用户都可以访问。

/dev – 设备文件

此目录仅包含特殊文件,包括与设备相关的文件。这些是虚拟文件,而不是磁盘上的物理文件。关于该目录中文件的一些有意思的例子:

  • /dev/null:可以发送来销毁任何文件或字符串;
  • /dev/zero:包含0的无限序列;
  • /dev/random:包含无限个随机值序列.

/etc – 配置文件

/etc目录包含系统的核心配置文件,主要由管理员和服务使用,如密码文件和网络文件。如果您需要更改系统配置(例如更改主机名),您可以在这里找到相应的文件。

/usr – 用户二进制文件和程序数据

在 ‘/usr’目录中保存所有可执行文件、库和大多数系统程序的源代码。因此,对于普通用户来讲,其中的大多数文件都是只读的。

  • ‘/usr/bin’包含基本的用户命令;
  • ‘/usr/sbin’包含用于管理员的其他命令;
  • ‘/usr/lib’包含系统库;
  • ‘/usr/share’包含所有库通用的文档,例如’/usr/share/man’包含手册页的文本.

/home – 用户个人数据

home目录是用户的个人目录,包含用户数据和用户特定的配置文件。作为一个系统用户,你需要把个人文件,笔记,程序等都放到你的个人主目录中。在Linux系统上创建用户时,通常会为用户创建主目录。假设您的Linux系统有两个用户,Alice和Bob。他们将在 /home/alice和/home/bob 有自己的主目录。

注意,Bob不能访问 /home/alice,反之亦然。这是有意义的,因为只有用户才能访问他/她的家。您可以阅读 Linux 系统文件权限相关内容,以了解有关此主题的更多信息。

/lib – 共享的库文件

库基本上是可执行二进制文件可以使用的代码。/lib 目录保存了/bin和/sbin 目录中二进制文件所需的库。/usr/bin和/usr/sbin 中的二进制文件所需的库位于 /usr/lib 目录中。

/sbin – 系统二进制文件

这类似于/bin目录。唯一的区别是,它包含只能由root或sudo用户运行的二进制文件。你可以把“sbin”中的“s”想象成super或sudo。

/tmp – 临时文件

顾名思义,这个目录保存临时文件。许多应用程序使用此目录存储临时文件。甚至可以使用目录来存储临时文件。

但请注意,当系统重新启动时,/tmp目录的包含内容将被删除。有些Linux系统也会自动删除旧文件,所以不要在这里存储任何重要的文件。

/var – 可变数据文件

Var,variable的缩写,是程序存储运行时信息的地方,比如系统日志、用户跟踪、缓存以及系统程序创建和管理的其他文件。

存储在这里的文件不会自动清理,因此它为系统管理员提供了一个查找有关其系统行为的信息的好地方。例如,如果要检查Linux系统中的登录历史,只需检查 /var/log/wtmp 中文件的内容。

/boot – 启动文件

‘/boot’ 目录包含内核和启动映像的文件,以及LILO和Grub。通常建议将该目录放在磁盘开头的分区中。

/proc – 进程和内核文件

‘/proc’目录包含有关当前正在运行的进程和内核参数的信息。proc目录的内容被许多工具用来获取运行时系统信息。

例如,如果您想检查Linux中的处理器信息,只需参考/proc/cpuinfo文件即可。要检查Linux系统的内存使用情况,只需查看/proc/meminfo文件的内容即可。

/opt – 可选软件

传统上,/opt目录用来安装或存储发行版系统中不存在的第三方应用。通常的做法是将软件代码保存在opt中,然后将二进制文件链接到/bin目录中,以便所有用户都可以运行它。

/root – root用户的主目录

还有/root目录,它作为root用户的主目录。因此,root用户的主目录在/root,而不是/home/root。不要将它与根目录(/)混淆。

/media – 可移除媒体的装入点

连接可移动媒体(如U盘、SD卡或DVD)时,会在/media目录下为它们自动创建一个目录。您可以从此目录访问可移动媒体的内容。

/mnt – 装载目录

这与/media目录类似,但mnt不是自动挂在可移动介质,而是系统管理员手动挂载文件系统。

/srv – 服务数据

/srv目录包含系统提供的服务的数据。例如:如果你运行一个http服务器,那么最好将网站数据存储在/srv目录中。

以上可以让大家对Linux系统的目录结构有个大致的了解。

© 版权声明
THE END
喜欢就支持一下吧
点赞138赞赏 分享
评论 抢沙发
头像
欢迎光临不念博客,留下您的想法和建议,祝您有愉快的一天~
提交
头像

昵称

取消
昵称代码图片

    暂无评论内容