LINUX 目录结构

LINUX 目录结构
清欲如果对 Linux 稍有了解,可能听说过 root、lib、bin 等术语。这些是在所有 Linux 发行版中都会看到的目录
Linux 基于 UNIX,因此它借用了 UNIX 的文件系统层次结构。UNIX的“一切皆文件”的概念在Linux上得到了延续,在Linux中 文件可以是一切
Linux的树状目录图:
以下是对这些目录的解释:
/ – 根目录
- Linux 中的所有内容、所有文件和目录都位于由
“/”
表示的“root”
下。如果你看一下目录结构,你会发现它类似于植物的根,是所有文件的源头 - 由于所有其他目录或文件都是从
root
继承的,因此任何文件的绝对路径都会通过root
遍历。例如,如果/home/user/documents
中有一个文件,您可以猜测目录结构是从root->home->user->documents
。
rm -rf/笑话:
你可能在互联网上遇到过一些提到“rm -rf/”的笑话。 rm 命令用于在 Linux 中删除文件和目录。
使用 rm -rf /,可以要求系统强制递归地删除根目录的内容。由于根目录下包含所有内容,因此最终会删除所有内容,并且你的 Linux 系统会消失(理论上)。
除非提供 –no-preserve-root,否则大多数 Linux 发行版不会运行此命令。无论如何,不要好奇地运行这个命令。好奇心害死猫 除非你是在虚拟机环境下进行
/dev – 设备文件
dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,这些是虚拟文件
,不在磁盘上。
/bin – 二进制文件
bin 是 Binaries (二进制文件) 的缩写,直接包含许多基本 shell 命令的可执行文件,如 ls、cp、cd
等。这里的程序大多数都是二进制格式,Linux 系统中的所有用户都可以访问
。
/boot – 启动文件
这里存放的是启动 Linux 时使用的一些核心文件。
/etc – 配置文件
etc 是 Etcetera(等等) 的缩写,包含系统的核心配置文件,主要由管理员和服务使用,例如密码文件和网络文件。
如果需要更改系统配置(例如,更改主机名),可以在此处找到相应的文件。
/home – 用户的主目录
用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名,包含用户数据和用户特定的配置文件。
当在 Linux 系统上创建用户时,系统将会为该用户创建主目录。假设Linux 系统有两个用户,Alice 和 Bob。他们将在 /home/alice 和 /home/bob 位置拥有自己的主目录。
请注意,Bob 将无法访问 /home/alice,反之亦然。
/lib – 共享库
lib 是 Library(库) 的缩写,这个目录里存放着系统最基本的动态连接共享库,作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
/tmp – 临时文件
tmp 是 temporary(临时) 的缩写,这个目录是用来存放一些临时文件的。当系统重新启动时,/tmp 目录中的内容将被删除。一些 Linux 系统还会自动删除旧文件,不要在此处存储任何重要的内容。
/opt – 可选软件
默认是空的,我们安装额外软件可以放在这个里面。
通常的做法是将软件代码保留在opt中,然后将二进制文件链接到/bin目录中,以便所有用户都可以运行它。
/root – 根目录的主目录
该目录为系统管理员,也称作超级权限者的用户主目录。
/media – 可移动媒体的安装点
inux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。可以从此目录访问可移动媒体的内容。
/mnt – 挂载目录
与 /media 目录类似,但系统管理员使用 mnt 手动挂载文件系统,而不是自动挂载可移动媒体。
/srv – 服务数据
该目录存放一些服务启动之后需要提取的数据。
/sbin– 系统二进制文件
类似于 /bin 目录。唯一的区别是它包含只能由 root 或 sudo 用户运行的二进制文件。可以将“sbin”中的“s”视为 super 或 sudo。
/usr – 用户二进制文件和程序数据
usr 是 unix system resources(unix 系统资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
/var – 可变数据文件
var 是 variable(变量) 的缩写,,是程序存储运行时信息的地方,例如系统日志记录、用户跟踪、缓存以及系统程序创建和管理的其他文件。
此处存储的文件不会自动清除
/proc – 进程和内核文件
proc 是 Processes(进程) 的缩写,目录包含有关当前运行的进程和内核参数的信息。许多工具使用 proc 目录的内容来获取运行时系统信息。这个目录是一个虚拟的目录,它是系统内存的映射
红帽系特有目录: SELinux
这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。