# Linux 文件系统 文件系统指的是 Linux 内部的文件布局。 任何 Linux 系统,顶部总是一个根目录,写成`/`,其他目录都是根目录的子目录。下面就是根目录下的一些主要的子目录。 `/root`是根用户的主目录,根用户的文件都会放在这个目录。 `/home`是其他用户的主目录,每个用户在`/home`下面都会有自己的主目录。比如,用户`ruanyf`的主目录就是`/home/ruanyf`。用户自己的主目录可以用快捷方式`~`或`$HOME`访问。每个用户只能打开自己的主目录,不能访问其他用户的子目录。 `/bin`和`sbin`这两个目录,都包含应用程序和可执行命令的二进制文件。区别是`/bin`包含系统基本操作所需的二进制文件(例如 ls、cp、mv、mkdir 等命令),而`/sbin`包含管理系统所需的二进制文件(例如 fdisk)。 `/usr`存放用户自己安装的程序。如果你自己安装了一个程序,它的二进制命令一般会放在`/usr/bin`这个目录,它的库会放在`/usr/lib`目录。 `/etc`存放系统和应用程序的配置文件。比如,网络配置、用户信息和系统设置都可以在这个目录中找到。 `/opt`存放系统可选的安装文件。比如,安装了 MS Edge 浏览器,它就会放在`/opt/microsoft`,里面包含了它运行所需的所有库和可执行文件。 `/lib`包含系统的应用程序所需的所有基本库。 `/boot`包含引导过程所需的所有文件,包括内核、初始 RAM 磁盘和引导加载程序的配置文件。 `/media`是磁盘(包括光盘驱动器)的安装和访问位置。如果插入 USB 驱动器,它就会安装在`/media`下面的子目录。 `/mnt`类似于`/media`,但只用在挂载其他文件系统,比如网络文件系统。 `/proc`包含进程信息的文件。在这个目录中,你会看到一组有编号的子目录,每个子目录关联一个正在运行的进程,子目录编号就是进程号。 `/run`包含运行时数据、一些系统日志、进程 ID 和临时文件。 `/srv`保存各种服务端的数据,例如 Web 和 FTP 服务器,仅当安装了此类服务端时才使用此目录。比如,你启动了 FTP 服务器,可以在此目录中创建一个子目录,存放上传和下载的文件。如果你的电脑不用作服务器,只用作桌面电脑,那么该目录为空。 `/tmp`存放临时文件(由应用程序创建和使用),系统会定期自动删除里面的文件。 `/var`存放会不断变化的一些文件,比如系统日志、邮件、Web 服务器的文档根目录。如果系统出现问题,可以查看`/var/log`里面的日志。