如何使用一个 shell 命令检查每个目录的大小?

如何使用一个 shell 命令检查每个目录的大小?

我想要获取以下数据库大小:

测试,mysql,performance_schema,sakila,information_schema

[root@linux data]# ls -ltrh
总用量 32M
drwx------ 2 mysql root  4.0K 4月  27 17:44 test
drwx------ 2 mysql root  4.0K 4月  27 17:44 mysql
-rw-rw---- 1 mysql mysql  28K 4月  27 17:44 mysql-bin.000001
-rw-rw---- 1 mysql mysql 1.1M 4月  27 17:44 mysql-bin.000002
-rw-rw---- 1 mysql mysql  27K 4月  27 17:49 mysql-bin.000003
-rw-rw---- 1 mysql mysql 1.1M 4月  27 17:49 mysql-bin.000004
drwx------ 2 mysql mysql 4.0K 4月  27 17:50 performance_schema
-rw-rw---- 1 mysql mysql  27K 4月  27 17:50 mysql-bin.000005
-rw-rw---- 1 mysql mysql 1.1M 4月  27 17:50 mysql-bin.000006
-rw-rw---- 1 mysql mysql 5.0M 4月  27 18:02 ib_logfile1
-rw-rw---- 1 mysql mysql  238 4月  27 18:02 mysql-bin.index
srwxrwxrwx 1 mysql mysql    0 4月  27 18:02 mysql.sock
-rw-rw---- 1 mysql mysql    6 4月  27 18:02 mysql.pid
-rw-rw---- 1 mysql mysql 2.1K 4月  27 21:07 error.log
drwx------ 2 mysql mysql 4.0K 4月  27 21:51 lijunda
drwx------ 2 mysql mysql 4.0K 4月  28 09:12 sakila
-rw-rw---- 1 mysql mysql  22K 4月  28 09:12 mysql-bin.000007
-rw-rw---- 1 mysql mysql  18M 4月  28 09:12 ibdata1
-rw-rw---- 1 mysql mysql 5.0M 4月  28 09:12 ib_logfile0

当我使用下面的命令时,所有目录都变成 4.0k。这不是我想要的。

[root@linux data]# ls -ltrhd */
drwx------ 2 mysql root  4.0K 4月  27 17:44 test/
drwx------ 2 mysql root  4.0K 4月  27 17:44 mysql/
drwx------ 2 mysql mysql 4.0K 4月  27 17:50 performance_schema/
drwx------ 2 mysql mysql 4.0K 4月  27 21:51 lijunda/
drwx------ 2 mysql mysql 4.0K 4月  28 09:12 sakila/

如何显示这些目录的适当大小?

答案1

尝试命令du(磁盘使用情况)。

答案2

我本来想评论一下 torchhound 的答案……但我还是新手,无法发表评论。
我也认为du这符合您的需要。我会使用-b(以字节为单位的报告)或-h(人类可读的),只是为了确定数字的大小;否则您将不得不猜测,尽管您可能会猜对,但还是这样做以防万一。
我的命令行:

du -sb *

相关内容