[ linux ] 文件系统和目录结构详解

简介: 昨天,有个小学弟了我一个linux面试题目,和她解答完之后我就想在C站开一个专栏,用于linux和windows的学习我是这么想的,从linux入手,再写windows,最后总结常见区别本文主要写了linux的文件结构介绍、linux文件系统的介绍、linux文件系统的基本操作,快捷键,通配符等等下篇文章会写都文件的具体操作命令

一、linux文件结构介绍



1、Linux目录结构的特点


Linux采用的是树型结构。最上层是根目录,其他的所有目录都是从根目录出发而生成的。


微软的DOS和windows也是采用树型结构,但是在DOS和 windows中这样的树型结构的根是磁盘分区的盘符,有几个分区就有几个树型结构,他们之间的关系是并列的。


但是在linux中,无论操作系统管理几个磁盘分区,这样的目录树只有一个。从结构上讲,各个磁盘分区上的树型目录不一定是并列的。


Linux的虚拟文件系统允许众多不同类型的文件系统共存,并支持跨文件系统的操作。


Linux的文件是无结构字符流式文件,不考虑文件内部的逻辑结构,只把文件简单地看作是一系列字符的序列。


Linux的文件可由文件拥有者或超级用户设置相应的访问权限而收到保护。


Linux把所有的外部设备都看作文件,可以使用与文件系统相同的系统调用来读写外部设备。


2. Linux目录结构

image.png


常见:

/:是所有文件的根目录;


/bin:存放二进制可执行命令目录;


/home:用户主目录的基点目录,默认情况每个用户主目录都设在该目录下,如默认:用户user01的主目录是/home/user01,可用~user01表示


/lib:存放标准程序设计库目录,又叫动态链接共享库目录,目录中文件类似windows里的后缀名为dll的文件;


/etc:存放系统管理和配置文件目录;


/dev:存放设备特殊文件目录,如声卡文件,磁盘文件等;


/usr:最庞大的目录,存放应用程序和文件目录;


/proc:虚拟目录,是系统内存的映射,可直接访问这个目录来获取系统信息;


/root:系统管理员的主目录(特权阶级)


/var:存放系统产生的经常变化文件的目录,例如打印机、邮件等假脱机目录、日志文件、格式化后的手册页以及一些应用程序的数据文件等;


/tmp:存放公用临时文件目录。


补充:

/etc/rc.d 启动的配置文件和脚本


/sbin 系统管理命令,这里存放的是系统管理员使用的管理程序


/mnt 系统提供这个目录是让用户临时挂载其他的文件系统。


/lost+found 这个目录平时是空的,用于存放系统非正常关机而留下未保存的文件


/usr其中包含:


/usr/X11R6 存放X window的目录


/usr/bin 众多的应用程序


/usr/sbin 超级用户的一些管理程序


/usr/doc linux文档


/usr/include linux下开发和编译应用程序所需要的头文件


/usr/lib 常用的动态链接库和软件包的配置文件


/usr/man 帮助文档


/usr/src 源代码,linux内核的源代码就放在/usr/src/linux里


/usr/local/bin 本地增加的命令


/usr/local/lib 本地增加的库


二、Linux文件系统介绍



文件系统指文件存在的物理空间,linux系统中每个分区都是一个文件系统,都有自己的目录层次结构。


linux会将这些分属不同分区的、单独的文件系统按一定的方式形成一个系统的总的目录层次结构。


一个操作系统的运行离不开对文件的操作,因此必然要拥有并维护自己的文件系统。


1. 索引介绍:


Llinux文件系统使用索引节点来记录文件信息,作用像windows的文件分配表。


索引节点是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。


一个文件系统维护了一个索引节点的数组,每个文件或目录都与索引节点数组中的唯一一个元素对应。


系统给每个索引节点分配了一个号码,也就是该节点在数组中的索引号,称为索引节点号。


linux文件系统将文件索引节点号和文件名同时保存在目录中。


所以,目录只是将文件的名称和它的索引节点号结合在一起的一张表,目录中每一对文件名称和索引节点号称为一个连接。


对于一个文件来说有唯一的索引节点号与之对应,对于一个索引节点号,却可以有多个文件名与之对应。


因此,在磁盘上的同一个文件可以通过不同的路径去访问它。


2. Linux链接介绍


 可以用ln命令对一个已经存在的文件再建立一个新的连接,而不复制文件的内容。连接有软连接和硬连接之分,软连接又叫符号连接。


1. 硬链接:

原文件名和链接文件名都指向相同的物理地址。


目录不能有硬连接;硬连接不能跨越文件系统(不能跨越不同的分区)


文件在磁盘中只有一个拷贝,节省硬盘空间;


由于删除文件要在同一个索引节点属于唯一的连接时才能成功,因此可以防止不必要的误删除。


2. 软连接(符号链接):

符号连接:用ln -s命令建立文件的符号连接符号连接是linux特殊文件的一种,作为一个文件,它的数据是它所连接的文件的路径名。类似windows下的快捷方式。


可以删除原有的文件而保存连接文件,没有防止误删除功能。


三、linux文件系统操作



1. 文件的基本概念


在linux中,一切皆文件。文件是由创建者定义的,具有文件名的一组相关元素的集合,文件可以是文本文档、图片、程序等。


Linux系统下文件名长度根据不同类型文件系统有所不同。


文件取名必须遵守以下规则:

1. 除“/”外,所有字符都可使用;


2. 转义字符最好不用,如“ ? ”," * "(星号)," "(空格),“ $ ”,“ & ”等;


