查看当前目录下每个文件夹大小

博客介绍了在Linux系统中查看当前目录下每个文件夹大小的相关内容,聚焦于Linux系统操作,为用户提供在该系统下获取文件夹大小信息的方法。
du -h -x --max-depth=1

Linux中查看当前目录下每个文件夹大小

<think>我们参考用户的问题和之前的引用,用户现在想查看当前目录各个文件夹大小。 根据引用[1]和引用[2]提供的方法,我们可以使用`du`命令来实现。 具体步骤: 1. 打开终端,进入目标目录(如果已经是当前目录则跳过)。 2. 使用命令`du -sh *`来查看当前目录每个文件夹大小(以人类可读格式显示)。 3. 如果希望按照大小排序,可以结合`sort`命令,如`du -s * | sort -n`(按字节数排序,从小到大)或`du -s * | sort -nr`(从大到小)。 另外,引用[3]提到可以使用`--max-depth`参数来指定查看的目录层级。对于当前目录下的一级子目录,我们可以使用`--max-depth=1`,但注意`du -sh *`已经相当于查看一级子目录(每个文件和文件夹)。 因此,我们给出以下具体命令: 方法一:直接查看每个文件夹大小(人类可读格式) ```bash du -sh * ``` 方法二:查看每个文件夹大小(以KB、MB等单位显示),并按照大小排序(从小到大) ```bash du -s * | sort -n ``` 方法三:查看每个文件夹大小(人类可读格式)并按照从大到小排序(需要借助`sort -h`,但注意`sort`的`-h`选项可能在一些系统上不可用,所以更通用的是用`-n`按数值排序,但单位是KB) 如果支持`-h`排序(如GNU sort),可以: ```bash du -sh * | sort -h ``` 如果不支持,则使用`du -sk *`(以KB为单位)然后排序: ```bash du -sk * | sort -n ``` 注意:`du`命令默认会包含子目录的大小,所以每个文件夹显示的大小是该文件夹及其所有内容的总大小。 另外,如果当前目录下文件或文件夹很多,可能会输出很多内容,我们可以通过管道配合`head`或`tail`来查看前几名或后几名。 例如,查看当前目录下最大的5个文件夹(按字节数,从小到大排序后取最后5个,即最大的5个): ```bash du -s * | sort -n | tail -5 ``` 或者,使用人类可读格式并排序(如果支持`-h`): ```bash du -sh * | sort -h | tail -5 ``` 如果当前目录有隐藏文件夹(以.开头的文件夹),上面的`*`不会匹配,我们可以使用: ```bash du -sh .[^.]* * 2>/dev/null | sort -h ``` 但这样可能仍然会漏掉一些,更全面的方法是使用`du -sh -- * .[^.]*`,但这样可能会因为某些隐藏文件夹不可访问而报错,所以可以忽略错误信息。 不过,通常我们只关心非隐藏文件夹,所以使用`du -sh *`即可。 步骤总结: 1. 打开终端,进入要查看的目录(例如:`cd /path/to/directory`)。 2. 运行`du -sh *`查看各个文件夹大小。 如果排序,则选择上述排序方法。 注意:`du`命令可能需要一些时间来计算大目录的大小,请耐心等待。 引用说明: 根据引用[1]和引用[2],我们使用了`du -sh *`和排序的方法[^1][^2]。 根据引用[3],我们也可以使用`--max-depth`,但在这里`du -sh *`已经足够,因为它相当于每个一级目录都执行了`du -sh`,且只显示一级[^3]。 因此,我们推荐用户使用`du -sh *`。</think>要查看当前目录各个文件夹大小,可以使用 `du`(磁盘使用情况)命令。以下是几种常用方法,结合引用内容并优化操作步骤: ### 方法一:查看当前目录下所有文件夹大小(推荐) ```bash du -sh * ``` - **`-s`**:显示每个文件夹的总大小(不递归子文件夹)[^3] - **`-h`**:以人类可读格式显示(KB/MB/GB) - **输出示例**: ``` 4.0K Documents 2.1G Downloads 120M Pictures 15G Projects ``` ### 方法二:查看并排序文件夹大小 ```bash du -sh * | sort -h ``` - **`sort -h`**:按人类可读的大小排序(从小到大) - **倒序排序(从大到小)**: ```bash du -sh * | sort -hr ``` ### 方法三:限制递归深度(查看文件夹) ```bash du -h --max-depth=1 ``` - **`--max-depth=1`**:只显示当前目录的直接子文件夹大小[^3] - 对比不同层级: ```bash du -h --max-depth=0 # 仅当前目录大小 du -h --max-depth=1 # 当前目录+一级子目录 ``` ### 方法四:排除文件/过滤结果 ```bash # 只显示文件夹(排除文件) du -sh */ # 查找大于1GB的文件夹 du -sh * | awk '$1 ~ /G/ {print}' ``` ### 操作流程示例 ```bash cd /target_directory # 进入目标目录 du -sh * # 查看所有文件夹大小 du -sh */ | sort -hr # 从大到小排序子目录 ``` ### 注意事项 1. 需要 **读取权限** 才能获取目录大小 2. 大目录计算可能需要时间,可添加 `--time` 显示耗时 3. 隐藏文件夹(如 `.config`)需使用: ```bash du -sh .[^.]* */ # 同时显示隐藏和非隐藏文件夹 ``` > 关键点:`du -sh *` 是最直接的方法(引用[1][2]),结合 `--max-depth` 可控制递归深度(引用[3])。排序和过滤操作能快速定位大文件夹[^1][^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值