在使用Linux操作系统时,你是否曾好奇:文件是怎样被储存、组织和访问的?为何有时侯删掉了文件linux主机,c盘空间却没有释放?本教程将带你一步步揭露Linux文件系统的神秘面纱。无论你是刚接触Linux的菜鸟,还是有一定经验但想深入理解底层机制的用户,都能从中受惠。

哪些是文件系统?

简单来说,文件系统是操作系统拿来管理c盘上数据储存和检索的一套规则和结构。它决定了文件怎么命名、存储、组织以及怎样被读取或更改。在Linux中suse linux,常见的文件系统包括ext4、XFS、Btrfs等,其中ext4文件系统是最广泛使用的默认选项之一。

ext4文件系统详解_Linux文件系统教程_linux系统源码

核心概念:inode是哪些?

linux系统源码_Linux文件系统教程_ext4文件系统详解

在Linux中,每位文件都有一个惟一的“身份证”——inode(索引节点)。它不包含文件名linux系统源码,而是储存了文件的元数据,例如:

文件名虽然只是目录项(directoryentry)中的一个“别名”,它指向对应的inode。这也是为何Linux支持硬链接(多个文件名指向同一个inode)的诱因。

查看文件系统的实用命令

以下是一些常用命令,帮助你了解当前系统的文件系统状态:

#查看c盘分区和挂载情况

df-h

ext4文件系统详解_Linux文件系统教程_linux系统源码

#查看inode使用情况

df-i

#查看某个文件的inode号

ls-ifilename.txt

#查看文件系统的详尽信息(需root权限)

ext4文件系统详解_linux系统源码_Linux文件系统教程

sudotune2fs-l/dev/sda1

比如,运行ls-i可以看见每位文件对应的inode编号:

$ls-i

123456document.pdf789012notes.txt

为何删掉文件后空间没释放?

linux系统源码_ext4文件系统详解_Linux文件系统教程

这是一个常见问题!缘由一般是:即使你删掉了文件名(即目录项),但仍有进程正在使用该文件(持有文件描述符)。只要还有进程打开着这个文件,它的inode就不会被释放,c盘空间也就不会回收。

解决方式是找到并关掉相关进程:

#查找已删掉但仍被占用的文件

lsof+L1

#或则查找特定挂载点下的被删掉文件

lsof/home|grepdeleted

管理c盘与文件系统

ext4文件系统详解_linux系统源码_Linux文件系统教程

良好的Linuxc盘管理习惯能防止好多问题。建议定期检测:

通过理解inode结构和文件系统的工作原理,你除了能更高效地使用Linux,就能在遇见储存问题时快速定位症结。

小结

本教程介绍了Linux文件系统的基本概念、inode的作用、常用命令以及常见问题排查方式。把握这种知识linux系统源码,你已然迈出了成为Linux大神的重要一步!

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复