@lnrCoder
This commit is contained in:
Xingyu Wang 2019-10-25 17:14:55 +08:00
parent 9df5a6e154
commit e0685a6a73

View File

@ -1,6 +1,6 @@
[#]: collector: (lujun9972)
[#]: translator: (lnrCoder)
[#]: reviewer: ( )
[#]: reviewer: (wxy)
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (How to Get the Size of a Directory in Linux)
@ -10,25 +10,19 @@
如何获取 Linux 中的目录大小
======
你应该已经注意到,在 Linux 中使用 **[ls 命令][1]** 列出的目录内容中,目录的大小仅显示 4KB。
你应该已经注意到,在 Linux 中使用 [ls 命令][1] 列出的目录内容中,目录的大小仅显示 4KB。这个大小正确吗?如果不正确,那它代表什么,又该如何获取 Linux 中的目录或文件夹大小?这是一个默认的大小,是用来存储磁盘上存储目录的元数据的大小。
这个大小正确吗?如果不正确,那它代表什么,又该如何获取 Linux 中的目录或文件夹大小?
这是一个默认的大小,用来存储磁盘上存储目录的元数据。
Linux 上有一些应用程序可以 **[获取目录的实际大小][2]**.
但是磁盘使用率du命令已被 Linux 管理员广泛使用。
Linux 上有一些应用程序可以 [获取目录的实际大小][2]。其中,磁盘使用率(`du`)命令已被 Linux 管理员广泛使用。
我将向您展示如何使用各种选项获取文件夹大小。
### 什么是 du 命令?
**[du 命令][3]** 表示 <ruby>Disk Usage<rt>磁盘使用率</rt></ruby>。这是一个标准的 Unix 程序,用于估计当前工作目录中的文件空间使用情况。
[du 命令][3] 表示 <ruby>磁盘使用率<rt>Disk Usage</rt></ruby>。这是一个标准的 Unix 程序,用于估计当前工作目录中的文件空间使用情况。
它使用递归方式总结磁盘使用情况,以获取目录及其子目录的大小。
如同我说的那样, 使用 ls 命令时,目录大小仅显示 4KB。参见下面的输出。
如同我说的那样, 使用 `ls` 命令时,目录大小仅显示 4KB。参见下面的输出。
```
$ ls -lh | grep ^d
@ -42,29 +36,27 @@ drwxr-xr-x 15 daygeek daygeek 4.0K Sep 29 21:32 Thanu_Photos
### 1) 在 Linux 上如何只获取父目录的大小
使用以下 du 命令格式获取给定目录的总大小。在该示例中,我们将得到 **“/home/daygeek/Documents”** 目录的总大小
使用以下 `du` 命令格式获取给定目录的总大小。在该示例中,我们将得到 `/home/daygeek/Documents` 目录的总大小。
```
$ du -hs /home/daygeek/Documents
or
$ du -h --max-depth=0 /home/daygeek/Documents/
20G /home/daygeek/Documents
```
**详细说明**:
* du 这是一个命令
* h 以人类可读的格式显示大小 (例如 1K 234M 2G)
* s 仅显示每个参数的总数
* max-depth=N 目录的打印级别
详细说明:
* `du` 这是一个命令
* `-h` 以易读的格式显示大小 (例如 1K 234M 2G)
* `-s` 仅显示每个参数的总数
* `--max-depth=N` 目录的打印深度
### 2) 在 Linux 上如何获取每个目录的大小
使用以下 du 命令格式获取每个目录(包括子目录)的总大小。
使用以下 `du` 命令格式获取每个目录(包括子目录)的总大小。
在该示例中,我们将获得每个 **“/home/daygeek/Documents”** 目录及其子目录的总大小。
在该示例中,我们将获得每个 `/home/daygeek/Documents` 目录及其子目录的总大小。
```
$ du -h /home/daygeek/Documents/ | sort -rh | head -20
@ -93,7 +85,7 @@ $ du -h /home/daygeek/Documents/ | sort -rh | head -20
### 3) 在 Linux 上如何获取每个目录的摘要
使用如下 du 命令格式仅获取每个目录的摘要。
使用如下 `du` 命令格式仅获取每个目录的摘要。
```
$ du -hs /home/daygeek/Documents/* | sort -rh | head -10
@ -112,7 +104,7 @@ $ du -hs /home/daygeek/Documents/* | sort -rh | head -10
### 4) 在 Linux 上如何获取每个目录的不含子目录的大小
使用如下 du 命令格式来展示每个目录的总大小,不包括子目录。
使用如下 `du` 命令格式来展示每个目录的总大小,不包括子目录。
```
$ du -hS /home/daygeek/Documents/ | sort -rh | head -20
@ -156,7 +148,7 @@ $ du -h --max-depth=1 /home/daygeek/Documents/
### 6) 如何在 du 命令输出中获得总计
如果要在 du 命令输出中获得总计,请使用以下 du 命令格式。
如果要在 `du` 命令输出中获得总计,请使用以下 `du` 命令格式。
```
$ du -hsc /home/daygeek/Documents/* | sort -rh | head -10
@ -180,7 +172,7 @@ via: https://www.2daygeek.com/find-get-size-of-directory-folder-linux-disk-usage
作者:[Magesh Maruthamuthu][a]
选题:[lujun9972][b]
译者:[lnrCoder](https://github.com/lnrCoder)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出