空のフォルダにスペースがあるのはなぜですか?
開発中に会社の古いプロジェクトをより奇妙な点を発見しました。
奇妙な点はフォルダ容量が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 .