Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Linux目录理解

Linux之对目录的理解

作者:oymaster

这篇文章主要介绍了Linux之对目录的理解

前言

最近在复习linux,发现有些目录总是忘记内容,发现有些还是得从原义和实际例子去理解会记忆深刻些。

以下是个人的一些理解

Linux目录

常见的Linux下的目录如下:


1.根目录/(Root Directory)

2./bin(Binary Files)

英文含义bin 是 “binary”(二进制)的缩写,表示存放可执行程序的地方。这些二进制文件是操作系统和用户交互的基本命令。

作用:包含启动和运行操作系统所需的基本命令。这里的命令是系统和用户都可以使用的,甚至在单用户模式下也可以执行。

常见文件

PS:在现代 Linux 发行版中,/bin 有时会符号链接到 /usr/bin,这是因为 Filesystem Hierarchy Standard (FHS) 的演进,旨在统一二进制文件存放位置。

实际例子:运行 which ls 会返回 /bin/ls,告诉你 ls 命令的具体路径。

3./sbin(System Binary Files)

英文含义sbin 是 “system binary”(系统二进制)的缩写,存放的是需要管理员权限来执行的系统管理命令。

作用:包含系统管理和维护所需的命令,普通用户一般不需要使用这些命令,除非是系统管理员。

常见文件

PS:这些命令通常需要超级用户权限(sudo),普通用户尝试直接运行会提示权限不足。

实际例子:执行 sudo /sbin/fdisk -l 可以列出磁盘分区信息(需要 root 权限)。这些命令通常用于系统维护和调试。

4./etc(Etcetera - Configuration Files)

英文含义etc 是 “et cetera”(等等)的缩写,虽然这个名字没有直接说明它的内容,但通常用于存放系统配置文件(历史遗留问题,遗传unix)。

作用:包含所有系统和程序的配置文件。通常会在这里配置一些与程序、用户、服务等相关的设置。

常见文件

PS/etc 不仅是系统配置的中心,许多服务的配置文件也集中在这里,例如 Apache、Nginx 或 SSH。

常见文件补充

实际例子:编辑 /etc/hosts 可以添加本地主机名解析,例如 127.0.0.1 mylocalserver。你可以在这些配置文件中修改系统和服务的行为。

5./home(Home Directories)

英文含义home 目录存放的是每个用户的家目录。这里是每个用户存放个人文件的地方。

作用:存放用户个人文件,会在这里存放自己的代码、文档等文件。

常见文件

PS:用户的家目录通常包含隐藏文件(以 . 开头),如 .bashrc.profile,用于配置用户的 shell 环境。

实际例子:在 /home/username 下运行 ls -a 可以看到 .bash_history,记录用户执行过的命令历史。

6./var(Variable Files)

英文含义var 是 “variable”(可变的)的缩写,表示存放那些内容经常变化的文件。通常包括日志、缓存、队列等。

作用:存放程序运行时产生的动态数据,比如日志文件、缓存文件等。

常见文件

PS/var 的内容通常与系统运行时间相关,占用空间可能会随时间增长,因此需要定期清理(如日志文件)。

常见文件补充

实际例子:运行 tail -f /var/log/syslog 可以实时查看系统日志,用于调试。

7./lib和/lib64(Libraries)

英文含义lib 是 “library”(库)的缩写,包含了程序运行所依赖的共享库文件。

作用:存放系统和应用程序使用的共享库文件。共享库文件包含了程序运行时需要的函数、代码等。

常见文件

PS/lib64 只存在于 64 位系统上,用于区分 32 位和 64 位库文件。32 位库可能存放在 /lib32

实际例子:运行 ldd /bin/ls 可以查看 ls 命令依赖的共享库文件路径。

8./tmp(Temporary Files)

英文含义tmp 是 “temporary”(临时的)的缩写,表示存放临时文件的地方。

作用:用于存储系统或应用程序在运行过程中产生的临时文件。通常这些文件不会永久保留,系统重启后有时会被清除。

常见文件

PS/tmp 的内容通常由系统服务(如 tmpfiles.d)或重启时自动清理,清理规则可能在 /etc/tmpfiles.d/ 中定义。

实际例子:运行 echo "test" > /tmp/testfile 创建临时文件,重启后检查是否被清除。在处理临时数据时,可能会使用这个目录来存放文件,确保数据不会占用永久存储空间。

9./dev(Device Files)

英文含义dev 是 “devices”(设备)的缩写,表示设备文件的目录。

