为什么空文件夹里有容量?

为什么空文件夹里有容量?

为什么空文件夹里有容量?

我在开发的时候看到公司的老项目后发现了一个奇怪的事情。

奇怪的是,该文件夹的容量为36M,于是我进入该文件夹,但没有任何文件。

我不明白这是什么样的。

于是我创建了一个文件夹,查看空文件夹的默认容量,默认容量为4.0K。

请告诉我为什么文件夹是空文件夹且不存在任何文件却占用36M容量

下面是控制台日志,奇怪的文件夹名称是logani。新创建的文件夹是testDirectory。

vnoc@AI-API01:~/project/src$ du -sh *
4.0K    app.js
28K     bin
32K     config
364K    control
32K     databases
4.0K    deploy.sh
4.0K    install.sh
36M     logani
27M     logs
16K     public
84K     routes
4.0K    scaleup.sh
4.0K    script
4.0K    start.sh
4.0K    stop.sh
24K     system
32K     test
20K     util
vnoc@AI-API01:~/project/src$ ls -la
total 36628
drwxrwxr-x 14 vnoc vnoc     4096 Apr 26 14:27 .
drwxrwxr-x  5 vnoc vnoc     4096 Mar 28 08:07 ..
-rw-rw-r--  1 vnoc vnoc     1710 Apr 26 14:26 app.js
drwxrwxr-x  3 vnoc vnoc     4096 Mar 11 15:05 bin
drwxrwxr-x  3 vnoc vnoc     4096 Apr 22 09:35 config
drwxrwxr-x  4 vnoc vnoc     4096 Aug  3  2021 control
drwxrwxr-x  3 vnoc vnoc     4096 Nov 18 16:45 databases
-rw-rw-r--  1 vnoc vnoc      155 Sep 21  2020 deploy.sh
-rw-rw-r--  1 vnoc vnoc      119 Sep 21  2020 install.sh
drwxrwxr-x  2 vnoc vnoc 37408768 Apr 27 09:32 logani
drwxrwxr-x  4 vnoc vnoc    20480 Apr 26 09:29 logs
drwxrwxr-x  3 vnoc vnoc     4096 Jan 24 16:11 public
drwxrwxr-x  4 vnoc vnoc     4096 Apr 27 07:58 routes
-rwxr-x---  1 vnoc vnoc       89 Nov  9  2020 scaleup.sh
drwxrwxr-x  2 vnoc vnoc     4096 Jan 14 18:00 script
-rwxr-x---  1 vnoc vnoc      708 Sep 22  2020 start.sh
-rwxr-x---  1 vnoc vnoc      217 Nov  9  2020 stop.sh
drwxrwxr-x  2 vnoc vnoc     4096 Apr 26 15:03 system
drwxrwxr-x  2 vnoc vnoc     4096 Mar 10  2021 test
drwxrwxr-x  2 vnoc vnoc     4096 Apr 27  09:55 testDirectory
drwxrwxr-x  2 vnoc vnoc     4096 Apr 25 15:33 util
vnoc@AI-API01:~/project/src$ cd logani
vnoc@AI-API01:~/project/src/logani$ ls -la
total 36536
drwxrwxr-x  2 vnoc vnoc 37408768 Apr 27 09:32 .
drwxrwxr-x 14 vnoc vnoc     4096 Apr 26 14:27 ..
vnoc@AI-API01:~/project/src/logani$ du -sh *
du: cannot access '*': No such file or directory
vnoc@AI-API01:~/project/src/logani$ 

答案1

目录的大小会扩展以容纳其中的文件数量。但当您删除文件时,它们不会缩小。

所以...

bash-4.2$ mkdir XXX
bash-4.2$ cd XXX
bash-4.2$ ls -ld .
drwxr-xr-x 43 sweh sweh 4096 Apr 26 22:32 .
bash-4.2$ for a in {1..10000}; do touch $a; done
bash-4.2$ ls -ld .
drwxr-xr-x 2 sweh sweh 155648 Apr 26 22:31 .
bash-4.2$ rm *
bash-4.2$ ls -ld .
drwxr-xr-x 2 sweh sweh 155648 Apr 26 22:32 .

相关内容