du -h -d1 只查看一级目录统计的空间占用

本文探讨了Linux中du命令的高级用法,特别是如何利用'-d1'参数仅查看当前目录下一级子目录的磁盘使用情况,避免了汇总显示,有助于更细致地管理文件系统。
[root@swarm-node1 sdb]# du -sh -d1
du: warning: summarizing conflicts with --max-depth=1
Try 'du --help' for more information.


[root@swarm-node1 sdb]# du -h -d1
57M     ./leo_log_test
69G     ./dsp-bidder-logs
980K    ./shell
32G     ./leo_log
16K     ./lost+found
101G    .

-d1 表示当前目录只进入下一级目录

-s 和 -d是相互矛盾的,所以用
du -h -d1

 

root@iZ2zegwmsgi4mwoymq3o3fZ:~# ^C root@iZ2zegwmsgi4mwoymq3o3fZ:~# cp -r /var/log /backup/logs cp: 无法创建目录'/backup/logs': 没有那个文件或目录 root@iZ2zegwmsgi4mwoymq3o3fZ:~# sudo du -h --max-depth=1 / | sort -rh | head -n 15 du: 无法访问'/run/user/129/gvfs': 权限不够 du: 无法读取目录'/proc/513/task/513/net': 无效的参数 du: 无法读取目录'/proc/513/net': 无效的参数 du: 无法访问'/proc/4421/task/4421/fd/3': 没有那个文件或目录 du: 无法访问'/proc/4421/task/4421/fdinfo/3': 没有那个文件或目录 du: 无法访问'/proc/4421/fd/4': 没有那个文件或目录 du: 无法访问'/proc/4421/fdinfo/4': 没有那个文件或目录 du: 无法访问'/proc/4431': 没有那个文件或目录 du: 无法读取目录'/proc/5250/task/5250/net': 无效的参数 du: 无法读取目录'/proc/5250/net': 无效的参数 du: 无法读取目录'/proc/8475/task/8475/net': 无效的参数 du: 无法读取目录'/proc/8475/net': 无效的参数 du: 无法读取目录'/proc/11061/task/11061/net': 无效的参数 du: 无法读取目录'/proc/11061/net': 无效的参数 du: 无法读取目录'/proc/12780/task/12780/net': 无效的参数 du: 无法读取目录'/proc/12780/net': 无效的参数 du: 无法读取目录'/proc/15218/task/15218/net': 无效的参数 du: 无法读取目录'/proc/15218/net': 无效的参数 du: 无法读取目录'/proc/18406/task/18406/net': 无效的参数 du: 无法读取目录'/proc/18406/net': 无效的参数 du: 无法读取目录'/proc/18525/task/18525/net': 无效的参数 du: 无法读取目录'/proc/18525/net': 无效的参数 du: 无法读取目录'/proc/18708/task/18708/net': 无效的参数 du: 无法读取目录'/proc/18708/net': 无效的参数 du: 无法读取目录'/proc/32729/task/32729/net': 无效的参数 du: 无法读取目录'/proc/32729/net': 无效的参数 57G / 30G /var 7.7G /mnt 6.0G /usr 6.0G /backup-path 5.0G /home 845M /lib 321M /root 109M /boot 18M /etc 15M /sbin 13M /run 13M /bin 9.0M /opt 156K /tmp root@iZ2zegwmsgi4mwoymq3o3fZ:~#
最新发布
11-14
<think>好的,我现在要解决用户的问题:如何使用du -h命令以人类可读的格式显示特定目录的磁盘占用情况。首先,我需要回忆一下du命令的基本用法和相关选项。 用户提到了du -h,所以重点在-h选项,这个选项的作用是将输出转换为易读的格式,比如KB、MB、GB等。接下来,用户想针对特定的目录,所以需要指定目录路径作为参数。 首先,我应该确认基本命令结构。du命令的基本语法是“du [选项] [目录或文件]”。因此,使用“du -h”后面加上目录路径应该可以满足需求。例如,du -h /path/to/directory。 然后,考虑是否需要递归显示子目录的情况。默认情况下,du会显示指定目录及其所有子目录的磁盘使用情况,这可能会导致输出内容过多。如果用户只需要查看指定目录的总使用量,可能需要使用-s选项来汇总,这样输出会更简洁。例如,du -sh /path/to/directory。 接下来,我应该检查是否有其他有用的选项。比如,--max-depth可以限制显示的目录深度,这在需要查看特定层级时很有用。例如,du -h --max-depth=1 /path/to/directory会显示指定目录下第一层子目录的大小。 此外,用户可能需要了解如何同时显示多个目录的情况,或者如何排除某些文件类型。不过根据问题描述,用户主要关注的是基本用法,所以可能不需要涉及太复杂的选项。 然后,我需要参考用户提供的引用内容。引用[2]提到使用du命令获取文件或目录的大小,引用[3]指出du有其他选项和功能,可以查看手册页获取更多信息。因此,在回答中应该建议用户查阅手册(man du)以了解更多选项。 现在,我需要验证这些命令是否正确。例如,运行du -h /home/user/documents应该会显示该目录及其子目录的大小,以易读的格式呈现。而加上-s选项后,只会显示该目录的总大小。 可能遇到的问题包括权限不足,无法访问某些目录,这时需要使用sudo来提升权限,比如sudo du -h /var/log。但用户的问题中没有提到权限问题,所以可能不需要特别强调,除非在常见问题中提及。 最后,总结出几个步骤:使用du -h加目录路径查看详细情况,使用-s选项查看汇总,使用--max-depth控制深度,并推荐查看手册页了解更多选项。</think>要使用`du -h`命令以人类可读的格式显示指定目录的磁盘占用情况,可按照以下步骤操作: --- ### **1. 基本用法** 输入命令格式: ```bash du -h /path/to/directory ``` - `-h`选项会将文件/目录大小自动转换为易读单位(如KB、MB、GB)[^2]。 - 示例:`du -h ~/Documents` 会显示`Documents`目录及其子目录的磁盘占用详情。 --- ### **2. 仅显示目录总大小** 若只需查看目录的总大小(不列出子目录),添加`-s`选项: ```bash du -sh /path/to/directory ``` - `-s`表示汇总(summarize)结果,输出单行总大小。 - 示例:`du -sh /var/log` 输出类似 `1.2G /var/log`。 --- ### **3. 限制目录深度** 通过`--max-depth=N`控制显示的子目录层级: ```bash du -h --max-depth=1 /path/to/directory ``` - `--max-depth=1`表示仅显示指定目录的直接子目录大小。 - 示例:`du -h --max-depth=1 ~/` 显示用户主目录下所有一级目录的大小。 --- ### **4. 查看多个目录** 同时检查多个目录的磁盘占用: ```bash du -h /path/to/dir1 /path/to/dir2 ``` --- ### **5. 排除特定文件类型** 结合`--exclude`过滤文件: ```bash du -h --exclude="*.tmp" /path/to/directory ``` - 此命令会跳过所有`.tmp`文件。 --- ### **常见问题** - **权限不足**:若目录需要管理员权限,使用`sudo du -h /path`。 - **输出内容过多**:优先使用`-s`或`--max-depth`简化结果。 更多高级用法可通过`man du`查看手册[^3]。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值