Linux 目录那么多,到底该记住哪些?记住一句话就行——Linux 一切皆文件。
前言
好家伙,这话题我必须得写一篇。
前两天帮一个刚转运维的同事看问题,他问我:"Linux 那么多目录,我到底该记住哪些?"
我说你先别急,你记住一句话就行——Linux 一切皆文件。
你的硬盘是文件,U盘是文件,鼠标是文件,进程是文件,连系统内核状态都是文件。所有东西,全部从根目录开始。
这个斜杠 / 就是根目录,相当于 Linux 的地球原点。所有文件、硬件、程序、配置,全部都在它下面。
/bin — 普通人的命令工具箱
/bin 目录装的是我们天天敲的那些基础命令:ls、cd、cp、mkdir……日常操作全靠它撑着。
有个事儿我踩过坑:有次我误删了 /bin 里的 ls 文件,然后发现连 ls 都用不了。当时心态炸了,还好记得 echo * 能勉强当替代品。后来学乖了,系统命令别乱动。
而 /sbin 目录就是管理员专属的特权工具箱,里面是系统维护、开机修复、权限管理的高级命令。普通用户没资格碰,只有 root 超级管理员才能用。
/boot — 系统的命脉
这个目录专门存放开机引导和内核文件。毫不夸张地说,删错这里一个文件,你的服务器直接原地开不了机。
我见过一个同事,清理磁盘空间的时候,看到 /boot 里有个文件觉得"没用"就删了。结果服务器重启后直接进不去系统,最后只能插 U 盘进 rescue 模式,折腾了一下午才恢复。
后来我每次清理磁盘,都会先 ls -la /boot 看一眼,然后默默关掉——这里面的东西,一个都不碰。
/dev — 一切皆文件的最佳证明
/dev 目录超级关键。Linux 不区分硬件设备,你的硬盘、U盘、鼠标、显卡,所有硬件全部被识别成文件挂载在这里。
我们挂载磁盘、操作硬件,本质都是在操作 /dev 目录里的文件。
比如你插了个 U 盘,它可能会变成 /dev/sdb1。你要挂载它,就是 mount /dev/sdb1 /mnt/usb。说白了,你在和硬件打交道的时候,其实就是在和文件打交道。
/etc — 全网最常用的配置中心
/etc 目录,运维人最熟悉的目录,没有之一。
不管是改网络、配环境、搭服务、改权限,几乎所有系统和软件的配置文件都在这里。运维日常百分之九十的改配置操作,全是在折腾 /etc 目录。
拿信创系统来说,银河麒麟 V10 的网卡配置在 /etc/network/interfaces,软件源在 /etc/apt/sources.list,系统环境变量在 /etc/profile。你改系统配置,就绕不开 /etc。
/proc — 不占硬盘的实时仪表盘
/proc 目录非常神奇,它不占硬盘空间。它是系统的实时动态仪表盘。
内核状态、CPU占用、内存数据、进程信息,全部实时刷新。想监控服务器状态,看这里准没错。
比如 cat /proc/cpuinfo 看 CPU 信息,cat /proc/meminfo 看内存信息,cat /proc/loadavg 看系统负载。这些文件都是"活的",你每次读它们,数据都是最新的。
/home — 普通用户的专属家园
每个用户都会在这里拥有自己的独立文件夹。工作代码、项目文件、日常资料都存在这里。
这也是服务器最安全的存放目录之一。一般权限控制得当的话,用户 A 看不到用户 B 的 /home 目录。
/tmp — 重启就清空的临时垃圾站
所有缓存文件、临时数据、临时进程全都丢在这里。
最关键的知识点:重启全部清空,千万别存重要数据!
我有个同事,用 screen 跑了个脚本,日志文件放在了 /tmp 下。结果服务器重启,日志全没了,查了半天查不到根因。后来发现日志在 /tmp 里,整个人都傻了。
所以记住:/tmp 是临时用的,不是仓库。
/root — 超级管理员的私人豪宅
权限拉满,普通用户连查看的资格都没有。是系统权限最高的专属目录。
/usr — 相当于 Windows 的 Program Files
/usr 是系统最大的软件安装仓库。系统自带程序、工具、资源库全部集中在这里,是软件的主要安家地。
很多新手会困惑:/usr 不是 user 的缩写吗?其实是 Unix System Resources 的缩写。不过记不住也没关系,你只要知道它是放软件的地方就行。
/var — 运维排查的日志中心
/var 目录,运维排查故障的重灾区。
所有一直在变化的数据都存在这:系统日志、网站访问记录、数据库缓存、程序运行记录。
运维排查报错、查故障,百分之八十的时间都在看 /var 目录。
比如 tail -f /var/log/syslog 看系统日志,cat /var/log/nginx/access.log 看网站访问日志。遇到服务器出问题了,第一反应就是去 /var/log 翻日志。
其他几个目录
/lib 是系统依赖库文件夹,存放所有程序运行必备的插件和函数库。千万别乱删,一旦缺失依赖,系统直接瘫痪崩盘。
/mnt 是手动挂载目录,硬盘、网盘、远程文件需要手动挂载,默认就挂在这里。
/media 是自动挂载目录,插入 U 盘、移动硬盘、光驱,系统会自动识别并挂载到这个文件夹,即插即用。
/opt 是第三方软件专属目录,自己下载的小众工具、手动安装的服务,全部装在这里。干净整洁,不打乱系统原生文件,是运维最推荐的安装位置。
万能口诀
最后,我给你们整理了一套口诀,背下来,直接吃透 Linux 目录结构:
系统配置找 /etc,日常命令找 /bin
用户数据找 /home,运行日志找 /var
开机启动找 /boot
看懂这套目录结构,你的 Linux 基础直接超越大半新手。
— ✦ —
📢 下期预告:Linux 文件权限,这篇讲清楚 chmod、chown、umask 的区别
—— 三页札记
👇 关注我,每天分享运维/Linux/开发实战技巧
