如何在命令行上获取目录的大小?

如何在命令行上获取目录的大小?

ls我尝试使用带有 option 的命令来获取目录(包含目录和子目录)的大小l。它似乎适用于文件 ( ls -l file name),但如果我尝试获取目录的大小(例如,ls -l /home),我只得到 4096 字节,尽管总的来说它要大得多。

答案1

du -sh file_path

解释

  • du(d国际标准委员会sage) 命令估计 file_path 空间使用情况
  • 选项-sh是(来自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)
    

    要检查多个目录并查看总数,请使用du -sch

      -c, --total
             produce a grand total
    

答案2

只需使用du命令:

du -sh -- *

将以人类可读的格式为您提供当前目录中所有非隐藏目录、文件等的累积磁盘使用情况。

您可以使用以下df命令了解包含该目录的文件系统中的可用空间:

df -h .

答案3

du是你的朋友。如果您只想知道目录的总大小,请跳入该目录并运行:

du -hs

如果您还想知道哪些子文件夹占用了多少磁盘空间?!您可以将此命令扩展为:

du -h --max-depth=1 | sort -hr

这将为您提供所有子文件夹的大小(级别 1)。输出将被排序(最大的文件夹在顶部)。

答案4

其他人都提到了du,但我还想提一下NCDU-- 这是 ncurses 版本du并提供交互性:您可以直接浏览目录层次结构并查看子目录的大小。

相关内容