Linux(入门基础):10---Linux目录配置、目录树

Linux目录配置的依据---FHS

1.概念:利用Linux开发产品的公司以及个人很多,每个人如果都是用不同的想法来配置目录,那么就会造成管理上的很多不便,于是就有了FHS标准的出炉

2.FHS的目的:让用户可以了解到已安装的软件通常放置于那个目录下,让独立开发软件的开发商、操作系统制造者等都遵循FHS标准

3.FHS协议下目录的分类

  可分享 不可分享
不变 例如:/usr(软件存放处) 例如:/etc(配置文件)
  例如:/opt(第三辅助软件) 例如:/boot(启动与内核、文件)
可变动 例如:/var/mail(用户邮箱) 例如:/var/\run(程序相关)
  例如:/var/spool/news(新闻组) 例如:/var/lock(程序相关)
  • 可分享:可以分享给其他系统挂在使用的目录,所以包括执行文件以后用户的邮件等数据
  • 不可分享:自己机器上面运行的设备文件或是与程序有关的socket文件等,不适合分享给其他主机
  • 不变:有些数据不会经常变动,例如函数库、说明文件、、系统管理员所管理的主机服务配置文件等
  • 可变动:经常修改的数据,例如日志文件、一般用户课自行接受的新闻组等

4.FHS协议下针对目录树架构下定义出三层主要目录

  • /(root,根目录):与启动系统有关
  • /usr:与软件安装/执行有关
  • /var:与系统运行过程有关

一、根目录:/

1.引入

  • 根目录是整个系统最重要的一个目录,所有的目录都从根目录繁衍出来,同时根目录还与启动、还原、系统修复等操作有关
  • 由于系统启动时需要特定的启动软件、内核文件、启动所需程序、函数库等文件数据,若系统出现错误时,根目录也必须包含能够修复文件系统的程序才行
  • FHS要求,根目录不要放在非常大的分区内,因为分区越大,放置的文件越多,越容易产生错误

2.目录结构

  • FHS要求必须存在的目录
/bin 系统有很多存放执行文件的目录,但是/bin比较特殊。/bin目录下放置的是在单人维护模式下还能够被执行的命令。/bin目录下的命令可以被root和一般账号使用。例如:cat、chmod、mv、mkdir...
/boot 主要放置启动会使用到的文件,包括Linux内核文件以及启动选项与启动所需配置文件等。Linux内核常用的文件名为:vmlinuz。如果使用grub2这个启动引导程序,则还会存在/boot/grub2/这个目录
/dev 任何设备与接口设备都以文件的形式存在于这个目录中,操作某个文件就相当于读写这个设备,比较重要的有:/dev/null、/dev/zero、/dev/tty等
/etc

系统主要的配置文件几乎都放置在这个目录内。例如:人员的账号密码、各种服务的启动文件等。这个目录下文件的各种属性可以让一般用户查看,但是只有root才有权修改。FHS建议不要放置可执行文件在这个目录中。比较重要的文件有:/etc/modprobe.d、/etc/passwd、/etc/fstab、/etc/issue等。还有几个比较重要的目录。

  • /etc/opt:放置第三方辅助软件/opt的相关配置文件
  • /etc/X11/:存放与X Window有关的各种配置文件,尤其是xorg.conf这个 X Server的配置文件
  • /etc/sgml/:与SGML格式有关的配置文件
  • /etc/xml/:与XML格式有关的配置文件
/lib

放置的是启动时会用到的函数库,以及在/bin或/sbin下面的命令会调用的函数库。

  • /lib/modules/:主要放置可抽换式的内核相关模块(驱动程序)
/media 放置的是可删除的设备。包括:软盘、光盘、DVD等设备都暂时挂载于此。常见的由/modia/floppy、/media/cdrom等
/mnt 如果你想暂时挂载某些设备,一般建议放置在这个目录下。早些时候,这个目录的用途与/media相同。只是有了/media之后,这个目录就暂时用来挂载
/opt 第三方辅助软件放置的目录。如果你想要自行安装额外的软件,可以装在这个地方
/run 早起的FHS规定系统启动后所产生的各项信息应该放置在/var/run目录下。FHS新规范到/run目录下。由于/run使用内存来模拟,因此性能上会很好
/sbin Linux有很多常用的命令是用来设置系统环境的,这些命令只有root才能够用来设置系统,其他用户只能查询。此目录下面放置的是启动过程中所需的启动、修复、还原系统所需要的命令。常用的命令有:fdisk、fsck、ifconfig、mkfs
/srv 是一些网络服务启动之后,这个服务所需要使用的数据目录。常见的由WWW、FTP等。例如:WWW服务器所需的网页数据就防止在/srv/www/里面。不过,系统的服务数据如果尚未要提供给因特网任何人浏览的话,建议放置在/bar/lib下面
/tmp 让一般用户或正在执行的程序暂时放置文件的地方。这个目录任何人都能够存取,所以需要定期地清理一下。当然,重要数据不要放置在这里
/usr 后续介绍
/var 主要放置变动性数据,后续介绍
  • FHS建议可以存在的目录
