介绍
在本实验中,你将学习如何在 Linux 中使用 du
(disk usage,磁盘使用情况)命令来估算文件空间使用情况,并获取文件和目录占用的磁盘空间信息。你将了解 du
命令的各种选项,测量目录的磁盘使用情况,并从 du
测量中排除某些目录。本实验涵盖了 Linux 中的基本文件和目录操作,这些操作对于系统管理和文件管理任务至关重要。
在本实验中,你将学习如何在 Linux 中使用 du
(disk usage,磁盘使用情况)命令来估算文件空间使用情况,并获取文件和目录占用的磁盘空间信息。你将了解 du
命令的各种选项,测量目录的磁盘使用情况,并从 du
测量中排除某些目录。本实验涵盖了 Linux 中的基本文件和目录操作,这些操作对于系统管理和文件管理任务至关重要。
在这一步中,你将学习 Linux 中的 du
(disk usage,磁盘使用情况)命令。du
命令用于估算文件空间使用情况,提供文件和目录占用的磁盘空间信息。
首先,让我们查看 du
命令的帮助文档:
man du
帮助文档的输出将为你提供关于 du
命令的各种选项和用法的详细信息。
一些常用的 du
选项包括:
-h
:以人类可读的格式显示输出(例如,1.2M 而不是 1234567)-s
:显示目录的总大小,而不是其中每个文件/目录的大小-c
:在输出末尾显示总计-x
:不跨越文件系统边界-d <depth>
:限制 du
显示的目录树深度现在,让我们通过一些示例来理解如何使用 du
命令:
## 显示当前目录的磁盘使用情况
du -h .
## 显示当前目录的磁盘使用情况,包括子目录
du -h -s *
## 显示当前目录的磁盘使用情况,限制深度为 1 级
du -h -d 1
示例输出:
4.0K .
4.0K file1.txt
8.0K file2.txt
12K .
输出显示了当前目录(.
)及其内部文件的磁盘使用情况。-h
选项以人类可读的格式显示大小。
在这一步中,你将学习如何使用 du
命令测量特定目录的磁盘使用情况。
首先,让我们创建一个目录和一些文件来进行操作:
mkdir ~/project/test_dir
cd ~/project/test_dir
touch file1.txt file2.txt file3.txt
现在,让我们使用 du
命令测量 test_dir
目录的磁盘使用情况:
## 显示 test_dir 目录的磁盘使用情况
du -h ~/project/test_dir
## 显示 test_dir 目录的总磁盘使用情况
du -hs ~/project/test_dir
示例输出:
12K /home/labex/project/test_dir
12K /home/labex/project/test_dir
第一个命令 du -h ~/project/test_dir
显示了 test_dir
目录中每个文件和子目录的磁盘使用情况。-h
选项以人类可读的格式显示大小。
第二个命令 du -hs ~/project/test_dir
显示了 test_dir
目录的总磁盘使用情况。-s
选项显示汇总(总计)大小,而不是单个文件/目录的大小。
你还可以使用 du
命令递归地测量目录及其子目录的磁盘使用情况:
## 显示 test_dir 目录及其子目录的磁盘使用情况
du -h -d 1 ~/project/test_dir
示例输出:
4.0K /home/labex/project/test_dir/file1.txt
4.0K /home/labex/project/test_dir/file2.txt
4.0K /home/labex/project/test_dir/file3.txt
12K /home/labex/project/test_dir
12K /home/labex/project/test_dir
-d 1
选项将目录树的深度限制为 1 级,显示 test_dir
目录及其直接文件/子目录的磁盘使用情况。
在这一步中,你将学习如何从 du
命令的磁盘使用情况测量中排除特定目录。
让我们创建一个新的目录结构来演示这一点:
mkdir -p ~/project/main_dir/subdir1 ~/project/main_dir/subdir2
touch ~/project/main_dir/subdir1/file1.txt ~/project/main_dir/subdir2/file2.txt
现在,让我们使用 du
命令测量 main_dir
目录的磁盘使用情况,包括其子目录:
du -h -d 1 ~/project/main_dir
示例输出:
4.0K /home/labex/project/main_dir/subdir1
4.0K /home/labex/project/main_dir/subdir2
8.0K /home/labex/project/main_dir
8.0K /home/labex/project/main_dir
如你所见,du
命令包含了 subdir1
和 subdir2
目录的磁盘使用情况。
如果你想从 du
测量中排除特定目录,可以使用 --exclude
选项:
du -h -d 1 --exclude=subdir1 ~/project/main_dir
示例输出:
4.0K /home/labex/project/main_dir/subdir2
4.0K /home/labex/project/main_dir
4.0K /home/labex/project/main_dir
在这个例子中,--exclude=subdir1
选项告诉 du
从磁盘使用情况测量中排除 subdir1
目录。
你还可以通过多次使用 --exclude
选项来排除多个目录:
du -h -d 1 --exclude=subdir1 --exclude=subdir2 ~/project/main_dir
示例输出:
0 /home/labex/project/main_dir
0 /home/labex/project/main_dir
在这种情况下,由于我们排除了 subdir1
和 subdir2
,main_dir
目录的总磁盘使用情况被报告为 0。
在本实验中,你学习了 Linux 中的 du
(disk usage,磁盘使用情况)命令,该命令用于估算文件空间使用情况,并提供文件和目录占用的磁盘空间信息。你探索了常用的 du
选项,例如 -h
用于人类可读的输出,-s
用于显示目录的总大小,以及 -d
用于限制目录树的深度。你还练习了使用 du
命令测量特定目录的磁盘使用情况,包括目录本身及其内部文件的磁盘使用情况。