내 USB 스틱에 있는 동일한 파일이 더 큰 이유는 무엇입니까?

내 USB 스틱에 있는 동일한 파일이 더 큰 이유는 무엇입니까?

USB 장치에 파일을 복사하면 크기가 커지는 것 같습니다.

나는 많은 ASCII 텍스트 파일을 포함하는 testdir이라는 디렉토리를 가지고 있습니다. 원래 디렉토리:

$ du -hs testdir
22M

디렉토리를 USB 장치에 복사했습니다.

$ du -hs testdir
82M

내용을 확인해 봤습니다. 그들은 정확히 동일합니다. 내가 생각할 수 있는 유일한 차이점은 파일 시스템입니다.

$ lsblk -f
...
 sdb                                                        
└─sdb1 ext4           ce7a8f47-699d-450a-9391-932e75e6eb44 /
sdc                                                        
└─sdc1 vfat           F474B7AA74B76DCC                     /mnt/usbstick
...

왜 이런거야?

답변1

짧은 답변: 블록 크기

더 긴 답변: USB 드라이브는 하드 드라이브보다 블록 크기가 더 클 가능성이 높습니다. 파일 시스템은 본질적으로 블록의 일부만을 사용할 수 없으며, 결과적으로 데이터 양이 블록 크기의 일부에 불과하더라도 전체 블록이 사용됩니다.

당신이 말했듯이 "다수의 ASCII 텍스트 파일"이 있기 때문에 일반적으로 매우 작기 때문에 문제가 증폭됩니다. 예를 들어 블록 크기가 16Kb인 경우 파일은 실제 크기에 관계없이 최소한 그만큼의 공간을 차지합니다.

이 명령을 사용하면 파티션 블록 크기를 볼 수 있습니다(루트 필요).

blockdev --getbsz /dev/XXXX

....여기서 XXX는 파티션의 장치 노드입니다.

관련 정보