目录

linux根目录

linux根目录

Ubuntu 根目录 (/) 遵循 Filesystem Hierarchy Standard (FHS) 标准

一、各目录简介

核心目录

目录作用
/bin基础二进制命令(如 [ls], [cp], [rm]),所有用户可用
/sbin系统管理二进制命令(如 [ifconfig], [iptables]),需管理员权限
/boot启动文件(内核 [vmlinuz]、引导加载程序 [grub] 等)
/dev设备文件(如 [/dev/sda] 硬盘、[/dev/tty] 终端)
/etc系统全局配置文件(如 [/etc/passwd] 用户信息、[/etc/network] 网络配置)
/home用户主目录(每个用户独立子目录,如 [/home/user1])
/lib & /lib64共享库文件(如 C 库 [libc.so.6])和内核模块([/lib/modules])

挂载与运行时

目录作用
/media自动挂载可移动设备(如 U 盘、光盘)
/mnt临时手动挂载文件系统(如网络存储)
/proc虚拟文件系统,提供进程和内核信息(如 [/proc/cpuinfo] CPU 信息)
/run系统启动后的运行时数据(如 PID 文件、服务锁文件)

软件与数据

目录作用
/opt第三方应用程序安装目录(如商业软件)
/rootroot 用户的主目录
/srv服务相关数据(如网站文件 [/srv/www]、FTP 数据)
/tmp临时文件(所有用户可写,重启后可能清空)
/usr用户级程序与资源(子目录包括 [bin], [lib], [share])
/var可变数据(如日志 [/var/log]、缓存 [/var/cache]、数据库文件)

特殊目录

目录作用
/sys虚拟文件系统,用于管理和配置内核参数及硬件设备

示例场景

  • 修改网络配置 → 编辑 /etc/network/interfaces
  • 查看系统日志 → 检查 /var/log/syslog
  • 安装第三方软件 → 可选路径 /opt/usr/local

二、各目录递归详解

