未加星标

FHS文件系统各目录功能

字体大小 | |
[系统(linux) 所属分类 系统(linux) | 发布者 店小二04 | 时间 2016 | 作者 红领巾 ] 0人收藏点击收藏

FHS 文件系统各目录功能

摘要:

本文主要介绍linux的文件组织目录结构。

一、Linux 目录结构

在讲 Linux 目录结构之前,你首先要清楚一点东西,那就是 Linux 的目录与 windows 的目录的区别,或许对于一般操作上的感受来说没有多大不同,但从它们的实现机制来说是完全不同的。

一种不同是体现在目录与存储介质(磁盘,内存,DVD 等)的关系上,以往的 Windows 一直是以存储介质为主的,主要以盘符(C 盘,D 盘…)及分区的来实现文件管理,然后之下才是目录,目录就显得不是那么重要,除系统文件之外的用户文件放在任何地方任何目录也是没有多大关系。所以通常 Windows 在使用一段时间后,磁盘上面的文件目录会显得杂乱无章(少数善于整理的用户除外吧)。然而 UNIX/Linux 恰好相反,UNIX 是以目录为主的,Linux 也继承了这一优良特性。 Linux 是以树形目录结构的形式来构建整个系统的,可以理解为一个用户可操作系统的骨架。虽然本质上无论是目录结构还是操作系统内核都是存储在磁盘上的,但从逻辑上来说 Linux 的磁盘是“挂在”(挂载在)目录上的,每一个目录不仅能使用本地磁盘分区的文件系统,也可以使用网络上的文件系统。举例来说,可以利用网络文件系统(Network File System,NFS)服务器载入某特定目录等。

1.FHS 标准

Linux 的目录结构说复杂很复杂,说简单也很简单。复杂在于,因为系统的正常运行是以目录结构为基础的,对于初学者来说里面大部分目录都不知道其作用,重要与否,特别对于哪些曾近的重度 Windows 用户,他们会纠结很长时间,关于我安装的软件在哪里这类问题。说它简单是因为,它其中大部分目录结构是规定好了(FHS 标准),是死的,当你掌握后,你在里面的一切操作都会变得井然有序。

FHS (英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准),多数 Linux 版本采用这种文件组织形式,FHS 定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。

FHS 定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc 应该要放置设置文件,/bin 与 /sbin 则应该要放置可执行文件等等。

第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统登录文件、/usr/share 放置共享数据等等。

可分享的 (shareable)

不可分享的 (unshareable)

不变的 (static)

/usr ( 软件放置处 )

/etc ( 配置文件 )

/opt ( 第三方协力软件 )

/boot ( 开机与核心档 )

可变动的 (variable)

/var/mail ( 使用者邮件信箱 )

/var/run ( 程序相关 )

/var/spool/news ( 新闻组 )

/var/lock ( 程序相关 )

/ 下面的每个目录的具体的功能如下图所示


FHS文件系统各目录功能

具体的规定如下表格所示

目录 应放置的文件内容

/

根目录 root(/) ,一般建议在根目录下只有目录,不要直接有文件。根目录是启动时系统第一个载入的分区,所以所有启动过程中会用到的文件都应该放在这个分区中。举例来说, /etc 、 /bin 、 /dev 、 /lib 、 /sbin 这 5 个子目录都应该与根目录连在一起,不可独立成为某个分区。

/bin,/usr/bin,
/usr/local/bin

放置用户可执行的二进制文件的目录。

/boot

放置 Linux 系统启动时用到的文件。启动会用到 Linux 的核心文件。这个目录下面的文件 vmlinuz 就是 Linux 的核心。这一点非常重要,如果引导程序( loader )选择 grub ,那么这个目录内还有 /boot/grub 子目录。

/dev

