作者:嘻嘻嘻嘻 | 来源:互联网 | 2023-05-17 12:23
文章目录[隐藏] 简介 简介
目前的大部分 Linux 文件系统都默认采纳 ext4 文件系统,Linux的文件系统分层构造采纳FHS规范,具体详解http://www.pathname.com
简介
目前的大部分 Linux 文件系统都默认采纳 ext4 文件系统,Linux的文件系统分层构造采纳FHS规范,具体详解http://www.pathname.com/fhs/,文件和目录被组织成一个单根倒置树结构,规范目录构造见下图。
文件类型
Linux下的文件类型次要有以下几种类型:
- 一般文件
d 目录文件
b 块设施
c 字符设施
l 链接文件
p 管道文件
s 套接字文件
文件通配符
文件通配符能够匹配符合条件的现有文件,常见通配符如下所示:
* 零个或多个字符,但不匹配暗藏文件
? 任何单个字符
~ 以后用户家目录
~XX XX用户家目录
[0-9] 匹配数字0-9中的某一个字符
[a-z]
[A-Z]
[hello] 匹配列表中的任何一个字符
[^hello] 匹配列表中所有字符以外的任何一个字符
删除某一文件夹下的所有文件
rm -rf * .[^.]*
文件元数据和节点表构造
文件的属性信息,例如文件的大小、工夫、类型等,称为文件的元数据(meta data)。
这些数据寄存在node表中,第一个node表记录对应保留了如下信息:
inode number 节点编号
文件类型
权限
UID
GID
链接数 (执行该文件的名称个数)
文件大小和不同工夫戳
指向磁盘上文件的数据块指针
无关文件的其余数据
第一条记录如图所示:
一个目录的内容是目录下的文件名和文件inode号的对应关系。
cp命令:
- 调配一个闲暇的inode号,在inode表中生成新条目;
- 在目录中创立一个目录项,将名称与inode编号关联;
- 拷贝数据生成新的文件;
rm和node
- 链接数递加,当链接数减为0时,把数据块放到闲暇列表中;
- 删除目录项(文件名和inode号的关联关系);
- 数据实际上不会马上被删除,但当另一个文件应用数据块时将被笼罩;
立刻删除大文件范例:
cat/dev/null > /var/log/bigfile
mv和node
- 如果mv的源文件和指标文件在雷同分区,则用新的文件名创立新的目录项,inode号不变;
- 删除旧的文件名;
- 不影响inode表(除工夫戳)或磁盘上的数据;
不在同一分区:相当于cp和rm
硬链接与软链接
硬链接
硬链接实质上就是给文件起一个新名称,本质上是同一个文件;具备雷同的inode号,并且会减少该文件的链接数。
格局:
ln filename [linkname]
当rm删除文件时,链接数递加,当链接数为0时,文件被标记为删除;
软链接/符号链接
软连贯文件实质上和原文件不是同一个文件;
格局:
ln -s filename [linkname]
软连贯特点:
- 一个软连贯的内容是它援用文件的名称;
- 指向的是另一个文件的门路,其大小为指向的门路字符串的长度;
- 不会减少援用文件inode的援用计数;
- 软连贯如果应用相对路径,是绝对于原文件的门路,不是绝对于当前目录的门路;
软链接和硬链接的区别
|
实质 |
跨设施 |
inode |
链接数 |
文件夹 |
文件类型 |
硬链接 |
同一文件 |
不反对 |
雷同 |
创立会减少,删除会缩小 |
不反对 |
与源文件雷同 |
软链接 |
不同文件 |
反对 |
不同 |
不会变动 |
反对 |
链接文件,与源文件不同 |