作用:存放所有设备文件,这些设备文件让用户和应用程序可以与硬件设备进行交互。设备文件可以是硬盘、键盘、显示器、串口等设备的接口。

常见文件

PS:Linux 遵循“一切皆文件”的哲学,设备文件分为字符设备(如 /dev/tty)和块设备(如 /dev/sda)。

常见文件补充

实际例子:运行 cat /dev/urandom | head -c 10 可以生成 10 字节的随机数据。常常会通过设备文件来与硬件设备进行交互,例如读写硬盘,控制外部设备等。

10./mnt(Mount Points)

英文含义mnt 是 “mount”(挂载)的缩写,表示挂载点的目录。

作用:用于临时挂载文件系统的目录。当你挂载一个磁盘或其他文件系统时,它的内容会显示在 /mnt 下的子目录中。

常见文件

PS:与 /mnt 类似,/media 也常用于挂载,但 /media 更倾向于用户手动挂载的设备(如 U 盘)。

实际例子:运行 sudo mount /dev/sdb1 /mnt 将第二个硬盘的第一个分区挂载到 /mnt。有时会使用这个目录来挂载外部存储或进行调试。

11./opt(Optional Add-on Software Packages)

英文含义opt 是 “optional”(可选的)的缩写,表示可选的附加软件包。

作用:存放可选的第三方软件包及其相关文件。与 /usr 目录类似,但 /opt 通常用于那些不属于系统基础安装的软件。

常见文件

PS/opt 中的软件通常自成体系,包含自己的子目录(如 /opt/appname/bin),便于独立管理。

实际例子:安装 Google Chrome 时,它可能被放置在 /opt/google/chrome。一般会在这里安装一些额外的应用程序或库,以便开发自己的应用。

12./usr(User Programs)

英文含义usr 是 “user”(用户的)或 “Unix System Resources”(Unix 系统资源)的缩写。

作用:存放系统和应用程序的可执行文件、库文件以及共享数据等。这个目录包含了大部分的用户程序和资源文件。

常见文件

PS/usr 是系统安装后的大本营,通常占用较多磁盘空间。/usr/local 是用户自定义安装的首选位置,避免与系统包管理器冲突。

常见文件补充

实际例子:运行 /usr/bin/python3 启动系统安装的 Python 解释器。通常会在 /usr 下存放安装的软件包和共享资源。

13./srv(Service Data)

英文含义srv 是 “service”(服务)的缩写,表示服务数据的目录。

作用:存放服务提供的数据,通常是系统服务或者用户服务的文件。例如,网站的页面文件、数据库文件等。

常见文件

PS/srv 的使用因系统而异,有些发行版可能不默认使用,管理员可以根据需要自定义。

实际例子:运行 Nginx 时,可以将网站文件放在 /srv/www/html。可能会在这里放置由服务器提供的数据或文件,如网站文件、数据库文件等。

14./sys(System Information)

英文含义sys 是 “system”(系统)的缩写,表示系统信息的目录。

作用:提供关于系统内核和硬件的实时信息。这里存放了很多虚拟文件,它们代表了系统的状态,可以通过读取这些文件来获取系统的运行状态。

常见文件

PS/sys 是 sysfs 文件系统的一部分,与 /proc 类似,但更专注于硬件和内核参数。

15./proc(Process Information)

英文含义proc 是 “process”(进程)的缩写,表示进程信息的目录。

作用:提供关于运行中的进程、内核等信息。这个目录下的文件是虚拟文件,它们不存储数据,而是内核实时生成的数据。可以用它来监控系统状态,获取进程信息。

常见文件

PS/proc 是 procfs 文件系统,内容完全动态生成,占用内存而非磁盘空间。

常见文件补充

实际例子:运行 cat /proc/self/stat 查看当前进程(即 cat 命令本身)的状态。可以通过 /proc 目录获取系统资源的详细信息,用于性能监控或调试。

16./boot(Boot Loader Files)

英文含义boot 是 “bootstrap”(引导)的缩写,表示系统启动相关文件。

作用:存放启动加载程序(bootloader,如 GRUB)和内核映像文件。

常见文件

17./run(Runtime Data)

英文含义run 表示运行时数据。

作用:存放系统运行时的临时文件(如 PID 文件或锁文件),通常在重启后清空。

常见文件

实际例子:运行 cat /run/mysqld/mysqld.pid 查看 MySQL 服务的进程 ID。

18./lost+found

建议

自己手动查看一下目录

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文