从零单排Linux – 3 – 目录结构

从零单排Linux – 3 – 目录结构

   1、FHS标准(filesystem hierarchy standard)

            why? –> 为了规范,还有为了linux的发展

            重点 –> 规范每个特定目录下应该要放置什么样的数据

            what? –> 定义了三层目录下应该放置什么数据{

                    1. /  根目录:放置与开机系统有关的数据

                    2. /usr (unix software rescource): 与软件的安装执行有

                                                        关数据

                    3. /var :与系统运行过程有关的数据

            }

            根目录不要放在非常大的分区,应该越小越好,一是提升性能,二是不容易发生问题

    

    2、FHS定义根目录下应该有那些子目录{

            /bin    系统有很多的执行文件,一般用户都可以使用,单用户模式下

                    能够操作的命令

            /boot   放置开机会使用到的文件,包括linux内核文件以及开机菜单,

                    配置文件

            /dev    放置设备以及接口设备文件 {

                         /dev/null 类似一个黑洞 作用:禁止标准错误

                                                      禁止标准的输出

                         /dev/zero 也是一个伪文件,用来临时交换文件

                         /dev/hd* –>IDE设备 硬盘

                         /dev/sd* –>SCSI设备

                         /dev/tty[0-63] –>虚拟终端

                         /dev/ttys –>串口

                         /dev/ram* –>内存

                         /dev/lp –>并口

                     }

            /etc    系统主要的配置文件是放在这个目录里面,账号,密码,

                    各种服务的起始文件,组名。一般的用户都是可以查询

                    的,只有root权限才能修改。FHS建议不要放置

                    可执行文件(binary)在这个目录中。比较重要的{

                       inittab –>runlevel的默认配置就在这里

                       init.d –>所有服务的默认启动脚本都是放在这里的

                    }

            /home    这里系统默认的用户主文件夹,主要你的个人数据,

                     /home/用户名

            /lib     放置开机会用到的函数库,以及在/bin或者/sbin下面的

                     命令会调用的函数库。

                     /lib/modules ->放置内核相关的模块(驱动程序)

            /media   媒体的英文,下面放置的可删除的设备,比如光驱,软驱

            /misc    杂项驱动放置的地方

            /mnt     挂载某些额外设备的地方,比如u盘

                     挂载是指讲一个设备挂接一个已存在的目录,通过访问这

                     个目录来访问设备

            /net     跟网络有关,网络目录的一个挂载点

            /opt     放置第三方软件的目录,比如自己安装的java,realplay等

            /root    系统管理员的主文件夹

            /proc    这个一个虚拟文件系统,放置的数据都是在内存里面,比如

                     系统的内核,进程,本身不占硬盘空间。

            /sbin    只有系统管理员才能用,其他用户只能查询,设置系统环境

                     的命令,修复,还原系统等这些命令、**和/bin的区别{

                          功能来说:/sbin 属于基本的系统,shutdown,reboot,

                                          启动系统,修复系统。

                                    /bin 一些普通的基本命令,如ls,chmod

                          用户的权限来说:/sbin 下面的命令通常只有管理员可

                                                以运行

                                          /bin 管理员和一般用户都可以用

                        }

            /selinux 这个目录的数据也是在内存的,不会占用硬盘容量,他是

                     linux的内核的重要的外挂之一。

            /srv    service的缩写,是些网络服务启动之后需要用到的数据目录

                    比如:www,ftp

            /tmp    类似临时文件夹,任何人都可以访问,所以不要将重要的数

                    据放到这个目录下面

            /lost+found    当文件系统发生错误的时候,会将一些丢失的文件片

                           段放这个目录。比如非法关机,这个目录里面就会放

                           这些文件。

            /sys    和proc类似,也是一个虚拟文件系统,主要记录与内核相关的

                    一些信息,包括:目前已经加载的内核模块和内核检测到的硬

                    件设备信息。

            /usr    这个是unix操作系统软件资源所放置的目录,不是用户的数

                    据,这点注意下。 对于开发者而言,不要自行新建目录在

                    这个下面。系统默认的软件都是放置在这个/usr下面。类

                    似windws的c:window + c:program files 这2个目录的

                    结合体。

            /var    这个目录在运行以后才会逐渐占用硬盘容量。缓存文件,登陆

                    文件,某些软件运行所产生的文件,像数据库文件等等。

    }

    3、需要注意的是:

                根目录和系统开机有关,根目录和哪些目录不能放到不同的分区{

                        /etc    配置文件

                        /bin    执行文件

                        /dev   设备文件

                        /lib     执行文件所需要的函数库和内核所需要的模块

                        /sbin    系统执行文件

                } 

    4、绝对路径和相对路径

            a/b/c/d/e     windows/java/jre/tolls.jar

                          windows/java2/jre2/tools2.jar 

原文地址:https://www.cnblogs.com/shaohaixiong/p/4509252.html