我不是深度的使用 Linux 的程序员, 但平时又少不了使用一两次. 所以, 很多常用的 Linux 命令因为不常用, 所以记不住, 都需要查资料寻找用法. 比如, 如何在 Linux 命令行里用命令显示文件目录的体积大小.
本该记在脑袋里的技巧, 记不住. 还是那句老话, 好记性不如烂笔头. 下面就是我搜集的关于如何在 Linux 终端里用命令显示文件目录体积的技巧.
最简单的如果要显示一个目录下的文件的体积大小, 可以使用 ls 命令:
ls -l
这样显示的文件的体积是用 B 为单位的, 看起来很费劲, 使用 - h 参数, 这个 h 代表的意思是 human-readable, 也就是更 "人性化" 的显示方式:
当文件体积大于 1KB 时以 KB 为单位
当文件体积大于 1MB 时以 MB 为单位
当文件体积大于 1GB 时以 GB 为单位
用法:
ls -lh
下面介绍显示目录体积大小的命令技巧.
du -sh file_path
这里的 file_path 可以是一个目录, 也可以是一个文件.
当是文件名时, 作用和 ls -lh 是一样的, 显示文件的体积.
当是目录名时, 显示目录的总体积. 这个 du 命令可以跟多个目录和文件
- ~$ du -sh PHP Node.JS nodejs2
- 256K PHP
- 36K Node.JS
- 45M nodejs2
如果跟了多个目录, 他就列表显示各个目录的体积.
如果你想给这些目录的体积来个合计, 使用 du -csh, 也就是多了个 - c 参数:
- :~$ du -sch PHP Node.JS nodejs2
- 256K PHP
- 36K Node.JS
- 45M nodejs2
- 45M total
你会发现, 多了一行 total 合计值. 使用 man du, 你会的它的各种参数的用法解释:
- -s, --summarize
- display only a total for each argument
- -h, --human-readable
- print sizes in human readable format (e.g., 1K 234M 2G)
- -c, --total
- produce a grand total
如果你想列出一个目录下所有目录 (直接子目录, 不递归显示下级目录) 和文件的体积, 还有一种用通配符的方法 du -csh * :
- :~$ du -sch *
- 25M node_modules
- 36K Node.JS
- 45M nodejs2
- 4.0K package.JSON
- 256K PHP
- 24K SQLite.db
- 70M total
你会发现这些用法是十分方便的, Linux 系统里有很多神奇的东西, 正是它们体现了 Linux 系统的强大.
来源: http://www.webhek.com/post/how-do-i-get-the-size-of-a-directory-on-the-command-line.html