详解Linux标准目录结构及其用途

详解Linux标准目录结构及其用途

AI 文章摘要
正在生成文章摘要,请稍候...
Linux标准目录结构包含多个核心功能区域:系统核心目录(/bin、/sbin、/lib)存放基本命令和系统库;配置目录(/etc、/proc、/sys)管理配置文件和系统信息;用户目录(/home、/root)存储个人文件;设备目录(/dev、/media、/mnt)处理硬件设备文件;程序目录(/usr、/opt)安装应用程序;数据目录(/var、/srv)存储可变数据和服务内容;临时目录(/tmp、/run)处理临时文件和运行时数据。每个目录都有特定用途,遵循"一切皆文件"的设计理念,便于系统管理和维护。

一、系统核心目录

/bin – 基本命令

  • 存放所有用户可用的基本命令

  • 单用户模式下也能使用

  • 示例:lscpmvcatbash

/bin/ls
/bin/cat
/bin/bash

/sbin – 系统管理命令

  • 存放系统管理员使用的管理命令

  • 普通用户一般无权使用

  • 示例:rebootfdiskifconfigiptables

/sbin/reboot
/sbin/fdisk

/lib/lib64 – 共享库

  • /lib:32位系统库

  • /lib64:64位系统库

  • 存放系统启动和运行所需的共享库文件(.so文件)

/lib64/libc.so.6        # glibc库
/lib64/libpthread.so.0  # 线程库

二、配置和系统信息

/etc – 配置文件

  • 存放系统配置文件(大部分是文本文件)

  • 系统和应用程序的配置都在这里

/etc/passwd          # 用户信息
/etc/hosts           # 主机名解析
/etc/fstab           # 文件系统挂载配置
/etc/ssh/            # SSH配置
/etc/nginx/          # Nginx配置

/proc – 内核和进程信息

  • 虚拟文件系统,不占用磁盘空间

  • 内核在内存中创建,提供进程和系统信息

/proc/cpuinfo        # CPU信息
/proc/meminfo        # 内存信息
/proc/1234/          # PID为1234的进程信息
/proc/version        # 内核版本

/sys – 系统设备信息

  • 虚拟文件系统,提供内核设备模型信息

  • 用于与内核交互、查看设备状态

/sys/class/net/      # 网络设备信息
/sys/block/          # 块设备信息

三、用户相关目录

/home – 普通用户主目录

  • 存放普通用户的个人文件和配置

  • 每个用户都有一个子目录

/home/alice/
/home/bob/

/root – 超级用户主目录

  • root用户的专属主目录

  • 注意:根目录//root是不同的

/root/.bashrc
/root/.ssh/

四、设备文件和挂载点

/dev – 设备文件

  • 存放设备文件,代表硬件设备

  • Linux”一切皆文件”的体现

/dev/sda         # 硬盘
/dev/null        # 空设备(丢弃所有数据)
/dev/zero        # 零设备(提供空字符)
/dev/tty         # 终端设备

/media – 可移动媒体挂载点

  • 自动挂载可移动设备(U盘、光盘等)

  • 桌面环境通常会自动挂载到这里

/media/usb/          # U盘
/media/cdrom/        # 光盘

/mnt – 临时挂载点

  • 用于临时挂载文件系统

  • 管理员手动挂载使用

mount /dev/sdb1 /mnt/usb

五、程序和数据目录

/usr – 用户程序

  • 存放用户程序和数据(类似Windows的Program Files)

  • Unix System Resources的缩写

/usr/bin/            # 用户应用程序
/usr/sbin/           # 非必需的系统管理程序
/usr/lib/            # 程序库文件
/usr/local/          # 本地安装的软件
/usr/share/          # 共享数据

/opt – 可选软件包

  • 存放第三方软件或大型应用程序

  • 通常是一个软件一个独立目录

/opt/google/chrome/     # Chrome浏览器
/opt/vagrant/           # Vagrant

/var – 可变数据

  • 存放经常变化的数据

  • 日志、缓存、邮件等

/var/log/            # 系统日志
/var/spool/          # 队列数据(邮件、打印任务)
/var/cache/          # 应用程序缓存
/var/lib/            # 应用程序状态数据
/var/www/            # Web服务器内容

/srv – 服务数据

  • 存放服务提供的数据

  • 具体内容由服务决定

/srv/www/            # Web服务器数据
/srv/ftp/            # FTP服务器数据

六、临时和运行时目录

/tmp – 临时文件

  • 存放临时文件

  • 系统重启后通常会被清空

  • 所有用户都可读写

/tmp/test.txt
/tmp/session_data/

/run – 运行时数据

  • 存放运行时变量数据

  • 系统启动后创建的进程信息

  • 早期版本放在 /var/run

/run/sshd.pid        # SSH守护进程PID
/run/systemd/        # systemd运行时信息

快速记忆表

目录 作用 类比Windows
/bin 基本命令 C:\Windows\System32
/sbin 管理命令 C:\Windows\System32
/lib 系统库 C:\Windows\System32*.dll
/etc 配置文件 C:\Windows*.ini / 注册表
/dev 设备文件 设备管理器
/proc 系统信息 任务管理器
/home 用户目录 C:\Users\
/root 管理员目录 C:\Users\Administrator
/usr 应用程序 C:\Program Files
/var 可变数据 C:\ProgramData
/tmp 临时文件 C:\Windows\Temp
/opt 第三方软件 自定义安装目录

记忆技巧

/bin    = BINaries(二进制文件)
/sbin   = System BINaries(系统二进制)
/etc   = ETCetera(等等,配置文件)
/var   = VARiable(可变数据)
/tmp   = TeMPorary(临时)
/usr   = Unix System Resources(Unix系统资源)
/proc   = PROCesses(进程)
/dev   = DEVices(设备)

广告:

© 版权声明
THE END
喜欢就支持一下吧
点赞6打赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容