리눅스 파일압축 명령어 - tar명령어
리눅스에서도 윈도우에서와 같이 파일을 압축하거나 압축해제 하여야 할 경우가 있다.
이때 사용하는 명령어가 tar(tape archive)명령어이다.
특정 확장자의 파일들만 압축하거나,
특정 디렉터리를 압축할 수도 있고,
압축해제도 할 수 있다.
tar [option] [압축할파일명] [압축대상파일명...]
주요옵션
리눅스 버전에 따라 옵션이 차이가 있을 수 있음.
옵션의 - 는 생략가능하다.
기본 디렉터리는 현재 디렉터리 기준이다.
파일명 대신 *.txt 등으로 활용하면 특정 확장자의 모든파일에 대해 적용 가능하다.
참고로 -z옵션 등으로 압축형식을 지정해주지 않으면 압축 없이 단순히 파일이 묶이는 기능만 있다.
헤더 등으로 오히려 용량이 증가하게됨.
옵션 | 설명 |
-c | 압축을 위한 옵션 |
-x | 압축 해제를 위한 옵션 |
-t | 압축파일의 내용을 보기 위한 옵션 |
-r | 기존 파일에 추가 압축을 위한 옵션 |
-v | 진행상황을 보여주거나, 상세내용을 보여준다. |
-f 파일명 | 대상 파일명을 지정해 준다. |
-C 디렉터리 | 압축 해제할 디렉터리를 지정해준다. |
--exclude 파일명 | 특정 파일명을 제외하고 압축한다. |
-p | 퍼미션을 유지해 준다. |
-z | tar.gz로 압축해 준다. 이외 다른 형식도 존재한다. |
-g | 증분 백업시 사용하는 옵션 |
사용예시 및 사용화면
▼ tar cf test.tar *.txt - 현재 디렉터리에서 txt확장자를 가진 모든 파일을 test.tar로 압축
▼ tar cvf test.tar *.txt - 위와 같으나 v옵션을 넣어주어 진행상황을 보여줌
v옵션을 넣어주면 어떤파일이 압축이 되고 있는지를 보여준다.
v옵션은 다른 옵션과의 조합에 따라 기능이 조금씩 다르다.
▼ tar tvf test.tar - test.tar에 압축되어 있는 파일들의 목록을 보여준다.
-z 같은 압축 옵션을 주지 않았기 때문에 실제로 용량압축은 되지 않았다.
▼ tar rvf test.tar a.hwp - test.tar에 a.hwp를 추가로 압축해준다.
test.tar에 a.hwp가 추가되었다.
▼ tar xvf test.tar -C a : a라는 디렉터리에 test.tar를 푼다.
현재 디렉터리에는 해당 파일이 모두 있어 -C옵션으로 다른 디렉터리에 파일을 풀어보았다.
▼ z옵션을 주지않은 파일과 z옵션을 준 파일의 용량비교
z옵션을 줘서 tar.gz로 압축된 파일과 단순 tar로 압축된 파일의 용량이 차이가 나고 있다.
두파일 모두 a~d.txt와 a.hwp파일을 압축했는데,
test.tar는 오히려 용량이 증가하였고,
test.tar.gz는 압축되어 용량이 감소되었다.
▼ tar cvf test2.tar *.txt --exclude a.txt : a.txt를 제외한 압축
--exclude를 이용하여 특정 확장자를 제외하고 압축할 수 있다.
또한 --exclude옵션은 여러번 넣어 여러 확장자를 동시에 제외할 수 있다.
'운영체제 > 리눅스, 유닉스' 카테고리의 다른 글
[리눅스] 파이프라인(|)을 알아보자(ps -ef | grep ~ 명령어 이용 등) (0) | 2020.12.07 |
---|---|
[리눅스] cron crontab 명령어(예약된작업, 백업 등) (0) | 2018.12.05 |
[리눅스]ps명령어(프로세스 확인 명령어, 특정 프로세스 확인) (0) | 2018.10.22 |
[리눅스]grep 명령어(특정 문자열 찾기) (0) | 2018.10.19 |
[리눅스]more명령어(리눅스 긴 파일 확인, 페이지 단위 출력) (0) | 2018.10.17 |