一、linux系统中常见的文件分析
1、Linux目录的配置 大概的概述如下图分析:
| 可分享的(shareable) | 不可分享的(unshareable) |
不变的(static) | /usr (软件放置处) | /etc(配置文件) |
/opt (第三方协力软件) | /boot(开机与核心档) | |
可变动的(variable) | /var/mail(使用邮箱信息) | /var/run(程序相关) |
/var/spool/news(新闻组) | /var/lock(程序相关) |
可分享的:可以分享给其他系统挂载使用的目录,所以包括执行文件与用户的邮箱等数据是能够分享给网上其他主机挂载的目录。
不可分享的:自己的机器上面运作的装置或者与程序相关的socket文件等,之只适合自己的主机使用。
不变的:有些数据是不会经常变动的,跟随着distribution而不变动,例如函数库,文件说明,系统管理员所在的主机服务配置文件等。
可变动的:经常改变的数据,例如登陆文件,一般用户自行收受的新闻组等
- /root (根目录):与开机系统有关
- /usr:与软件安装/执行有关
- /var:与系统运作的过程有关
目录 |
应放置文件内容 |
第一部分,FHS必须要求存放在的目录 | |
/bin | 系统有很多放置文件的目录,但/bin比较特殊。因为/bin 放置的是单人维护的模式下还能被操作的指令在bin底下的指令可以被root与一般账号所使用,主要有:cat,chmod,chgrp,date, mv, mkdir,cp, bash等
|
/boot | 这个目录主要在放置开机会使用到的文件,包括linux核心文件以及开机所需配置文件等等,linux kernel 常用的档名为:vimlinuz,如果使用的是groub2 这个开机管理程序,则还会存在/boot/grub2/这个目录
|
/dev | 在linux 系统上,任何的装置与接口设备都是以文件的形态存在于这个目录当中的,你只是透过存取这个目录底下的某个文件,就等于存取某个装置,比较重要的文件有/dev/null,/dev/zero,/dev/tty,/dev。Loop*,/devsd*等等
|
/etc | 系统主要配置文件几乎所有配置吻技安都在这个目录中,例如人员账号密码文件,各种服务的起始档等等,一般来说,这个目录的各个份文件属性是可以让一般使用这查询的,但是只有root有权限修改,FHS建议不要放置可执行文件(binary)在这个目录中,比较重要的文件有:/etc/modprobe.d、/dev/zero、/dev/tty、/dev/loop*, /dev/sd*等等。 /etc/opt(必要):这个目录在放置第三方协力软件/opt 的相关配置文件 /etc/X11/(建议)与 X Windown 有关的各项配置文件 /etc/xml/(建议):与XML 格式有关的各项配置文件
|
/lib | 系统函式库非常多,而/lib 放置的则是在开始时用到的函式库,以及在/bin 或/sbin底下的指令会呼叫的函式库而已。什么是函式库呢,就像一些外挂,某些指令必须要有这些外挂才能顺利的完成执行之意,另外 FSH 还要求底下的目录必须存在。 |
/media | 这个/media 底下放置的就是可移除的装置,包含软盘,光盘、DVD等装置都暂时挂载于此。常见的档名有:/media/floppy,/media/cdrom等 |
/mnt | 如果想要暂时挂载某些额外的装置,一般建议放在这个目录中。这个目录一般用来临时挂载磁盘。 |
/opt | 该目录是第三方协力软件放置的地方,如子啊系统中安装的一些应用需要放在此目录此目录下。 |
/run | 早期的FHS 规定系统开机后产生的各项信息因该要放置到 /var/run 目录下,新版的FHS则规范到 /run底下。由于 /run 可以使用内存来仿真,因此效能上会好很多。 |
/sbin | Linux 有非常多指令是用来设定系统环境的,这些指令只有root才能利用来 |
/srv | Srv 可以视为 [service] d的缩写,是一些网络服务开启之后,这些服务所需取用的数据目录。常见的服务例如WWW。FTP等 。举例来说WWW服务需要的网页资料就可以放在/srv/www/里面。不过,系统的服务数据如果提供给英特网任何人浏览的话,预设还是放置到 /var/lib底下即可。 |
/tmp | 这是昂一般用户或者实在执行的程序暂时放置文件的地方。这个目录是任何人能够存取的,所以需要定期的清理一下,当然,重置数据 不可放在此目录,因为FHS 甚至建议在开机时,因该要将/tmp下的数据删除。 |
/usr | 第二层 FHS设定 |
/var | 第二层 FHS 设定,主要为放变动的性的数据。 |
/home | 这是系统默认的用户家目录(home dirctory。在新增一个一般使用者账号时,默认的家目录都会规范到这里来,比较重要的是,家目录有两种代号。 ~ : 代表当前这个用户的家目录 ~dmtsai: 则代表 dmtsai 的家目录 |
/lib<qual> | 用来存放与 /lib 不同的格式的二进制函式库,例如支持64位的 /lib64 函式库等 |
/root | 系统管理员(root) 的家目录之所以放在这里,是因为如果进入单人维护模式而仅挂载目录时,该目录就能够有root的家目录,所以我们会希望root的家目录与根目录放置在同一个分槽中。 |
|
|
事实上FHS针对根目录所定义的标准就仅有上述的目录内容,不过linux底下还有许多的目录如:
目录 |
应放置文件内容 |
/lost+found | 这个目录式使用标准的/ext2/ext3/ext4 文件系统格式才会产生的一个目录,目的在于系统发生错误时,将一些遗失的片段放置在这个目录下。不过如果使用的是 xfs文件系统的话,就不存在这个目录了 |
/proc | 这个目录本身是一个[虚拟文件系统] 放置的数据都是在内存中,例如系统核心、形成信息/周边装置的状态等等。因为这个目录下的数据都是在内存当中,所以本身不占任何硬盘空间,比较重要文件例如:/proc/cpuinfo/,/proc/dma,/proc/interrupts,/proc/ioports,/prooc/net/*等等 |
/sys | 这个‘目录其实跟/poc非常的类似,也是一个虚拟的文件系统,主要也是核心记录与系统硬件信息较相关的信息。包括目前已加载的核心贞测到的硬件装置信息等。这个目录同样不占硬盘容量。 |
目录 |
应放置文件内容 |
第一部分: FHS 要求必须要存在的目录 | |
/usr/bin/
| 所有一般用户能够使用的指令都存放在这里!目前新的CentOS7 已经将全部的治指令放置在此,而使用连结档的方式将/bin 连结至此!也就是说, /usr/bin 与 /bin 是一模一样了,另外。FHS 要求在此目录下应该有子目录。 |
/usr/lib/ | 基本上,与/libh功能相同,所以 /lib 就是链接在此目录中 |
/usr/local/ | 系统管理员在本机自行安装自己下载的软件(非distribution 默认提供者),建议安装到此目录中,这样会比较方便管理,举例来说,你的额=distribution 提供的软件比较旧,你想要安装的是比较新版的软件但又不想移除旧版,此时你可以将新版软件安装于/usr/local/ 目录下,看与原来的就版本软件有分别,你可以自行到/usr/local 去看看,该目录下也具有bin ,etc,include,lib ……的次目录。 |
/usr/sbin | 非系统正常运作所需要的系统指令。最常见的就某些网络服务软件的服务指令,不过基本功能与 /sbin也差不多,因此目前 /sbin 就是链接到此目录中的。 |
/usr/share | 主要放置只读架构的数据文件,当然有人包括共享文件。在这个目录下放置几乎部分硬件架构均可读取数据,因为几乎都是文本文件,在此目录下常见的还有这些目录。 /usr/share/man;: 联机帮助文件 /usr/share/doc : 软件杂项的文件说明 /usr/share/zoneinfo: 与时区有关的文件
|
、 第二部分:FHS 建议可以存在的目录 | |
/usr/games |
与游戏比较相关的数据放置处 |
/usr/include/ | c/c++等程序语言的档 头(header)与包含档(include)放置处,当我们一tarball方式(*.tar.gz的方式安装软件)安装某些数据时,会使用到里边的许多文件。 |
/usr/libexec/ | 某些不被一般使用者习惯的执行文档或者脚本等等,都会放置子啊此目录中,例如大部分的X窗口下的操作指令,很多都是放在目录下的。 |
/usr/lib<qual> |
与 /lib<qual>/ 功能相同, 因此目前 /lib/<qual> 就是链接到此目录中 |
/usr/src | 一般原始码建议放置在这里,src 有 source的意思。至于核心原始按码则建议放置到/usr/src/liunx/目录下。 |