系统:红帽企业 Linux 服务器版本 7.6 (Maipo),3.10.0-957.12.1.el7.x86_64
目标:查找较大的文件以了解如何修复它们。
笔记:名称中带有“应用程序”的文件夹是我出于隐私考虑而选择的抽象。
到目前为止我已经确定的内容:
[... /] sudo du -sch * 2> /dev/null | grep -E "opt|total"
34G opt
39G total
[... opt] sudo du -sch * 2> /dev/null | grep -E "applicationname|total"
0 applicationsymlinkfolder
34G applicationfolder
34G total
什么不起作用:
当我尝试在已识别的文件夹上运行此命令时,总数与父文件夹中显示的总数不同。有人可以解释为什么我的攻击方法不起作用吗? (即 34 GB 与 1.3 GB)
[... applicationfolder]$ sudo du -sch *
685M apps
136K bin
124K conf
4.0K domains
8.0K etl_error_logs
105M lib
4.0K LICENSE.txt
320M logs
4.0K MIGRATION.txt
4.0K application.java.status
4.0K application.pid
4.0K application.status
0 policies
4.0K README.txt
36M server-plugins
91M services
52M tools
1.3G total
[... applicationfolder]$ ls -alh
total 52K
drwxr-xr-x. 14 root root 4.0K May 17 15:27 .
drwxr-xr-x. 6 root root 102 Apr 29 12:19 ..
drwxr-xr-x. 11 root root 227 May 17 15:28 apps
drwxr-xr-x. 2 root root 171 Jan 3 15:41 bin
drwxr-xr-x. 2 root root 4.0K May 17 15:27 conf
drwxr-xr-x. 3 root root 47 May 17 15:27 domains
drwxrwxrwx. 2 root root 104 May 10 06:15 etl_error_logs
drwxr-xr-x. 8 root root 84 Dec 5 14:47 lib
-rwxr-xr-x. 1 root root 519 Dec 5 14:47 LICENSE.txt
drwxr-xr-x. 2 root root 8.0K May 17 15:27 logs
-rwxr-xr-x. 1 root root 1.2K Dec 5 14:47 MIGRATION.txt
drwxr-xr-x. 23 root root 4.0K May 17 15:27 .application
-rw-r--r--. 1 root root 9 May 17 15:27 application.java.status
-rw-r--r--. 1 root root 5 May 17 15:27 application.pid
-rw-r--r--. 1 root root 9 May 17 15:27 application.status
drwxr-xr-x. 4 root root 54 Dec 5 14:47 policies
-rwxr-xr-x. 1 root root 3.6K Dec 5 14:47 README.txt
drwxr-xr-x. 3 root root 31 Dec 5 14:47 server-plugins
drwxr-xr-x. 2 root root 4.0K Dec 5 14:47 services
drwxr-xr-x. 2 root root 45 Dec 5 14:47 tools
答案1
使用 时*
,模式默认不匹配隐藏名称。因此,当你运行du *
inside时applicationfolder
,名称.application
不会被计算在内。
du .
当想要查找当前目录的大小时使用比较安全。
在shell 中,您可以使用bash
以下命令设置 shell 选项dotglob
shopt -s dotglob
这样做将使*
隐藏名称匹配(两个特殊目录.
并将..
不是*
由if处于活动状态进行匹配dotglob
)。