linux文件系统介绍

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux文件系统介绍相关的知识,希望对你有一定的参考价值。

我们通常说,Linux下,一切皆文件。那不言而喻,Linux下肯定有一套强大的文件系统所支撑。其实,不管是什么系统,都需要有一套文件系统来存储文件。因为对计算机而言,他们只能读懂二进制文件,但对人来说,读二进制文件是非常困难的,那就需要转换成人能读懂的文件形式,存储在文件系统中。通常来说,被调入内存的文件都是待执行的文件,执行完成后,就会写入文件系统中。我们知道cpu执行速度是非常快的,文件调入的速度远远跟不上cpu执行的速度,于是便有了寄存器,缓存,内存,磁盘的概念。通常来说,距离cpu越近的部件速度越快,造价也越昂贵,集成在cpu内部的寄存器最快,其次是缓存,接下来就是内存了。根据自然界发展的规则,任何物质都不是完美的,上述介质也一样,在速度提升的同时,他们都不具有断电存储的功能,所以,在断电后,这些介质中的信息都会消失。那也就是需要有专门的介质去存储内存中的信息,磁盘便是承载这一功能,磁盘上的信息,断电后不会丢失,所以计算机中所有文件都存储在磁盘上,那么文件系统也就安装在磁盘上。在我们安装操作系统的时候,我们有一个挂载的过程,选择好挂载点后,我们点击确定后,提示删除磁盘信息,其实就是安装文件系统的过程,文件系统安装完成后,所有存储在文件系统的文件,便可以被操作系统识别了。我们看下面一张图:图片为引用


技术分享图片


上图所列的目录便是Linux系统的结构图,它是一张树状结构图。为什么采用树状级结构图?因为树状结构图方便归类和整理,就好像图书馆的书一样,先进行大类分成不同的书架,在进行逐级细分,方便文件的查找。我们知道,在windows中,有C盘,D盘等盘符的概念,其实就是说,他们在每一个磁盘上都安装了一个文件系统,也就是说每个分区都是独立的。windows将操作系统图形化后,简化了路径的概念,其实我们每进入一个文件夹,都有一个路径在背后运行。Linux一般在机房不提供显示屏,我们就不需要运行图形化界面去浪费资源,那我们访问文件的时候就需要输入路径去找到文件,其实本质是一样的。下面介绍Linux文件下的文件分类:


/   根目录,也是进入文件系统的点;

/boot   系统引导启动时要加载的静态文件,内核,grub等;

/bin   系统自身启动和运行时可能会用到的核心二进制程序,不能关联至独立分区;

/sbin   管理类基本命令,不能关联至独立分区,系统启动时需要;

/lib    基本共享库文件,内核模块文件;

/lib64  64位系统辅助共享库文件存放位置;

/etc  大多数应用程序的配置文件的集中存放位置;

/home  普通用户的家目录的存放位置;

/root   管理员root的主目录;

/media 便携式设备挂载点;

/dev   设备文件及特殊文件存放位置;

/opt   第三方应用程序存放位置;

/usr  UNIX操作系统软件资源存放位置;

/var   经常发生变化的文件的存放位置;

/selinux  相关安全策略等信息的存放位置   等其他目录。

上述基本列出了Linux系统中大部分文件,还有一些不重要的文件就不一一列举了。
那如果遇到系统崩溃,需要重新安装系统,但我们的数据又不想丢失怎么办?这就需要我们所提到的挂载的概念了,挂载就类似于把那个目录单独出来,而不是都在根目录下。根目录就好像我们的c盘,我们在重装系统时只选择格式化根目录即可,其他挂载点不动,这样我们就可以把其他数据不恢复,重装完后还能看到以前的数据。Linux和windows是两个概念,虽然不可以相提并论,但却可以对比学习,这更有助于我们理解和学习操作系统。

看完Linux下的文件系统,我们再来看一下Linux系统下主要的文件类型。
我们知道在Linux命令下,ls命令是用来显示目录文件的,ls -l是用来长列出文件系统,为了方便长列出,系统定义了一个别名(alias命令),ll可以代替ls -l命令,也是长列出文件。如下:


技术分享图片


我们可以看到当前系统中的别名信息,下面我们列出一个文件下的目录:


技术分享图片


红线箭头所指向的第一列便是我们看到的权限列,该列通常分为10位,第一位便是用来标示文件的类型,后边是权限位。
通常在第一位上会出现如下的几种信息:



-(f):普通文件

d:目录文件

b:块设备

c:字符文件

l:符号链接文件

p:管道文件

s:套接字文件,socket

以后我们便可以通过直接长列出,去查看文件类型了。

以上是关于linux文件系统介绍的主要内容,如果未能解决你的问题,请参考以下文章

Prometheus配置文件

《Linux学习并不难》文件系统管理:xfs文件系统介绍

C#程序员经常用到的10个实用代码片段 - 操作系统

如何检测 SUSE Linux 系统中的音频可用性

VS code自定义用户代码片段snippet

LINUX PID 1和SYSTEMD PID 0 是内核的一部分,主要用于内进换页,内核初始化的最后一步就是启动 init 进程。这个进程是系统的第一个进程,PID 为 1,又叫超级进程(代码片段