리눅스 tar 명령어 알아보기
Linux를 다루다 보면 .zip, .tar , .tar.gz 등 다양한 압축 파일을 만나게 된다. tar는 정말 자주 사용되는 명령어 중 하나인데, tar 명령어에 대해 알아보자
tar 명령어란?
tar는 Tape Archive의 약자로, 원래는 테이프 드라이브에 데이터를 아카이빙하기 위해 만들어진 명령어다. 그러나 현대에 와서는 주로 파일과 디렉토리를 하나의 아카이브 파일로 묶거나, 그 반대로 아카이브 파일에서 풀어내는 데 사용된다.
리눅스에서 tar 명령어는 파일 관리의 핵심 도구 중 하나로, 간단하면서도 강력한 기능을 제공하여 다양한 상황에서 유용하게 사용할 수 있다. 특히, tar -zcvf와 tar -zxvf 명령어를 잘 익혀두면 파일 압축과 해제 작업이 훨씬 수월해진다.
tar 명령어의 기본 사용법
tar 명령어는 다양한 옵션과 함께 사용할 수 있는데, 대표적인 두 가지는 -cvf
와 -xvf
가 있다.
1. 압축하기: tar -zcvf
`tar -zcvf`
명령어는 여러 파일이나 디렉토리를 하나의 tar.gz 파일로 압축하는 데 사용한다.
- -z 옵션은 gzip으로 압축하는 것을 의미하고,
- -c는 아카이브 파일을 생성(create)하는 것을 의미한다.
- -v는 과정 중의 파일 목록을 보여주는 것이고,
- -f는 파일 이름을 지정한다는 뜻이다.
tar -zcvf archive-name.tar.gz /path/to/directory
이 명령어를 사용하면 /path/to/directory에 있는 파일과 디렉토리가 archive-name.tar.gz라는 이름의 압축 파일로 생성된다.
2. 압축해제: tar -zxvf
이제 tar 파일을 해제하는 방법을 알아보자. tar -zxvf 명령어를 사용하면 되는데,
- -zvf 는 위와 동일하고,
- -x 옵션은 아카이브 파일을 추출(extract)하는 것을 의미한다.
tar -zxvf archive-name.tar.gz
이 명령어를 실행하면 현재 디렉토리에 archive-name.tar.gz의 내용이 풀어지게 된다.😊
헷갈리지 않게, 압축할때는 c(create) , 해제할때는 x(extract) 를 기억하시면 좋습니다!
tar 명령어의 다양한 활용법
특정 디렉토리로 압축 해제하기
기본적으로 tar 파일을 해제하면 현재 디렉토리에 풀리게 된다. 하지만 특정 디렉토리로 해제를 원할 때는 -C 옵션을 사용하면 된다.
tar -zxvf archive-name.tar.gz -C /path/to/extract
이 명령어를 실행하면 /path/to/extract 디렉토리에 파일이 풀리게 된다.
아카이브 파일의 내용 확인하기
아카이브 파일의 내용을 확인하고 싶을 때는 -t 옵션을 사용하면 된다. (아마도 test의 약자 인듯?)
tar -ztvf archive-name.tar.gz
이 명령어를 실행하면 archive-name.tar.gz 파일의 내용물이 화면에 표시된다. 추출하기 전에 어떤 파일들이 포함되어 있는지 확인할 수 있어서 유용하다.
기존 .tar 에 압축 파일 추가하기
기존의 tar 파일에 새로운 파일을 추가하고 싶다면 -r 옵션을 사용하면 된다.
tar -rvf archive-name.tar newfile.txt
이 명령어는 newfile.txt를 archive-name.tar에 추가합니다. 이렇게 하면 새롭게 파일을 생성하지 않고도 간편하게 파일을 추가할 수 있다.
※ gzip으로 압축된 압축파일(.tar.gz)에는 파일 추가 불가능.
tar 명령어 관련 기타 유용 팁
대용량 파일의 tar 해제
대용량 파일을 압축하거나 해제할 때는 --use-compress-program 옵션을 사용하면 압축 해제 속도를 높일 수 있다.
tar --use-compress-program=pigz -xvf archive-name.tar.gz
pigz는 멀티코어를 활용한 병렬 압축 해제 프로그램으로, 대용량 파일의 압축 해제 속도를 크게 향상시킬 수 있다.
예전에 postgresql 백업본을 압축할때 pigz를 이용해서 시간 단축을 했었는데,
rpm 으로도 간단하게 설치 할 수 있으니 아래 페이지 참고.
https://zlib.net/pigz/
'CS' 카테고리의 다른 글
[SQL풀이] 프로그래머스 - 조건에 맞는 도서 리스트 출력하기 (0) | 2024.07.09 |
---|---|
[SQL 문제풀이] SQL 코딩 테스트 연습 사이트 추천 (0) | 2024.07.09 |
PostgreSQL oracle_fdw 설치 (오라클 테이블 읽어오기) (0) | 2024.07.04 |
[PostgreSQL] log파일 스위칭 방법 pg_ctl logrotate (0) | 2024.05.31 |
[LINUX] 서버 간 방화벽 포트 열려있는지 확인하기 - telnet, curl, nc (0) | 2024.05.31 |
댓글