/home

系统默认的用户家目录。每新增一个一般用户账号时,默认的用户家目录都会规范到这里来

  • ~:代表目前这个用户的家目录
    • ~dongshao:代表dongshao的家目录
/lib<qual> 用来存放于/lib不同格式的二进制函数库。例如:支持64位的/lib64函数库等
/root 系统管理员的家目录。之所以放在这里:因为如果进入单人维护模式而仅挂载根目录时,该目录就能够拥有root的家目录,所以希望root的家目录与根目录放置在同一个分区中
  • 一些其他比较重要的目录
/lost+found 这个目录是使用ext2、ext3、ext4文件系统格式才会产生的一个目录,目的在于当文件系统发生错误时,将一些遗失的片段放置到这个目录下。如果使用的是xfs文件系统的话,就不会存在这个目录
/proc 这个目录本身是一个虚拟文件系统,它放置的数据都是在内存中的,本身不占用任何硬盘空间。例如:系统内核、进程信息、外接设备的状态以及网络状态等。重要的有:/proc/cpuinfo、/proc/dma、/proc/interrupts、/proc/net/*等
/sys 这个目录与/proc目录非常相似,也是一个虚拟的文件系统。主要记录内核与系统硬件信息相关的内容。包括目前以加载的内核模块与内核检测到的硬件设备信息等。也不占用硬盘空间

二、/usr目录

1.引入

  • FHS规定,/usr里面放置的数据属于可分享不可变动
  • 因为所有系统默认的软件都会放置在/usr下面,因此此目录类似于Windows下“C:\Windwos\”+“C:\Program Files\”两个目录的结合
  • 所以,系统刚安装完毕之后,此目录会占用最多的硬盘空间

2.目录结构

  • FHS规定必须要存在的目录
/usr/bin/ 一般用户能够使用的命令都放置在这里。使用链接文件的方式将/bin链接在此,所以/usr/bin/与/bin是一模一样的。此目录下要求不要再有子目录
/usr/lib/ 基本上,与/lib功能相同,所以/lib就是链接到此目录中的
/usr/local/ 系统管理员在本机安装自己下载的软件,建议安装到此目录,便于管理。该目录也具有bin、etc、include、lib...等子目录
/usr/sbnin/ 非系统正常运行所需要的系统命令,最常见的就是某些网络服务器软件的服务命令。不过,基本功能与/sbin也差不多。目前/sbin就是链接到此目录中的
/usr/share/

主要放置只读的数据文件,也包括共享文件。几乎是文本文件。常见的有

  • /usr/share/man:在线帮助文件
  • /usr/share/doc:软件的说明文档
  • /usr/share/zoneinfo:与时区有关的时区文件
  • FHS建议可以存在的目录
/usr/games/ 与游戏相关的数据放置处
/usr/include/ C/C++等程序语言的头文件与包含文件放置处
/usr/libexec/ 某些不被一般用户常用的执行文件或脚本等,会放置在这里。例如:大部分的X 窗口下面的操作命令
/usr/lib<qual>/ 与/lib<qual>/功能相同,因此码目前/lib<qual>就是链接于此
/usr/src/ 一般源代码建议放置在这里。置于内核源代码建议放置在/usr/src/Linux/目录下

三、/var目录

1.引入

  • /var就是在系统运行后才会渐渐占用内存的目录
  • /var目录主要针对经常变动的文件,包括缓存、日志文件以及某些软件运行所产生的文件。例如程序文件、MySQL数据库的文件等

2.目录结构

  • FHS规定必须存在的目录
/var/cache/ 应用程序本身运行过程中会产生的一些缓存
/var/lib/ 程序本身运行的过程中,需要使用到的数据文件放置的目录。此目录各自软件有各自的目录。例如:MySQL数据库放置到/var/lib/mysql,rpm数据库则放置到/var/lib/rpm
/var/lock/ 某些设备文件或是文件资源一次只能被一个应用程序所使用,如果有两个程序使用此设备时,就会产生错误,因此就得要将该设备上锁。目前,此目录也已经挪到/run/lock中
/var/log/ 非常的重要。这是日志文件放置的目录,重要的有:/var/log/messages、/var/log/wtmp(记录登录信息)等
/var/mail/ 放置个人电子邮箱的目录,这个目录被放置到/var/spool/mail/目录中,这两个目录互为链接文件
/var/run/ 某些程序或是服务启动后,会将它们的PID放置在这个目录下,PID后面会介绍
/var/spool/ 这个目录通常放置一些队列数据,所谓队列就是排队等待其他程序使用的数据。这些数据使用后通常会被删除

 

四、目录树汇总图

猜你喜欢

转载自blog.csdn.net/qq_41453285/article/details/86568831
今日推荐