磁盘相关的命令
约 744 个字 33 行代码 3 张图片 预计阅读时间 3 分钟
磁盘存储文件的方式
可以将磁盘视为若干个区块(block),区块大小在磁盘格式化时即确定。
文件的数据至少占用一个区块,如果超出一个区块,则放到另一个区块,以此类推。
占用空间 >= 文件大小,如果存在大量小文件,其差距更加悬殊。
多区块数据访问的方式
一种方法(索引式文件系统,如 ext2)
划分分区的一部分存放文件信息,更大的一部分存放文件内容。
存放文件信息的区域被划分为多个 inode,一个 inode 存放一个文件的信息。
存放文件内容的区域划分为多个区块,文件信息中存有文件内容对应的区块。
另一种方法(如 FAT)
一个区块末尾存放指针,指向下一个区块。
第二种方法易造成磁盘碎片,第一种基本上不太需要碎片整理。
文件系统
Linux 有 VFS(虚拟文件系统)的功能,只要系统支持,一般情况下,程序不需要考虑具体的文件系统是什么。
Linux 支持多种文件系统,可以通过该目录查看支持的文件系统:
安装系统分区时,Ubuntu 默认是 ext4 文件系统,CentOS 默认是 xfs 文件系统。
df
- 查看各文件系统磁盘使用量
后接目录或文件,表示查看该目录 / 文件所在分区的磁盘使用量。
选项:
-a
:列出所有的文件系统-k
、-m
:以 KiB、MiB 的形式显示(默认是 KiB)-h
:以人类易读的形式显示-H
:同上,但将 *iB (1024 进位)替换为 *B(1000 进位)-T
:显示文件系统类型-i
:显示 inode 数量,而非磁盘容量
例:
占用空间最好不要超过 90%。
du
- 查看文件 / 目录的磁盘使用量
不写目录或文件,则分析当前目录的情况。
如遇到无权访问的文件,会报错(但不会停止),有标准错误输出。
选项:
-a
:列出目录下所有的文件与目录的使用量(默认仅列出目录下所有的目录的使用量)-h
:以人类易读的形式显示-s
:仅列出给定目录 / 文件的使用总量-S
:父目录的使用量不包括子目录的-k
、-m
:以 KiB、MiB 的方式显示(默认是 KiB)
例:
参考资料
- 鸟哥的Linux私房菜. 基础学习篇 / 鸟哥著 ; Linux 中国繁转简. -- 4版. -- 北京 : 人民邮电出版社, 2018.3; ISBN 978-7-115-47258-8
- Linux就该这么学 / 刘遄著. -- 北京 : 人民邮电出版社, 2017.11; ISBN 978-7-115-47031-7
- Linux 教程 | 菜鸟教程
- “文件大小”和“占用空间”的区别_杜_小妖的博客-CSDN博客_占用空间和大小有什么区别
- 鳥哥私房菜 - 第七章、Linux 磁碟與檔案系統管理