1. /bin
  • 作用 :基础用户命令(如 ls , cp , mv
  • 子目录 :无
  • 关键文件
    • bash :Bash shell
    • sh :系统默认shell(通常是Bash的符号链接)
    • date , echo , kill , ps , tar
2. /boot
  • 作用 :系统引导文件
  • 子目录
    • /boot/grub/ :GRUB引导程序配置
      • grub.cfg :GRUB菜单配置
    • /boot/efi/ :EFI固件引导分区(UEFI系统)
  • 关键文件
    • vmlinuz-<version> :内核镜像
    • initrd.img-<version> :初始内存盘
    • config-<version> :内核配置文件
3. /dev
  • 作用 :设备文件与特殊文件
  • 子目录
    • /dev/disk/ :磁盘设备映射
    • /dev/pts/ :伪终端(pty)
    • /dev/shm/ :共享内存(tmpfs)
  • 关键文件
    • sda , sda1 :硬盘及分区
    • tty , console :终端设备
    • null , zero , random , urandom
4. /etc
  • 作用 :系统配置文件
  • 重要子目录
    • /etc/apt/ :Debian/Ubuntu包管理配置
      • sources.list :软件源列表
    • /etc/ssh/ :SSH配置
      • sshd_config :SSH服务配置
    • /etc/sysconfig/ :系统服务配置(CentOS等)
    • /etc/network/ :网络配置(Ubuntu)
    • /etc/fstab :文件系统挂载表
    • /etc/passwd :用户账户信息
    • /etc/group :用户组信息
    • /etc/shadow :加密密码存储(root权限)
5. /home
  • 作用 :普通用户家目录
  • 结构
    • /home/username/ :用户主目录
      • .bashrc :用户bash配置
      • .ssh/ :SSH密钥( id_rsa , id_rsa.pub
      • .cache/ :应用缓存
      • .config/ :用户应用配置
6. /lib
  • 作用 :系统库文件
  • 子目录
    • /lib/modules/ :内核模块
    • /lib64/ :64位系统库
  • 关键文件
    • ld-linux.so.2 :动态链接器
    • libc.so.6 :C标准库
7. /media
  • 作用 :可移动媒体自动挂载点
  • 示例
    • /media/usb-drive/ :U盘挂载点
    • /media/cdrom/ :光驱挂载点
8. /mnt
  • 作用 :手动挂载点

  • 示例

    mount /dev/sda1 /mnt  # 临时挂载硬盘分区
9. /opt
  • 作用 :第三方软件安装目录
  • 示例
    • /opt/nginx/ :Nginx服务器
    • /opt/java/ :Java运行环境
10. /proc
  • 作用 :内核与进程信息(伪文件系统)
  • 关键文件
    • /proc/cpuinfo :CPU信息
    • /proc/meminfo :内存信息
    • /proc/loadavg :系统负载
    • /proc/[pid]/ :进程详细信息(如 /proc/1/ 为init进程)
11. /root
  • 作用 :root用户家目录
  • 关键文件
    • .bashrc , .ssh/ :与普通用户类似
12. /run
  • 作用 :运行时数据(系统启动后生成)
  • 关键文件
    • /run/nginx.pid :Nginx进程ID
    • /run/user/1000/ :普通用户运行时数据
13. /sbin
  • 作用 :系统管理命令(root权限)
  • 关键文件
    • init :系统初始化进程
    • shutdown , reboot :关机/重启命令
    • ifconfig , ip :网络配置工具
14. /srv
  • 作用 :服务数据存储
  • 示例
    • /srv/www/ :Web服务器内容
    • /srv/svn/ :Subversion仓库
15. /sys
  • 作用 :内核设备信息(伪文件系统)
  • 示例
    • /sys/class/net/eth0/ :网络接口信息
    • /sys/devices/ :硬件设备树
16. /tmp
  • 作用 :临时文件存储(重启后清空)
  • 安全特性
    • sticky 位:仅文件所有者可删除
17. /usr
  • 作用 :用户程序与资源(类似Windows的 C:\Program Files
  • 子目录
    • /usr/bin/ :普通用户命令(如 firefox , git
    • /usr/sbin/ :系统管理命令(如 apache2ctl
    • /usr/share/ :共享资源(文档、图标)
    • /usr/include/ :C语言头文件
    • /usr/lib/ :程序库文件
    • /usr/local/ :本地编译安装的软件
18. /var
  • 作用 :可变数据(日志、邮件、缓存)
  • 子目录
    • /var/log/ :系统日志
      • syslog :通用系统日志
      • auth.log :认证日志
      • kern.log :内核日志
    • /var/lib/ :程序状态数据(如MySQL数据库)
    • /var/spool/ :队列文件(如邮件队列)
    • /var/cache/ :应用缓存(如 /var/cache/apt/

三、特殊目录与文件补充

  1. /dev/null

    • 黑洞设备,写入的数据会被丢弃,常用于重定向错误输出。
  2. /dev/zero

    • 生成空数据,用于填充文件或内存。
  3. /lost+found

    • 文件系统检查( fsck )时恢复的文件存储。
  4. /etc/init.d/

    • 系统服务启动脚本(System V初始化)。
  5. /etc/systemd/

    • systemd服务配置(现代Linux发行版)。

四、目录结构速查表

目录用途概括典型子目录/文件示例
/bin用户基础命令ls , cp , bash
/etc系统配置passwd , fstab , ssh/
/var日志、邮件、缓存log/ , mail/ , cache/
/usr用户程序与资源bin/ , share/ , include/
/proc内核与进程信息cpuinfo , meminfo , pid/
/dev设备文件sda , tty , shm/
/boot引导文件vmlinuz , grub/

通过以上递归结构,可全面掌握Linux文件系统的核心架构。不同发行版可能存在细微差异,但整体遵循FHS标准。