Linux에서 tar 명령을 사용하여 파일을 압축하고 추출하는 방법

Linux에서 tar 명령은 종종 "tarballs"라고도하는 .tar.gz 또는 .tgz 아카이브 파일을 만드는 데 사용됩니다. 이 명령에는 많은 옵션이 있지만 tar로 아카이브를 빠르게 만들려면 몇 글자 만 기억하면됩니다. tar 명령은 결과 아카이브도 추출 할 수 있습니다.

Linux 배포판에 포함 된 GNU tar 명령에는 통합 압축 기능이 있습니다. .tar 아카이브를 만든 다음 단일 명령으로 gzip 또는 bzip2 압축으로 압축 할 수 있습니다. 이것이 결과 파일이 .tar.gz 파일 또는 .tar.bz2 파일 인 이유입니다.

전체 디렉토리 또는 단일 파일 압축

Linux에서 전체 디렉토리 또는 단일 파일을 압축하려면 다음 명령을 사용하십시오. 또한 지정한 디렉토리 내의 다른 모든 디렉토리를 압축합니다. 즉, 재귀 적으로 작동합니다.

tar -czvf name-of-archive.tar.gz / path / to / directory-or-file

이러한 스위치가 실제로 의미하는 바는 다음과 같습니다.

  • -c : C는 아카이브를 reate.
  • -z : g z ip로 아카이브를 압축합니다 .
  • -v : " v erbose"모드 라고도하는 아카이브를 만드는 동안 터미널에 진행률을 표시 합니다. v는 이러한 명령에서 항상 선택 사항이지만 유용합니다.
  • -f : 사용자가 지정할 수 있습니다 f를 아카이브의 ilename을.

현재 디렉토리에 "stuff"라는 디렉토리가 있고이를 archive.tar.gz라는 파일에 저장하려고한다고 가정 해 보겠습니다. 다음 명령을 실행합니다.

tar -czvf archive.tar.gz 물건

또는 현재 시스템의 / usr / local / something에 디렉토리가 있고이를 archive.tar.gz라는 파일로 압축하려고한다고 가정 해 보겠습니다. 다음 명령을 실행합니다.

tar -czvf archive.tar.gz / usr / local / something

한 번에 여러 디렉터리 또는 파일 압축

관련 : Linux 터미널에서 파일을 관리하는 방법 : 알아야 할 11 가지 명령

tar는 단일 디렉토리를 압축하는 데 자주 사용되지만 여러 디렉토리, 여러 개별 파일 또는 둘 다를 압축하는 데 사용할 수도 있습니다. 하나가 아닌 파일 또는 디렉토리 목록을 제공하십시오. 예를 들어 / home / ubuntu / Downloads 디렉토리, / usr / local / stuff 디렉토리 및 /home/ubuntu/Documents/notes.txt 파일을 압축한다고 가정 해 보겠습니다. 다음 명령을 실행하면됩니다.

tar -czvf archive.tar.gz / home / ubuntu / Downloads / usr / local / stuff /home/ubuntu/Documents/notes.txt

백업하려는 디렉토리 나 파일을 얼마든지 나열하십시오.

디렉터리 및 파일 제외

경우에 따라 전체 디렉토리를 압축하고 싶지만 특정 파일과 디렉토리는 포함하지 않을 수 있습니다. --exclude제외하려는 각 디렉토리 또는 파일에 스위치를 추가하여이를 수행 할 수 있습니다 .

예를 들어, / home / ubuntu를 압축하고 싶지만 / home / ubuntu / Downloads 및 /home/ubuntu/.cache 디렉토리를 압축하고 싶지 않다고 가정 해 보겠습니다. 방법은 다음과 같습니다.

tar -czvf archive.tar.gz / home / ubuntu --exclude = / home / ubuntu / Downloads --exclude = / home / ubuntu / .cache

--exclude스위치는 매우 강력하다. 디렉토리 및 파일 이름을 사용하지 않고 실제로 패턴을 허용합니다. 그것으로 할 수있는 일이 훨씬 더 많습니다. 예를 들어 다음 명령을 사용하여 전체 디렉토리를 보관하고 모든 .mp4 파일을 제외 할 수 있습니다.

tar -czvf archive.tar.gz / home / ubuntu --exclude = *. mp4

대신 bzip2 압축 사용

gzip 압축은 .tar.gz 또는 .tgz 파일을 만드는 데 가장 자주 사용되지만 tar는 bzip2 압축도 지원합니다. 이를 통해 bzip2 압축 파일 (종종 .tar.bz2, .tar.bz 또는 .tbz 파일)을 만들 수 있습니다. 이렇게하려면 여기에있는 명령에서 gzip의 -z를 bzip2의 -j로 바꾸십시오.

Gzip은 더 빠르지 만 일반적으로 압축률이 약간 낮기 때문에 파일 크기가 다소 커집니다. Bzip2는 느리지 만 조금 더 압축되므로 파일 크기가 약간 작아집니다. Gzip은 기본적으로 gzip 지원을 포함하지만 bzip2 지원은 포함하지 않는 일부 제거 된 Linux 시스템에서 더 일반적입니다. 하지만 일반적으로 gzip과 bzip2는 거의 동일하며 둘 다 비슷하게 작동합니다.

예를 들어, stuff 디렉토리를 압축하기 위해 제공 한 첫 번째 예제 대신 다음 명령을 실행합니다.

tar -cjvf archive.tar.bz2 물건

아카이브 추출

아카이브가 있으면 tar 명령으로 압축을 풀 수 있습니다. 다음 명령은 archive.tar.gz의 내용을 현재 디렉토리로 추출합니다.

tar -xzvf archive.tar.gz

-x스위치가 스위치를 대체 한다는 점을 제외하면 위에서 사용한 아카이브 생성 명령과 동일합니다 -c. 이 지정은 전자 원하는 X 기관 아카이브 대신 중 하나를 만들 수 있습니다.

아카이브의 내용을 특정 디렉토리로 추출 할 수 있습니다. -C명령 끝에 스위치를 추가하면 됩니다. 예를 들어 다음 명령은 archive.tar.gz 파일의 내용을 / tmp 디렉토리로 추출합니다.

tar -xzvf archive.tar.gz -C / tmp

파일이 bzip2 압축 파일 인 경우 위 명령에서 "z"를 "j"로 바꿉니다.

이것은 tar 명령의 가능한 가장 간단한 사용법입니다. 이 명령에는 많은 추가 옵션이 포함되어 있으므로 여기에 모두 나열 할 수는 없습니다. 자세한 내용은. 쉘에서 info tar 명령을 실행하여 tar 명령의 자세한 정보 페이지를보십시오. 완료되면 q 키를 눌러 정보 페이지를 종료하십시오. tar의 설명서를 온라인으로 읽을 수도 있습니다.

그래픽 Linux 데스크톱을 사용하는 경우 데스크톱에 포함 된 파일 압축 유틸리티 또는 파일 관리자를 사용하여 .tar 파일을 생성하거나 추출 할 수도 있습니다. Windows에서는 무료 7-Zip 유틸리티를 사용하여 .tar 아카이브를 추출하고 만들 수 있습니다.