鸟哥的Linux私房菜——Linux目录配置

        在学习文件相关命令之前,我们先来了解一些Linux目录配置和文件类型等基础知识,以便我们更好的理解命令中出现的一些信息。


 一、Linux目录配置标准:FHS

        FHS(Filesystem  Hierarchy Standard):规范每个特定目录下应存放的数据内容,主要目的是希望用户可以了解到已经安装软件通常放置于哪个目录。
        事实上,FHS针对目录树架构仅仅定义出三层目录下应该存放的数据内容。

  • /(root,根目录)——与开机系统有关
  • /usr(UNIX software resource)——与软件安装和执行有关
  • /var(variable)——与系统运作过程有关

1、根目录下的子目录

       根目录是Linux系统中最重要的一个目录,它与开机、还原、系统修复等操作有关。由于系统开机时需要特定的开机软件、内核文件、开机所需程序、函数库等文件数据,若系统出错,根目录必须要有能够恢复文件系统的程序,故根目录特别重要,FHS希望根目录不要放在非常大的分区里。因为分区越大存放的数据越多,根目录所在的分区出现错误的机会就会越大。

       因此,FHS标准建议根目录(/)所在分区应越小越好,且应用程序所安装的软件最好不要与根目录存放在同一分区中

FHS定义根目录下应包含的子目录:

  • /bin——放置可执行二进制文件的目录,包含单用户维护模式下还能被操作的命令。主要有cat、chmod、chown、date、                   mv、mkdir、cp、bash等常用命令。
  • /boot——放置装载开机会使用到文件的目录,包括Linux内核文件以及开机所需的配置文件等。Linux kernel 常用的文件名为                       vmlinuz 。若使用grub引导装载程序,则还会用到 /boot/grub这个目录。
  • /dev——放置设备文件的目录,通过访问目录下的某个文件,就等于访问某个设配。比较重要的文件                                                    有:/dev/null,/dev/zero/,/dev/tty,/dev/sd*等。
  • /etc——放置系统主要配置文件的目录,包括用户的账号密码文件(/etc/passwd存放账号,/etc/shadow存放账号的密码信                 息)、各种服务的起始文件等。FHS建议不要放置可执行文件在该目录下
  • /home——放置系统默认的用户主文件夹的目录,当创建新用户时,默认的用户主文件夹都放置在该目录下。 注意:主文件                   件夹有两种表示方式:(1)~:代表当前用户的主文件件(2)~buzi:代表buzi用户的主文件夹
  • /lib——放置系统开机时会用到的函数库,以及在/bin或/sbin下面的命令会调用的函数库。注意:/lib/modules目录比较重                    要,  存放内核相关的驱动程序。
  • /media——放置可删除的设备文件目录,包括软盘、光盘、DVD等设备都临时挂载于此目录下。
  • /mnt——放置暂时挂载某些额外设备的文件目录
  • /opt——放置第三方软件文件的目录,第三方软件指非原本的distribution提供的、自行安装的额外软件。比如:KDE桌面管理               系统。
  • /srv——放置网络服务启动后,所需取用的数据文件目录,比如:WWW服务需要的网页数据可存放在/srv/www目录下。
  • /tmp——放置临时文件的目录,任何人都可以访问该目录,需定期清理,重要数据请勿放在该目录下。

2、/usr下的子目录

       首先注意usr是UNIX  Software  Resource的缩写,而非user的缩写。它是“UNIX 操作系统软件资源”所放置的目录,而不是用户数据。/usr里面放置的数据属于可分享的和不可变的。FHS建议开发者应将他们的数据合理地放置到该目录下的子目录下。/usr目录有点类似Windows下的“C:\Windows\”和“C:\Program files ”的综合体,当Linux系统安装完毕时,该目录会占用最多的硬盘容量。

一般来说,/usr目录应具有以下的子目录:

  • /usr/bin——系统预装的可执行程序,用户可使用的绝大部分命令都放在这里。
  • /usr/include——C/C++等程序语言的头文件与包含文件
  • /usr/lib——包含各应用软件的函数库、目标文件以及不被一般用户惯用的执行文件或脚本
  • /usr/local——系统管理员在本机自行安装自己下载的软件,建议安装到此目录下
  • /usr/sbin——非系统正常运行所需要的系统命令
  • /usr/share——放置共享文件。/usr/share/man:在线帮助文件
  • /usr/src——建议源码放置在该目录下

3、/var目录下的子目录

var目录主要针对常态性变动的文件,包括缓存、登录文件、以及某些软件运行所产生的文件,还包括程序文件MYSQL数据库文件等。

  • /var/cache——应用程序本身运行时产生的一些暂存文件
  • /var/lib——程序正常执行过程中需使用到的数据文件(可变的)
  • /var/lock——锁定文件,某些资源一次只能被一个应用程序占用,两个程序同时使用该资源会发生错误。因此需要将该设备上锁,以确保该文件只会被单一程序使用
  • /var/log——放置登录文件
  • /var/run——某些程序或者服务启动后,会将他们的PID放置在该目录下

参考博客的链接:

https://blog.csdn.net/m0_38044196/article/details/72844025

 

 

你可能感兴趣的:(Linux命令)