如何探查操作系统文件和目录的占用情况

du 命令在 用于检查文件和目录的磁盘使用情况。-S 和 -s 是 du 命令的两个不同的选项:

-S 选项 显示不包括子目录的大小。它会计算每个指定目录的总大小,但不包括其子目录中的文件大小。这对于确定某个特定目录本身占用了多少空间非常有用,而不考虑其下任何子目录的大小。

-s 选项 显示总计。它会计算指定目录及其所有子目录的总大小,给出一个总的使用量。

-a会列出所有文件和目录

-h选项(可读格式,例如 KB、MB)可以使输出更易于阅读

没有任何参数的情况下运行时,它会递归地计算当前工作目录及其所有子目录中的文件大小

选项解释

无参数
  • 默认行为:显示当前目录及其所有子目录的磁盘使用情况。
  • 示例
    du 
    输出可能为当前目录和子目录的磁盘使用大小。
-S选项
  • 功能:显示不包括子目录的大小,只计算顶级目录的文件大小。
  • 示例
    du -S /path/to/directory 
    输出该目录下的直接文件大小总和,不包括任何子目录中的文件。
-s选项
  • 功能:显示总计大小,包括所有指定目录及子目录的大小。
  • 示例
    du -s /path/to/directory 
    输出包括所有子目录在内的总大小。
-a选项
  • 功能:显示所有文件和目录的详细磁盘使用情况。
  • 示例
    du -a /path/to/directory 
    输出目录及子目录下所有文件和目录的磁盘使用详细信息。
组合使用 -s, -S, 和 .*
  • 示例1du -s ./*
    • 输出当前目录下每个文件和子目录的总大小。
  • 示例2du -S ./*
    • 输出当前目录下每个文件和子目录的大小,但不包括子目录内的文件大小。
组合使用 -a与其他选项
  • 示例1du -a -s /path/to/directory
    • 实际会忽略-a的效果,只显示总的累计大小。
  • 示例2du -a -S /path/to/directory
    • 显示每个文件和顶级目录的直接大小,不包括子目录大小。

让我们设想一个具体的文件目录结构,然后通过du命令的不同选项来展示可能的输出结果。这将帮助更好地理解各种参数在实际情况下的应用。

假设的文件目录结构

设想以下目录结构位于/home/user/ExampleDir

/home/user/ExampleDir/
├── file1.txt (1MB)
├── file2.txt (1MB)
├── Subdir1
│   ├── file3.txt (1MB)
│   └── file4.txt (2MB)
└── Subdir2
    ├── file5.txt (2MB)
    └── Subdir3
        ├── file6.txt (1MB)
        └── file7.txt (1MB)

du命令输出示例

1. 无参数
du /home/user/ExampleDir 

输出为:

4M    /home/user/ExampleDir/Subdir1
4M    /home/user/ExampleDir/Subdir2/Subdir3
6M    /home/user/ExampleDir/Subdir2
11M   /home/user/ExampleDir
2. 使用 -S 选项
du -S /home/user/ExampleDir 

输出示例:

2M    /home/user/ExampleDir  # 只包括file1.txt和file2.txt的大小
3. 使用 -s 选项
du -s /home/user/ExampleDir 

输出示例:

11M   /home/user/ExampleDir  # 包括所有文件和子目录的总大小
4. 使用 -a 选项
du -a /home/user/ExampleDir 

输出示例:

1M    /home/user/ExampleDir/file1.txt
1M    /home/user/ExampleDir/file2.txt
1M    /home/user/ExampleDir/Subdir1/file3.txt
2M    /home/user/ExampleDir/Subdir1/file4.txt
2M    /home/user/ExampleDir/Subdir2/file5.txt
1M    /home/user/ExampleDir/Subdir2/Subdir3/file6.txt
1M    /home/user/ExampleDir/Subdir2/Subdir3/file7.txt
4M    /home/user/ExampleDir/Subdir1
4M    /home/user/ExampleDir/Subdir2/Subdir3
6M    /home/user/ExampleDir/Subdir2
11M   /home/user/ExampleDir
5. 组合使用 -s.*
du -s /home/user/ExampleDir/* 

输出示例:

1M    /home/user/ExampleDir/file1.txt
1M    /home/user/ExampleDir/file2.txt
4M    /home/user/ExampleDir/Subdir1
6M    /home/user/ExampleDir/Subdir2
6. 组合使用 -S.*
du -S /home/user/ExampleDir/* 

输出示例:

1M    /home/user/ExampleDir/file1.txt
1M    /home/user/ExampleDir/file2.txt
4M    /home/user/ExampleDir/Subdir1
2M    /home/user/ExampleDir/Subdir2  # 只计算Subdir2内的直接文件file5.txt
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值