리눅스 환경에서 작업을 하다 보면 tar.gz 형태의 압축 파일을 자주 접하게 된다. 이 형식은 두 가지 과정을 거친다. 먼저 여러 파일과 디렉토리를 하나의 .tar 파일로 묶고, 이후 gzip을 통해 .gz로 압축하는 방식이다. 때문에 단순히 파일을 풀어내는 것뿐만 아니라, 내부에 어떤 파일이 포함되어 있는지 확인하는 일이 잦다.
가장 기본적인 확인 명령은 다음과 같다.
tar -tzf archive.tar.gz
여기서 옵션의 의미를 정리하면 다음과 같다.
t: 목록(list) 출력z: gzip 압축 해제(gzip 처리된 파일 읽기)f: 파일 지정
추가적으로 파일의 권한, 크기, 소유자, 수정 시각 같은 상세 정보를 확인하고 싶다면 -v 옵션을 함께 사용한다.
tar -tvzf archive.tar.gz
이렇게 하면 마치 ls -l 명령어와 비슷한 형태의 출력 결과를 볼 수 있다.
실무에서 자주 쓰이는 활용 시나리오
- 백업 검증
시스템이나 애플리케이션 데이터를 백업할 때tar.gz로 묶는 경우가 많다. 복구 전 단계에서 내부에 필요한 파일이 존재하는지 빠르게 확인할 수 있다. - 대규모 로그 관리
서버 로그를 주기적으로 묶어 보관할 때, 특정 날짜의 로그가 포함되어 있는지 확인하는 용도로 활용한다. - 배포 패키지 확인
오픈소스 패키지나 소프트웨어를 내려받았을 때, 실행 파일이 어디에 위치해 있는지 미리 확인할 수 있어 설치 경로를 점검하는 데 유용하다. - 보안적 관점
외부에서 받은 압축 파일을 무작정 풀기 전에 내부 구조를 확인함으로써 불필요한 실행 파일이나 의심스러운 스크립트가 포함되어 있는지 점검할 수 있다.
tar.gz 다루기에서 주의할 점
-f옵션을 빼먹으면 tar는 표준 입력을 통해 데이터를 받으려고 하므로 “Refusing to read archive contents from terminal” 같은 오류가 발생한다.- 압축을 풀지 않고도 파일 크기만 빠르게 확인하고 싶다면
tar -tvzf결과를awk와 함께 파이프라인 처리하여 특정 열만 추출하면 된다. - 대용량 아카이브라면
less나grep을 조합해 필요한 파일만 필터링해서 확인하는 습관이 효율적이다.
tar.gz는 단순한 압축 파일 그 이상이다. 적절한 명령어 사용법을 숙지하면 백업, 로그, 배포, 보안까지 다양한 실무 영역에서 확실한 안전장치와 관리 도구로 활용할 수 있다.