
刚从Windows转到Linux服务器,最不适应的可能就是文件系统了。没有了熟悉的C盘、D盘分区,只有一个光秃秃的根目录 /
,下面跟着一堆像 /etc
, /var
, /usr
, /bin
这样看起来奇奇怪怪的文件夹。
“我的网站文件该放哪儿?” “Nginx的配置文件藏在哪了?” “系统日志又是在哪个犄角旮旯?”
别急!Linux的文件系统看似神秘,其实非常有逻辑。它遵循一套叫做 FHS (Filesystem Hierarchy Standard – 文件系统层次结构标准) 的约定(虽然不同发行版会有些微小差异,但大同小异)。理解了这些常用目录的“分工”,你就拿到了Linux世界的地图,找东西、放东西都能心中有数。
来,跟上脚步,我们这就发车,带你浏览Linux服务器上最重要的几个“街区”:
起点站:根目录 /
(The Root Directory)
- 这是哪? 这就是整个Linux文件系统的起点,所有其他目录和文件都“挂”在它下面。你可以把它想象成大楼的地基或者地图的原点。只有一个
/
。
核心工具箱:/bin
和 /sbin
(Essential Commands)
/bin
(User Binaries): 存放的是最基本的用户命令,是系统能正常运行所必需的,所有用户(包括普通用户)都能使用。比如ls
(列出文件),cp
(复制),mv
(移动),cat
(查看文件),bash
(Shell本身) 等。就像家里的基本工具箱,螺丝刀、锤子什么的。/sbin
(System Binaries): 存放的是基本的系统管理命令,通常只有root
用户(或通过sudo
)才能执行,用于系统维护。比如reboot
(重启),fdisk
(磁盘分区),iptables
(防火墙),systemctl
(管理服务) 等。好比是专业电工、水管工的工具箱。- (小提示: 现代系统中,
/bin
和/sbin
可能只是指向/usr/bin
和/usr/sbin
的符号链接,但这个概念上的区分仍然有助于理解。)
- (小提示: 现代系统中,
配置文件中心:/etc
(Et cetera / Configuration Files)
- 这是哪? 极其重要! 这个目录是整个系统几乎所有应用程序和系统服务的主要配置文件存放地。把它想象成服务器的“设置中心”或“控制面板后台”。
- 里面有啥? Nginx的
nginx.conf
、SSH服务的sshd_config
、MySQL的my.cnf
、网络配置、用户密码文件 (passwd
,shadow
)、开机启动服务配置等,都在这里或其子目录下。教程里让你“修改配置文件”,十有八九就是要来/etc
目录下找。
变化的数据与日志:/var
(Variable Files)
- 这是哪? 这个目录用来存放那些经常变化的文件,比如日志、缓存、数据库文件、网站文件等。
var
就是 Variable (可变的) 的意思。 - 关键“房间”:
/var/log
: 日志文件大本营! 系统日志 (syslog
,messages
), 应用日志 (nginx/access.log
,mysql/error.log
等) 通常都在这里。排查问题必看!/var/www
: 很多系统(尤其是Debian/Ubuntu)默认的网站根目录。你的网站文件(HTML, PHP, 图片等)常常放在这个目录下的子目录里(比如/var/www/html
或/var/www/yourdomain.com/html
)。/var/lib
: 存放程序运行所需的状态信息和数据文件。比如MySQL/MariaDB的数据库文件默认可能就在/var/lib/mysql
。/var/cache
: 应用程序产生的缓存文件。/var/tmp
: 存放那些希望在重启后仍然保留的临时文件(不同于/tmp
)。
用户的“家”:/home
(Home Directories)
- 这是哪? 普通用户的家目录所在地。当你创建一个普通用户(比如
john
),系统通常会自动在这里创建一个/home/john
目录。 - 里面有啥? 用户自己的文件、下载、文档,以及用户个人的配置文件(比如
.bashrc
,.profile
, 应用程序的个人设置.config
等)。root
用户的家目录比较特殊,不在/home
下,而在/root
。
系统软件库:/usr
(Unix System Resources)
- 这是哪? 这个目录非常庞大,包含了绝大多数用户安装的应用程序、共享库文件、文档、以及一些不变的系统资源。可以类比Windows下的
C:\Program Files
加上部分C:\Windows
的功能。它是“只读”的(由包管理器管理,用户不应随意修改)。 - 关键“部门”:
/usr/bin
: 大部分普通用户可执行的应用程序命令(对比/bin
更基础的命令)。/usr/sbin
: 大部分系统管理类的应用程序命令(对比/sbin
更基础的命令)。/usr/lib
或/usr/lib64
: 存放程序运行时所需的共享库文件 (.so 文件)。/usr/local
: 这个目录比较特殊,通常用于用户自行编译安装的软件,以区别于系统包管理器安装的软件。它下面也常有bin
,lib
,etc
,share
等子目录。/usr/share
: 存放平台无关的共享数据,如文档 (/usr/share/doc
)、man 手册页 (/usr/share/man
)、时区信息等。
临时中转站:/tmp
(Temporary Files)
- 这是哪? 用于存放临时文件的地方,所有用户都有写入权限。
- 特点: 这个目录下的文件通常在系统重启时会被清空!所以,绝对不要把需要长期保存的重要文件放在这里。
可选软件安装地:/opt
(Optional Software)
- 这是哪? 用于安装一些可选的、第三方、通常是自成一体的商业软件包。比如你手动下载安装的某个特殊软件,可以放在
/opt/
下的某个子目录里,方便管理,不和系统自带的软件混淆。
管理员的“私宅”:/root
(Root User’s Home)
- 这是哪? 超级用户
root
的专属家目录。注意它直接位于根目录/
之下,而不是/home/root
。
系统启动核心:/boot
(Boot Loader Files)
- 这是哪? 存放启动Linux系统所必需的文件,包括Linux内核 (
vmlinuz
)、初始化内存盘 (initrd.img
或initramfs*.img
) 以及引导加载程序 (Bootloader, 如GRUB) 的配置文件。 - 警告: 这个目录非常关键!除非你完全清楚自己在做什么,否则绝对不要随意修改或删除这里的文件,否则系统可能无法启动!
设备文件集散地:/dev
(Device Files)
- 这是哪? Linux中“一切皆文件”,这个目录存放的是代表硬件设备的特殊文件。比如硬盘 (
/dev/sda
,/dev/nvme0n1
)、分区 (/dev/sda1
)、终端 (/dev/tty1
)、甚至空设备 (/dev/null
)、随机数生成器 (/dev/random
) 等。普通用户很少直接操作这里的文件,但了解它的存在有助于理解Linux如何与硬件交互。
内核与进程信息的“窗口”:/proc
和 /sys
(Process & System Information)
- 这是哪? 这两个目录比较特殊,它们是虚拟文件系统,里面的内容是内存中关于内核、进程、硬件状态的实时信息,并非真实存在于硬盘上。像
top
,ps
,lspci
等命令就是从这里读取信息的。一般用户只在进行深度系统诊断时才会去浏览这里的内容。