跳转到主内容
极星编程网:以代码为星,赴技术山海!

Linux目录结构怎么理解_最佳实践总结助你快速突破【教程】

必须掌握根目录下7个高频目录:/bin和/usr/bin存基础命令,/etc放配置文件,/home为用户私有空间,/var存运行时变化数据,/tmp和/var/tmp为临时文件区,/opt用于第三方大型软件。

Linux目录结构不是随意设计的,它遵循Filesystem Hierarchy Standard(FHS)

规范,核心逻辑是“按用途分离、按权限隔离、按生命周期归类”。理解它不靠死记硬背,而要抓住三个关键视角:谁用、放什么、能不能动。

根目录下哪些目录必须掌握?

刚接触Linux时,重点盯住这7个高频目录,覆盖90%日常操作:/bin和/usr/bin:放所有用户都能运行的基础命令(如 ls、cp、grep)。/bin 是系统启动必需的最小集合;/usr/bin 是后续安装的绝大多数命令所在。

/etc:纯文本配置文件集中地。服务配置(nginx.conf)、用户账户(passwd)、网络设置(hosts)全在这里。修改前习惯性备份原文件。

/home:每个普通用户的私有空间。/home/username 就是你的家目录,默认 shell 启动后就在此处。别把项目代码或数据直接丢进根目录。

/var:存放运行时变化的数据。日志(/var/log)、数据库文件(/var/lib/ mysql)、邮件队列(/var/spool/mail)都属此类。内容会持续增长,需定期清理或轮转。

/tmp和/var/tmp:临时文件暂存区。/tmp 重启后清空;/var/tmp 可跨重启保留,适合需要稍长生命周期的临时数据。

/opt:第三方大型独立软件包的安装位置(如 JetBrains 全家桶、Oracle JDK)。每个软件通常自成子目录(/opt/intellij/),不混入系统路径。

哪些目录绝对不要乱删或写入?

有些目录表面看空或不起眼,但动了会导致系统无法启动或服务异常:使用HTML,CSS,JavaScript开发Android应用程序 英文文字pdf版附源文件如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Andr​​oid友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Andr​​oid应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更下载/proc和/sys:不是真实磁盘目录,而是内核运行时暴露的虚拟文件系统。读取可查CPU、内存、设备状态;写入某些节点能动态调参(如 echo 1 > /proc/sys/net/ipv4/ip_forward),但误删无意义,也删不掉。

/dev:设备文件入口(硬盘sda、终端tty1、随机数生成器/dev/random)。由udev自动管理,手动创建或删除设备节点易引发硬件识别失败。

/boot:GRUB引导程序、内核镜像(vmlinuz)、初始内存盘(initramfs)所在地。更新内核或修复启动问题才需操作,日常应只读。

实际运维中怎么用得更顺?

光知道结构不够,结合场景才能真正内化:部署Web应用时,静态资源放 /var/www/ html(符合FHS对“本地可变数据”的定义),配置文件放 /etc/nginx/conf.d/myapp.conf,日志定向到 /var/log/myapp/ —— 这样便于备份、监控和权限控制。

写脚本时,用$HOME代替绝对路径 /home/username,用/tmp存中间结果,避免硬编码路径导致迁移失败。

排查问题先看 /var/log/messages 或 journalctl -u servicename,而不是满系统 grep;确认配置改对了,再 systemctl daemon-reload && systemctl restart service。

基本上就这些。FHS不是铁律,但它是Linux生态协同的契约。你不需要记住全部20+个目录,只要分清“配置在哪”“数据在哪”“程序在哪”“临时东西放哪”,再配合ls -l /多看两眼,一个月就能形成直觉。

相关文章