在 Linux 系统上,任何设备都以文件类型存放在这个目录中,例如键盘、鼠标、硬盘、光盘等。在此目录下的文件会多出两个属性,分别是主设备号 (major device number) 与辅设备号 (minor device number) 。系统核心就是通过这两个号码来判断设备的。重要的文件有 /dev/null 、 /dev/tty[1-6] 、 /dev/ttyS* 、 /dev/lp* 、 /dev/hd* 、 /dev/sd* 等。

/etc

系统主要的设置文件几乎都放在这个目录内,例如人员的账号密码文件、各种服务的起始文件等。一般来说,这个目录下的各文件属性是可以让一般用户查看的,但只有 root 有权修改。在此目录下的文件几乎都是 ASII 的纯文本文件。不过, FHS 建议不要在这个目录中放置可执行文件。比较重要的文件有: /etc/inittab 、 /etc/init.d 、 /etc/modprobe.conf 、 /etc/X11 、 /etc/fstab 、 /etc/sysconfig 等。

/home

这是系统默认的家目录 (home directory) 。

/lib,/usr/lib,
/usr/local/lib

系统使用的函数库的目录。程序在运行过程中,可能会调用一些额外的参数,这需要函数库的协助。这些函数库就放在此处。比较重要的是 /lib/modules 目录内有核心的相关模块。

/lost+found

系统出现异常,产生错误时,会将一些遗失的片段放于此目录下,通常这个目录会自动出现在某个分区顶层的目录下。

/mnt/media

这是软盘与光盘的默认载入点。通常软盘挂在 /mnt/floppy 下,光盘挂在 /mnt/cdrom 下。

/opt

这是给主机额外安装软件所放的目录。举例来说, FC4 使用 Fedora 团队开发的软件,如果想要自行安装新的 KDE 桌面软件,可以将该软件安装在这个目录下。不过,以前的 Linux 系统中,我们还是习惯放在 /usr/local 目录下。

/proc

这个目录本身是一个 “ 虚拟文件系统 ” ,它放置的数据都在内存中,例如系统核心、外部设备的状态及网络状态等。因为这个目录下的数据都在内存中,所以本身不占任何硬盘空间。比较重要的文件有 /proc/cpuinfo 、 /proc/dma 、 /proc/interrupts 、 /proc/ioports 、 /proc/net/* 等。

/root

系统管理员 (root) 的家目录。之所以放在这里,是因为系统第一个启动就载入的分区为 / ,而我们希望 /root 能够与 / 放在同一块分区上。

/sbin,/usr/sbin,
/usr/local/sbin

放一些系统管理员才会用到的可执行命令,例如: fdisk 、 mke2fs 、 fsck 、 mkswap 、 mount 等。与 /bin 不太一样的地方是,这几个目录是给 root 系统管理用的。但目录下的执行文件可以让一般用户用来 “ 查看 ” 而不能设置。

/srv

一些服务启动之后,这些服务所需要访问的数据目录。举例来说, WWW 服务器需要的网页数据就可以放在 /srv/www 中。

/tmp

这是让一般用户或者是正在执行的程序临时放置文件的地方。这个目录是任何人都能访问的,所以需要定期清理。当然,重要数据不可放在此目录中。

/usr

根据 FHS 规范的第二层内容,在 /usr 目录下,包含系统的主要程序、图形界面所需要的文件、额外的函数库、本机自行安装的软件,以及共享的目录与文件。它有点像 Windows 操作系统中的 “Program files” 与 “Windows” 这两个目录的结合。在此目录下的重要子目录有:

/usr/bin,/usr/sbin :一般身份用户与系统管理员可执行文件放置目录

/usr/include : c/c++ 等程序语言的文件头( header )与包含文件( include )放置处,当以 tarball 方式( *.tar.gz 的方式安装软件)安装某些数据时,会使用到里面的许多包含文件。

/usr/lib :各种应用软件的函数库文件放置目录。

/usr/local :本机自行安

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

分页:12
转载请注明
本文标题:FHS文件系统各目录功能
本站链接:http://www.codesec.net/view/484365.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(29)