리눅스
[draft] 리눅스 압축 명령어 tar, gzip, zip
SangChul Dot Kr Blog
2025. 10. 23. 15:23
리눅스 압축 명령어 tar, gzip, zip
리눅스에서 파일을 압축하거나 묶을 때 가장 많이 쓰는 명령어는 tar, gzip, zip 입니다.
tar 명령어 - 파일 묶기 & 압축하기
tar(Tape ARchiver)는 여러 파일을 하나로 묶는 도구입니다.
보통 gzip이나 bzip2, xz와 함께 써서 압축까지 진행합니다.
기본 사용법
tar {A|c|d|r|t|u|x}[GnSkUWOmpsMBiajJzZhPlRvwo] [ARG...]
옵션 설명
- c : create (새로 묶기)
- x : extract (풀기)
- t : list (내용 확인)
- v : verbose (상세 출력)
- f : file (파일 지정)
묶기
- foo 디렉토리를 foo.tar로 묶음
tar cvvf foo.tar foo/
drwxr-xr-x root/root 0 2022-03-03 17:08 foo/
-rw-r--r-- root/root 0 2022-03-03 17:08 foo/file1.txt
-rw-r--r-- root/root 0 2022-03-03 17:08 foo/file2.txt
-rw-r--r-- root/root 0 2022-03-03 17:08 foo/file3.txt
풀기
- foo.tar 압축 해제
tar xvf foo.tar
drwxr-xr-x root/root 0 2022-03-03 17:08 foo/
-rw-r--r-- root/root 0 2022-03-03 17:08 foo/file1.txt
-rw-r--r-- root/root 0 2022-03-03 17:08 foo/file2.txt
-rw-r--r-- root/root 0 2022-03-03 17:08 foo/file3.txt
목록 보기
- tar 파일 내용 확인
tar tvf foo.tar
drwxr-xr-x root/root 0 2022-03-03 17:08 foo/
-rw-r--r-- root/root 0 2022-03-03 17:08 foo/file1.txt
-rw-r--r-- root/root 0 2022-03-03 17:08 foo/file2.txt
-rw-r--r-- root/root 0 2022-03-03 17:08 foo/file3.txt
gzip과 함께 사용(.tar.gz)
압축하면서 묶기
tar cvfz foo.tar.gz foo/
foo/
foo/file1.txt
foo/file2.txt
foo/file3.txt
압축 풀기
tar xvfz foo.tar.gz
drwxr-xr-x root/root 0 2022-03-03 17:08 foo/
-rw-r--r-- root/root 0 2022-03-03 17:08 foo/file1.txt
-rw-r--r-- root/root 0 2022-03-03 17:08 foo/file2.txt
-rw-r--r-- root/root 0 2022-03-03 17:08 foo/file3.txt
경로 지정하여 풀기
tar xfz foo.tar.gz -C tmp2/
-z 옵션은 gzip 압축을 의미합니다.
(.tar.bz2의 경우 -j, .tar.xz의 경우 -J 사용)
주요 옵션
- -c : 새 tar 파일 생성
- -x : 압축 풀기
- -t : 파일 목록 보기
- -f : 파일 이름 지정
- -v : 처리 과정 출력
- -z : gzip 압축
- -j : bzip2 압축
- -J : xz 압축
- -C : 특정 디렉토리로 압축 풀기
gzip 명령어 - 단일 파일 압축
gzip은 단일 파일을 압축할 때 사용합니다.
(tar.gz는 여러 파일을 tar로 묶은 후 gzip으로 압축한 형태입니다.)
기능 | 명령어 | 설명 |
압축 | gzip foofile | foofile → foofile.gz 로 압축 |
압축 해제 | gzip -d foofile.gz | foofile.gz 해제 |
압축률 확인 | gzip -l foofile.gz | 압축/비압축 크기 확인 |
압축 레벨 지정 | gzip -9 foo | 최대 압축률로 압축 |
gzip은 파일 하나당 하나의 .gz를 만듭니다. 폴더 전체를 압축하려면 tar와 함께 써야 합니다.
gzip -l foofile.gz
compressed uncompressed ratio uncompressed_name
28 0 0.0% foofile
gunzip - gzip 압축 해제 전용
gunzip은 gzip -d와 동일한 기능을 수행합니다.
gunzip foofile.gz
압축이 풀리면 원본 파일(foofile)이 복원됩니다.
zip / unzip - 윈도우 호환 압축
zip은 윈도우와 호환되는 압축 포맷으로, 여러 파일을 한 번에 압축할 수 있습니다.
zip 압축
zip foofile.zip file1.txt file2.txt file3.txt
adding: file1.txt (stored 0%)
adding: file2.txt (stored 0%)
adding: file3.txt (stored 0%)
unzip 해제
unzip foofile.zip
Archive: foofile.zip
extracting: file1.txt
extracting: file2.txt
extracting: file3.txt
경로 지정하여 해제
unzip foofile.zip -d tmp/
결과 : tmp/ 폴더 내에 파일이 추출됩니다.
tar.xz 파일 압축 해제
xz는 gzip보다 높은 압축률을 제공합니다.
(tar와 함께 쓰면 .tar.xz 확장자)
tar xf foo.tar.xz
또는 명시적으로
tar xvfJ foo.tar.xz
-J : xz 압축 해제 옵션