Filesystem Hierarchy Standard - The filesystem standard has been designed to be used by Unix distribution developers, package developers, and system implementors. However, it is primarily intended to be a reference and is not a tutorial on how to manage a Unix filesystem or directory hierarchy.

  • /bin - 存放常用的终端命令,例如:ls、mount、rm 等等,普通用户和超级用户都可以执行。
  • /sbin - 包含通常只应由超级用户使用的重要管理命令。
  • /boot - 存放系统启动所需的文件,包括 Linux Kernel,一个随机存储磁盘镜像和 Bootloader 的配置文件。
  • /dev - 存放所有的设备文件,这些不是常规文件,而是指系统上的各种硬件设备,包括硬盘驱动器,在 Linux 中访问设备的方式和访问文件的方式是相同的。
  • /etc - 存放系统的全局配置文件,这里面的配置文件会影响系统所有用户的系统环境。系统内所有采用默认安装方式(rpm 安装)的服务配置文件全部保存在此目录中,如用户信息服务的启动脚本,常用的配置文件等。
  • /home - 用户的家目录,每个用户都有自己的家目录。
  • /lib - 存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
  • /lost+found - 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
  • /media - 作为外部设备的一个挂载点,比如硬盘或者可移动设备(U盘、DVD、CD)。Linux 系统会自动识别一些设备,例如 U 盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
  • /mnt - 和 /media 一样,也是一个挂载点,但是专用于挂载临时的设备,例如网络文件系统。
  • /opt - 用于安装系统额外的软件,这里安装的软件是手动安装的,不受 Ubuntu 软件管理包的管理。
  • /proc - 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。如 /proc/cpuinfo 是保存CPU信息的,/proc/devices 是保存驱动的列表的,/proc/filesystems 是保存文件系统。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的 ping 命令,使别人无法 ping 你的机器:echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
  • /root - root 用户的家目录,不在 /home/ 中,即使 /home/ 不可用,也允许引导系统。
  • /run - 是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
  • /srv - 该目录存放一些服务启动之后需要提取的数据,包含 HTTP(/srv/www/)或 FTP 等服务的数据目录。
  • /sys - 可以访问的虚拟文件系统,用于设置或获取有关内核系统视图的信息。
  • /tmp - 应用程序使用的临时文件的位置。
  • /usr - 是 Unix 操作系统软件资源所放置的目录,而不是用户的数据,包含大多数用户实用程序和应用程序,类似于 Windows 下的 program files 目录。。FHS 建议所有软件开发者,应该将他们的数据合理的分别放置到这个目录下的次目录,而不要自行建立该软件自己独立的目录。
    • /usr/bin/ - 应用程序调用的函数保存位置。
    • /usr/local/ - 系统管理员在本机自行安装自己下载的软件(非 distribution 默认提供者),建议安装到此目录, 这样会比较便于管理。举例来说,你的 distribution 提供的软件较旧,你想安装较新的软件但又不想移除旧版, 此时你可以将新版软件安装于 /usr/local/ 目录下,可与原先的旧版软件有分别。该目录下也是具有 bin, etc, include, lib… 的次目录。
    • /usr/src - 内核源代码默认的放置目录。
  • /var - 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下,例如日志,数据库,网站和临时脱机(电子邮件等)文件。
    • /var/log/ - 其中保存了系统日志文件
    • /var/run/ - 一些服务和程序运行后,它们的 PID(进程 ID)保存位置,是 /run/ 目录的软连接。
    • /var/spool/mail/ - 新收到的邮件队列保存位置,系统新收到的邮件会保存在此目录中。
    • /var/spool/cron/ - 系统的定时任务队列保存位置,系统的计划任务会保存在这里。

参考资料