linux 文件目录介绍

FHS 即 _Filesystem Hierarchy Standard_(文件系统层次化标准)


FHS 要求必须存在的目录:

/:根目录

是系统最重要的目录,所以目录都源生与 /。且 / 目录还与开机,还原,系统修复等动作有关。

/bin :存放用户常用命令

下放置都是一些可以被 root 和一般用户使用的命令。如:cat、chmod、 chown、 date、mv、mkdir、cp、 bash

/boot: 存放开机需要的文件

下存放的是开机需要的文件。包括 linux 核心档案以及开机菜单于开机所需配置文件等。 Linux kernel(核心)常用的文件名为:vmlinuz,如果使用的是 grub2 这个开机管理程序, 则还会存在/boot/grub2/这个目录喔!

/dev: 存放设备档案

该目录下存放的都是装置于周边设备的档案。你只要通过访问这个目录底下的某个档案,就等于存取某个设备。重要的有:_/dev/null, /dev/zero, /dev/tty, /dev/loop, /dev/sd_

/etc:存放配置文件

如 passwd, 各种服务的启始文件。一般用户可以查询,但 w 权限只有 root 有。/etc/shadow:存放密码的文件。

/lib: 存放开机时会用到的库,

以及在/bin 或/sbin 底下的命令会调用的库。库可以理解成插件。反正 **FHS**** **要求该目录必须存在。

/mnt: 用来暂时挂载某些额外设备

/opt: 存放第三方软件、程序插件

/sbin: 存放开机,修复,还原系统所需的指令。

且只能用 root 操作。常见的指令时:fdisk、fsck、ifconfig、mkfs 等。

/srv: 存放网络服务所需的数据

可以视作“service”的缩写。存放一些网络服务所需的数据。不过,系统的服务数据如果尚未要提供给互联网任何人浏览的话,默认还是建议放置到 **/var/lib** 底下即可。

/tmp: 一般目录, 可暂时存放任意文件,且这个目录没有权限限制。

这个目录是任何人都能够存取的,所以你需要定期的清理一下。 当然,重要资料不可放置在此目录啊! 因为**FHS**甚至建议在开机时,应该要将/tmp 下的资料都删除唷!

/usr:存放 Unix 操作系统软件资源

usr** Unix Software Resource的缩写, 也就是 Unix 操作系统软件资源。该目录存放的都是系统的预设软件。类似 window 的 C 盘中的那些系统文件夹。**

  • /usr/bin/: 一般用户的全部命令都存放于此。而使用链接文件的方式将 /bin 链接至此! 也就是说, /usr/bin 与 /bin 是一模一样了! 另外,**FHS** 要求在此目录下不应该有子目录!
  • /usr/lib/: 基本上,与 /lib 功能相同,所以 /lib 就是链接到此目录中的!
  • /usr/local/: 系统管理员在本地自行安装自己下载的软件(非 distribution 默认提供者),建议安装到此目录, 这样会比较便于管理
  • /usr/sbin/:就是系统命令。和/sbin/差不多
  • /usr/share/:都是一些可读的帮助资料,放置只读框架的数据档案。也包括共享文件。
  • /usr/src/: 一般源码都放置在这里。内核源码建议放置在/usr/src/linux/目录下.

/var:存放的是开机后,操作系统运行中的数据。

这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件

  • /var/cache/ 应用程序本身运行过程中会产生的一些暂存档。
  • /var/lib/ 程序执行中会用到数据文件放置的目录。主要就是放数据库的。比如 mysql 的数据库就该放在 /var/lib/mysql 中。
  • /var/log/ 放置文件登录文件信息的目录。里面比较重要的文件如/var/log/messages, /var/log/wtmp(记录登入者的信息)等。
  • /var/mail 放置个人电子邮件信箱的目录。也被放置到/var/spool/mail 目录中!通常这两个目录互为连接文件。
  • /var/run 放置程序启动运行后的他们的 pid。
  • /var/spool 就是放置队列资料。

FHS 建议可以存在的目录

/home: 就是家目录

你新增一个一般用户账户时,默认都会存入这个目录,**~**:代表目前这个用户的家目录。

/lib<qual>: 不同格式的库目录

用来存放与 /lib 不同的格式的二进制库。列如支持 64 位的/lib64 库等;

<qual> 是一个可选的后缀,表示库文件的架构或位数。比如 /lib32 表示 32 位的库文件,/lib64 表示 64 位的库文件

/root: 系统管理员的家目录。即 ~


非官方点名的重要目录

/lost+found:

使用老的 ext2/ext3/ext4 文件系统产生的错误时,遗失的片段会存入该目录。用 xfs 就不会存在这个目录了。

/proc:

虚拟档案系统,就是放在内存中,并不占用磁盘空间。比如:系统核心,行程信息,周边设备等。比较重要的文件例如:/proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/*等等。

/sys:

这个目录其实跟/proc 非常类似,也是一个虚拟的档案系统,主要也是记录核心与系统硬件信息较相关的信息。 包括目前已加载的核心模块与核心侦测到的硬件设备信息等等。 这个目录同样不占硬盘容量喔。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!