linux目录结构按功能和权限逻辑分层,核心目录职责明确:/bin和/sbin存开机必备命令(前者供普通用户使用,后者需root权限);/etc是配置文件中心;/var存放动态数据如日志、缓存;/home、/root为用户家目录,/usr及其子目录/usr/local分别管理共享程序与手动安装软件。

Linux目录结构不是随便设计的,它按功能和权限逻辑分层,理解关键目录的职责比死记硬背路径更有用。记住一句话:“系统管系统,用户管用户,配置归配置,日志有日志”。
/bin 和 /sbin:系统运行最基础的命令在哪?
这两个目录放的是“开机就必须能用”的命令,比如 ls、cp、mount、ifconfig。区别在于:
- /bin:普通用户也能直接执行的通用命令(如 cat、ps)
- /sbin:通常需要 root 权限,用于系统管理(如 fdisk、reboot、iptables)
实战提示:如果你编译安装了一个新工具(比如自己装的 nginx),别往这里硬塞——应该放 /usr/local/bin,避免污染系统核心目录。
/etc:所有配置文件的“中央控制台”
几乎所有服务的配置都在这儿:/etc/nginx/nginx.conf、/etc/hosts、/etc/fstab、/etc/passwd……
- 修改前先备份:sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
- 重启服务前务必语法检查:sudo nginx -t(对 Nginx)、sudo systemctl daemon-reload(对 systemd 服务)
- 别手抖删空 /etc —— 系统大概率无法启动
/var:存的是“会变”的东西
/var 是 variable 的缩写,专放运行时动态生成的数据:
- /var/log:所有服务日志(syslog、auth.log、nginx/access.log)
- /var/www:Web 服务默认根目录(apache/Nginx 静态文件常放这里)
- /var/cache:软件包管理器缓存(如 apt 的 deb 包、yum 的 rpm)
- /var/run(现多为 /run):进程 PID 文件、socket 文件等临时运行数据
高频操作:查日志卡顿时,优先看 /var/log/syslog 或 journalctl -u nginx;磁盘满?du -sh /var/log/* | sort -hr | head -5 快速定位大日志。
/home、/root、/usr:用户空间与共享资源怎么分?
简单说:
- /home/用户名:普通用户自己的文件、配置(~/.bashrc、~/Documents)
- /root:root 用户的家目录(不是 /home/root!)
- /usr:“unix System Resources”,存放只读的、共享的程序和库(/usr/bin、/usr/lib、/usr/share)。现代发行版中,它已替代旧版 /bin 和 /lib 的大部分功能
- /usr/local:管理员手动编译安装的软件默认落脚点(和包管理器互不干扰)
小技巧:想查某个命令来自哪?which ls 或 type -a python;想知道它属于哪个包?dpkg -S /bin/ls(debian)或 rpm -qf /bin/ls(RHEL)。
基本上就这些。不用一次全记住,遇到具体任务(比如改 ssh 端口、清日志、装软件)时,带着问题反查对应目录,几次下来自然就熟了——Linux 目录结构,本质是运维思维的物理映射。