3. 避免使用“ + ”,“ - ”或“ . ”作为普通文件名的第一个字符(在Linux下以“ . ”开头的文件都是隐藏文件);


4. Linux系统的文件名大小写敏感。


2. Linux系统下的通配符(20个)


*  :通配符,代表任意字符(0到多个)


?:通配符,代表一个字符


#  :注释


\   :转义符号,将特殊字符或通配符还原成一般符号


|   :分割两个管线命令的界定


;   :连续性命令的界定


~  :用户的根目录


$  :变量前需要加的变量值


!   :逻辑运算中的“非”


/   :路径分割符号


>  :输出导向,分别为“取代”和“累加”


>>:输出导向,分别为“取代”和“累加”


'   :不具有变量置换功能


"   :具有变量置换功能


`   :quote符号,两个`中间为可以先执行的指令


()  :中间为子shell的起始与结束


[]  :中间为字符组合


{}  :中间为命令区块组合


&&:当该符号前一个指令执行成功时,执行后一个指令


||   :当该符号前一个指令执行失败时,执行后一个指令


3. Linux系统下的常用快捷操作(七个)


Ctrl+C:终止当前命令


Ctrl+D:输入结束


Ctrl+M:相当于Enter


Ctrl+S:暂停屏幕的输出


Ctrl+Q:恢复屏幕的输出


Ctrl+U:在提示符下,将整行命令删除


Ctrl+Z:暂停当前命令


四、[ linux ] linux 文件操作详解



直接点击链接看详细解读


1. 显示文件内容(6个):cat、more、less、head、tail


2. 搜索、排序、去重(三个):grep、sort、uniq


3. 比较(两个):comm、diff


4. 复制、删除、移动(三个):cp、rm、mv


5. 统计(一个):wc


6. 查找(一个):find


7. 压缩解压缩(三个):bzip2、gzip、tar


五、[ linux ] linux 目录操作详解



直接点击链接看详细解读


1. 切换工作目录和显示当前目录(3个):cd、pwd、ls


2. 创建和新建目录(2个):mkdir、rmdir


3. 改变文件或目录存取权限命令(1个):权限概念、文件长格式解读、chmod


4. 改变用户组和文件组(2个):chgrp、chown


5. 链接文件(1个):ln


六、专栏分享



推荐阅读:[ linux ] linux 目录操作详解


                 [ linux ] linux 文件操作详解


                 [ 渗透入门篇 ] 渗透行业必备术语大集合(一)


                 [ 应急响应 ]服务器(电脑)受到攻击该如何处理?(一)


相关文章
|
13天前
|
安全 Linux 数据安全/隐私保护
深入Linux操作系统:文件系统和权限管理
在数字世界的海洋中,操作系统是连接用户与硬件的桥梁,而Linux作为其中的佼佼者,其文件系统和权限管理则是这座桥梁上不可或缺的结构。本文将带你探索Linux的文件系统结构,理解文件权限的重要性,并通过实际案例揭示如何有效地管理和控制这些权限。我们将一起航行在Linux的命令行海洋中,解锁文件系统的奥秘,并学习如何保护你的数据免受不必要的访问。
|
20天前
|
存储 缓存 Ubuntu
Ubuntu Linux目录结构
理解Ubuntu Linux的目录结构对系统管理、维护和故障排除至关重要。每个目录都有其特定的用途和存放内容,通过了解这些目录,可以更高效地管理系统文件,确保系统的稳定运行。希望本文对你深入理解Ubuntu的目录结构有所帮助。
32 1
|
1月前
|
存储 运维 监控
深入Linux基础:文件系统与进程管理详解
深入Linux基础:文件系统与进程管理详解
72 8
|
1月前
|
存储 Linux 文件存储
Linux文件系统
Linux文件系统 一切皆文件 在Linux中,“一切皆文件”的概念意味着系统中的所有资源,包括硬件设备、目录及进程等,均被视为文件。这种设计简化了操作和管理,具体包括: 普通文件:存储数据的常规文件。 目录文件:包含其他文件和子目录的文件。 进程文件:在/proc目录下代表系统中运行的进程。 设备文件:位于/dev目录,代表硬件设备。 网络字节流套接字文件:用于网络通信的数据流。 链接文件:指向另一个文件的符号链接或硬链接。 管道文件:用于进程间通信的文件。
51 7
|
1月前
|
缓存 监控 Linux
|
2月前
|
存储 Oracle Unix
Linux 系统目录结构
Linux 系统目录结构
26 2
|
3月前
|
存储 Linux 索引
Linux 下最主流的文件系统格式——ext
【9月更文挑战第8天】硬盘被划分为若干相同大小的块(Block),默认大小为4K,便于灵活管理文件数据。文件数据分散存放于这些块中,提高了数据添加、删除和插入的便利性。
|
4月前
|
编解码 Linux 程序员
深度探索Linux操作系统 —— 构建根文件系统2
深度探索Linux操作系统 —— 构建根文件系统
49 12
|
4月前
|
Linux Shell 网络安全
深度探索Linux操作系统 —— 构建根文件系统1
深度探索Linux操作系统 —— 构建根文件系统
60 6
|
4月前
|
存储 人工智能 数据管理
深入理解Linux操作系统之文件系统管理探索人工智能:从理论到实践的旅程
【8月更文挑战第30天】在探索Linux的无限可能时,我们不可避免地会遇到文件系统管理这一核心话题。本文将深入浅出地介绍Linux文件系统的基础知识、操作命令及高级技巧,帮助你更有效地管理和维护你的系统。从基础概念到实践应用,我们将一步步揭开Linux文件系统的神秘面纱。