Linux文件结构

请注意,本文编写于 840 天前,最后修改于 799 天前,其中某些信息可能已经过时。

Linux文件结构

要谈文件结构就要先理解路径。

什么是路径?

在Windows中你开启的每个文件,都在硬盘中有着对应的位置进行存放,并且OS会将他存放的位置以路径的方式展示给你。

例如

E:\LOL\WeGameApps

就是很典型的一个Windows的路径。

同理在Linux中的文件也有他们对应的路径。

例如之前存放开机默认启动等级的文件存放在

/etc/inittab

看习惯了windows的文件路径看linux可能会有点不熟悉。不过本质上是差不多的。

要注意的是在Linux中,下面几个可以路径缩写可以记下

./     #表示当前路径
../    #表示上一层路径
/     #根路径

然后就是绝对路径和相对路径了

绝对路径:从头到尾全打一遍

/ROOT/RABY/A/B/C (这就是很经典的绝对路径了,从根开始到目的地)

相对路径:就是以你当前所在路径到达目的的表达

例如我现在的位置在/ROOT/RABY
那么我去C的相对路径就是
./A/B/C

把这个类似于走迷宫就很好理解了,或者把路径转换成树

其他关于路径的也没啥值得介绍的了。

目录介绍

先把目录转换成简单的树状图就是如下。

不像Windows哪样,以CDEF盘开始,Linux是以/(根目录开始),然后依据每个目录的功能不同存放不同的功能的文件。

下面介绍每个目录的功能

系统启动必须目录:

目录功能
/boot存放启动Linux时使用的内核文件,包括连接文件以及镜像文件。
/etc存放所有的系统需要的配置文件和子目录列表,更改该目录下的文件可能会导致系统无法启动
/lib存放基本代码库(比如:C++库),其作用类似于Windows内的DELL文件,几乎所有的应用程序都需要用到这些共享库
/sys这是Linux2.6内核后的一次变化。这个目录内新出现一个文件系统sysfs。集成了三种文件系统的信息。针对进程信息的proc文件系统、针对设备的devfs文件系统、以及针对终端的devpts文件系统。当一个内核对象被创建的时候,对应的文件目录也在内核对象子系统中

指令集合:

目录功能
/bin用于存放最常用的程序和指令(普通用户)
/sbin只有系统管理员才能使用的程序和指令

外部文件管理:

目录功能
/devDevice(设备)的缩写,存放的是Linux外部设备。注意:在Linux中,访问外部设备和访问文件的方法是相同的
/media类windows的其他设备,U盘,光盘,光驱,识别以后会战士存放在这个目录内。等待挂载
/mnt用于临时挂载文件系统的,例如U盘光盘啥的,可以暂时挂载在这个目录,这样就可以看里面的内容了

临时文件:

目录功能
/run一个临时的文件系统,存储系统启动以来的信息,当重启后,这个目录内文件会被清空,如果你系统内存在/var/run,那说明你应该把他指向/run
/lost+found一般情况是空的。当你系统非法关机的时候,例如。拔插头,停电等特殊情况的时候,部分文件会被转移在这个目录内。
/tmp这个目录用于存放一些临时文件的。就一普通目录

账户:

目录功能
/root系统管路员用户的主目录
/home用户的主目录。以用户账号名命名的。
/usr用户很多应用程序或文件可以存放在这目录下,类似于windows的program files目录
/usr/bin系统用户使用的应用或指令
/usr/sbin超级用户可以使用的应用和指令
/usr/src内核源代码默认存放目录

运行过程中使用:

目录功能
/var存放需要经常修改的数据,比如程序运行的日志文件(/var/log)
/proc管理内存空间,虚拟目录,是系统内存的映射,可以直接访问这个目录来获取系统信息。这个目录内容是在内存里的,可以对里面的某些文件进行修改

扩展使用:

目录功能
/opt默认是空目录,我们需要额外安装的软件可以放在这里面
/srv存放服务启动后需要提取的数据(不适用服务器就是空的)

文件系统

指文件存放在磁盘存储设备的组织方法。因为Linux是开源的。可以支持很多异构的文件系统

常见的就是ext2、ext3、ext4这三种

在RHEL引入了XFS系统。

简单介绍三个的特点

文件系统格式功能
ext2标准系统格式,速度快,但是不能随意进行断电
ext3有了日志功能,可以随意断电了,优于ext2,但是因为日志系统的关系导致了对卡的读写频繁,会损耗存储设备的寿命
ext4比ext3更优秀,例如支持大文件,无限制目录等,但是会更叫消耗电量

关于文件系统的详细分析:https://www.cnblogs.com/alantu2018/p/8461749.html

这个大佬写的很棒了,虽然以我现在的能力说实话看不太懂。我只是做简单了解,便于自己选择合适的文件系统使用罢了。或许是和数据结构和存储相关的知识。

参考资料:

https://www.cnblogs.com/alantu2018/p/8461749.html

https://www.runoob.com/linux/linux-system-contents.html

添加新评论

已有 1 条评论

原来如此!

召唤看板娘