빈 파일이 디스크 공간을 할당하지 않는 이유는 무엇입니까?

빈 파일이 디스크 공간을 할당하지 않는 이유는 무엇입니까?

을 열었습니다 . 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

집 주소라고 생각하세요. 주소는 주, 도시, 지역, 우체국 등이 자신의 위치를 ​​알 수 있는 수단일 뿐입니다. 면적, 방, 가전제품 등 집 내부에 대한 정보나 내부 상태에 대한 정보는 제공하지 않습니다. 실제로는 파일 이름입니다.

관련 정보