빈 폴더에 공간이 있는 이유는 무엇입니까?
개발 중 회사의 오래된 프로젝트를 보다가 이상한 점을 발견했습니다.
이상한점은 폴더 용량이 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 .