![빈 파일이 디스크 공간을 할당하지 않는 이유는 무엇입니까?](https://linux55.com/image/213753/%EB%B9%88%20%ED%8C%8C%EC%9D%BC%EC%9D%B4%20%EB%94%94%EC%8A%A4%ED%81%AC%20%EA%B3%B5%EA%B0%84%EC%9D%84%20%ED%95%A0%EB%8B%B9%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
을 열었습니다 . Ubuntu 20.04.5
내 파일 시스템은 입니다 ext4
. 빈 파일을 만들고 할당된 크기를 확인합니다.
➜ touch test_file
➜ ls -s
total 0
0 test_file
그런 다음 문자를 파일에 에코하고 할당된 크기를 다시 확인합니다.
➜ echo "." > test_file
➜ ls -s
total 4
4 test_file
4kb가 내 파일 시스템의 블록 크기라는 것을 알고 있습니다. 하지만 파일에 쓰면 파일은 어떻게 되나요? 이전에는 왜 공간이 할당되지 않았나요?
답변1
따라서 ext4
여기에는 데이터가 없으며 존재하는 유일한 정보는 파일 이름 test_file
, 권한, 디렉터리 데이터에 저장된 소유자 및 그룹뿐입니다. inode에는 파일의 실제 크기에 대한 정보가 포함되어 있으며, 생성 후에는 0이고 추가 후에는 4K입니다 .
.
실제 파일에 기록될 때까지 데이터를 저장하기 위해 디스크의 블록을 사용하지 않습니다. 그렇기 때문에 빈 파일 0
은 .4K
집 주소라고 생각하세요. 주소는 주, 도시, 지역, 우체국 등이 자신의 위치를 알 수 있는 수단일 뿐입니다. 면적, 방, 가전제품 등 집 내부에 대한 정보나 내부 상태에 대한 정보는 제공하지 않습니다. 실제로는 파일 이름입니다.