du -sh如何递归查询
时间: 2024-08-14 10:03:38 浏览: 62
du是一个Linux和类Unix系统中的实用工具,用于显示目录及其子目录中文件占用的空间。当你想要递归地(即对所有子目录)查询指定目录的磁盘空间使用情况时,可以在命令后加上`-h`选项来以人性化的方式(如K、M、G等单位)显示结果,并配合`-r`选项表示递归。
所以,正确的命令格式是:
```bash
du -sh /path/to/directory
```
在这个例子中,/path/to/directory是你想要检查的空间使用情况的根目录。运行这个命令后,du会统计并显示该目录及其所有子目录中文件所占空间的总和以及每个文件或目录所占用的大小。如果你希望看到更详细的层级信息,还可以考虑加上`-a`选项来显示所有文件,包括隐藏文件。
相关问题
du -sh * 查询不到隐藏的大文件目录
这是因为 du 命令默认情况下不会递归查询隐藏的目录。如果你想要查询隐藏目录的大小,需要使用如下命令:
```
du -sh .[!.]* * | sort -h
```
这个命令会同时查询当前目录下所有文件和目录的大小,包括隐藏的目录。其中,".[!.]*" 表示匹配所有以点开头的文件或目录,但不包括 "." 和 ".."。最后使用 sort 命令按大小排序。
查看linux du -sh
使用du -sh命令可以查看Linux系统中指定目录或文件的总大小。但是,由于du命令是递归地计算目录中所有文件和子目录的大小,并返回它们的总和,所以有时候得到的文件大小会与使用ls -lh命令得到的文件大小不一样。
这是因为du命令计算的是实际分配给文件的磁盘空间大小,而ls命令则显示的是文件的实际大小。在处理稀疏文件时,du命令会计算文件实际占用的磁盘空间,而ls命令只会显示文件的实际大小。
稀疏文件是一种特殊的文件类型,其中部分数据是全0并且不占用磁盘空间。这种文件可以延迟分配磁盘空间,对于虚拟机等场景非常有用。因此,在使用du命令计算文件大小时,它会将稀疏文件的全0部分也计算在内,从而得到一个较大的文件大小。
阅读全文