Linux 查看文件占用磁盘空间

今天下午,我想看看在运行此博客的服务器上剩余了多少磁盘空间。与 Unix / Linux 命令一样,在获得所需的信息后,我开始考虑其他处理方法。而且,就像平常一样,我学到了一些新东西。反正对我来说是新的。
首先,我登录服务器并运行 df命令:
df -h .
输出总结了包含给定文件的文件系统的磁盘使用情况(在本例中,当前目录.为我的主目录)为
Filesystem Size Used Avail Use% Mounted on
/dev/disk/by-label/DOROOT 25G 9.5G 14G 41% /
这表明我正在使用所支付的 25 GB 内存中的 41%。该-h选项告诉df输出使用 “人类” 格式,而不是以 “ 1-K 块” 显示用法,而是以千字节,兆字节和千兆字节显示。许多 GNU 实用程序都有一个-h以这种方式工作的选项。
磁盘使用情况包括虚拟服务器上的所有内容 - 除博客特定的文件之外的所有可执行文件,库和支持文件。我想对此进行优化,以查看该博客正在使用什么。那要求 du命令:
du -hd 1 .
该-h选项再次表示 “人类格式的值”。该-d 1选项告诉du您只能进入一个目录级别。输出是
8.0K ./.gnupg
68K ./pagelogs
114M ./all-this
9.0M ./.local
116K ./php-markdown
1.5M ./.cache
68K ./.ipython
20K ./.pip
8.0K ./.ssh
522M ./tmp
16K ./bin
8.0K ./.conda
1.1G ./public_html
4.0K ./.nano
3.4G ./anaconda3
5.1G .
该行public_html是我想要的:1.1 GB。因此,服务器上相对较少的空间用于博客。
在查看du输出时,我认为按数字顺序输出将更为有用。我曾考虑过向中添加一个-s选项du,但这是行不通的。该 du男子页显示了排序输出的选项。
标准的 Unix 处理方式建议将输出管道传输到 sort,但是我确定这在这里行不通。因为虽然sort有一个-n对数字排序选项,在数字du的人力输出没有什么需要进行排序。这是我要分类的数量,这意味着必须考虑后缀。一个测试
du -hd 1 . | sort -n
给我
1.1G ./public_html
1.5M ./.cache
3.4G ./anaconda3
4.0K ./.nano
5.1G .
8.0K ./.conda
8.0K ./.gnupg
8.0K ./.ssh
9.0M ./.local
16K ./bin
20K ./.pip
68K ./.ipython
68K ./pagelogs
114M ./all-this
116K ./php-markdown
522M ./tmp
这证实了我的怀疑。完美的数字排序方式,但对数量的排序没有用。
我可以将其他输出开关用于du:
du -kd 1 . | sort -n
该-k告诉du输出以 KB 为单位的大小。排序后的输出是
4 ./.nano
8 ./.conda
8 ./.gnupg
8 ./.ssh
16 ./bin
20 ./.pip
68 ./.ipython
68 ./pagelogs
116 ./php-markdown
1448 ./.cache
9184 ./.local
115896 ./all-this
534104 ./tmp
1098316 ./public_html
3470796 ./anaconda3
5333936 .
直到数字上升到五位数或六位数并且您无法跟踪数量级时,这才是很好的选择。
但是这是我学到东西的部分。事实证明,GNU 员工认识到需要读取和格式化人类格式的值,因此他们在中添加了一个-h选项sort。所以
du -hd 1 . | sort -hr

5.1G .
3.4G ./anaconda3
1.1G ./public_html
522M ./tmp
114M ./all-this
9.0M ./.local
1.5M ./.cache
116K ./php-markdown
68K ./pagelogs
68K ./.ipython
20K ./.pip
16K ./bin
8.0K ./.ssh
8.0K ./.gnupg
8.0K ./.conda
4.0K ./.nano
这正是我想要的:易于阅读且经过适当排序。(该-r开关告知sort要反向,因此最大的目录在前。)

翻译来源:https://leancrew.com/all-this/2020/05/sort-of-handy/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章