대용량 압축 파일을 전달받아 압축 해제하고 실제 압축 해제한 파일 사이즈와 확인하는 작업을 진행하였다.
test@test:~/user1/test$ ls -al
total 4198208
drwxr-xr-x 2 test user 4096 2023-01-10 12:22 .
drwxr-xr-x 7 test user 4096 2023-01-10 12:22 ..
-rw-r--r-- 1 test user 4298948939 2023-01-03 01:46 compressTest.tar.gz
ls -al 결과값으로 파일 사이즈는 4,298,948,939 약 4,099MB이다.
test@test:~/user1/test$ du -sb .
12028542437 .
실제 압축을 해제하고 du -sk 명령어를 통해 실제 파일 사이즈는 12,028,542,437 약 11,471MB이다. 대략적으로 계산해보면 tar.gz 파일의 압축률은 약 65% 나와야 한다.
test@test:~/user1/test$ gzip -l compressTest.tar.gz
compressed uncompressed ratio uncompressed_name
4298948939 3892359168 -10.4% compressTest.tar
gzip -l 명령어로 압축률을 확인해 보았다. compressed 항목은 ls -al 결과와 동일하다. 하지만 이상하게 uncompressed 값이 압축 파일의 size 보다 더 작게 나온다. 압축 비율도 마이너스로 나온다.
그 해답은 아래 stackoverflow에서 찾아볼 수 있다. gzip -l 명령어는 파일 크기가 2^32 까지 지원이 된다고 한다. 즉 압축 파일 크기가 4GB를 넘어가면 마이너스 값이 나올 수 있다.
'Programming > C++' 카테고리의 다른 글
sftp 명령어로 파일 받아오기 sftp, get, echo 명령어 정리 (0) | 2023.02.05 |
---|---|
[ubuntu] 실행파일 있는데 없다고 에러 메시지 발생 ( bad interpreter: No such file or directory) (0) | 2023.02.05 |
ubuntu 20.04 설치 후 프로그램 실행 안되고 화면 잔상 생기는 현상 (0) | 2023.01.04 |
ubuntu 파일 tar 압축풀기 - 특정 파일 제외 후 압축 풀기 (0) | 2023.01.03 |
linux - bash shell script 폴더 내 모든 압축파일 유효성 확인(validation) (0) | 2022.12.21 |
댓글