tar 명령어와 gz 파일
리눅스에서 tar 명령어를 사용하면 파일들을 아카이브(archive)로 압축할 수 있다.
하지만 정확히 말하면 압축(compress)하는 것이라기 보단 여러 파일을 하나의 파일(아카이브)로 묶는 것이다.
이렇게 tar 명령어로 파일들을 묶으면 기존 파일들의 속성, 심볼릭 링크, 디렉토리 구조 등이 변경되지 않고 유지된다.
따라서 파일의 크기도 줄어들지 않고 그대로 반영된다.
반면 gz파일은 파일들을 압축하기 때문에 파일의 용량이 줄어든다.
gz 파일을 gzip 명령어를 이용해 압축할 수도 있고 tar 명령어에서 -z 옵션을 이용해 압축할 수도 있다.
리눅스를 사용하다보면 ~.tar.gz 와 같은 확장자의 파일을 볼 수 있다. 이것은 tar 명령어로 파일들을 묶고 gz 파일로 압축한 결과이다. 보통 리눅스에서는 .tar.gz 와 같은 형태를 많이 사용한다.
자주 사용하는 옵션
- -x : 아카이브에서 파일들을 추출한다. (압축 해제 옵션)
- -z : gzip을 이용해 아카이브를 압축 혹은 해제한다. (압축 옵션)
- -c : 새로운 아카이브를 생성한다. (파일을 묶는다)
- -v : 압축 및 해제 과정을 출력한다.
- -f : tar 명령어를 적용할 아카이브 파일의 이름을 결정한다.
- -C : 명령어를 적용할 디렉토리 경로를 지정한다.
이 외에도 많은 옵션이 있지만 주로 위의 옵션들을 많이 사용한다.
예시
파일 묶기, 아카이브(.tar) 만들기
$ tar -cvf [아카이브 명] [파일명]
위와 같이 -cvf 옵션을 통해 test.tar 아카이브를 만들었다.
$ tar -cvf [아카이브 명] [디렉토리]
위와 같이 디렉토리를 통째로 아카이브로 묶을 수도 있다. '.' 을 이용해 현재 디렉토리의 모든 파일을 묶을 수도 있다.
아카이브(.tar) 풀기
$ tar -xvf [아카이브 명]
위와 같이 -xvf 옵션을 통해 아카이브를 현재 디렉토리에 풀 수 있다.
$ tar -xvf [아카이브 명] -C [경로]
위와 같이 -C 옵션을 통해 아카이브를 풀 디렉토리를 지정할 수도 있다.
.tar.gz 압축하기
$ tar -zcvf [아카이브 명] [파일명]
위와 같이 -zcvf 옵션을 통해 파일들을 .tar.gz 파일로 압축할 수 있다.
마찬가지로 디렉토리를 통째로 압축할 수도 있다.
.tar.gz 해제하기
$ tar -zxvf [아카이브 명]
위와 같이 -zxvf 옵션을 사용하면 .tar.gz 파일을 해제할 수 있다.
물론 -C 옵션을 사용하면 디렉토리를 지정할 수 있다.
참고
1. https://linux.die.net/man/1/tarhttps://linux.die.net/man/
2. https://www.gnu.org/software/tar/manual/html_node/All-Options.html
'OS > [Linux]' 카테고리의 다른 글
[Linux] 리눅스 vi 편집기 사용법 및 명령어 총정리, vi 초기 설정하기 (0) | 2023.09.25 |
---|---|
[Linux] 리눅스 gcc란? gcc로 C언어 컴파일하기 (0) | 2023.09.23 |
[Linux] 리눅스 touch 명령어 사용법 , 리눅스 빈 파일 생성하는 법, 파일 시간 수정하는 법 (0) | 2023.09.13 |
[Linux] 리눅스 man 명령어 사용법, 리눅스 매뉴얼 확인하는 법 (0) | 2023.09.07 |
[Linux] 심볼릭 링크(symbolic link)란? 심볼릭 링크 만들기, 삭제, 변경 (0) | 2023.09.05 |