SW/리눅스

Linux : Tar 명령어, 예제, 사용 방법 (Create and Extract Archives)

얇은생각 2021. 1. 4. 07:30
반응형

tar 명령은 파일 그룹을 아카이브로 변환하여 tar 파일을 생성합니다. 또한 tar 아카이브 추출, 아카이브에 포함된 파일 목록 표시, 기존 아카이브에 추가 파일 추가 및 기타 다양한 종류의 작업도 가능합니다.

Tar는 원래 파일을 저장하는 아카이브를 생성하기 위해 설계되었으며, 그래서 "Tape Archive"라는 이름이 붙었습니다.

이 문서에서는 tar 명령을 사용하여 가장 일반적인 tar 옵션에 대한 실제 예와 자세한 설명을 통해 tar 아카이브를 추출, 나열 및 생성하는 방법을 보여 줍니다.

 

 

Linux : Tar 명령어, 예제, 사용 방법 (Create and Extract Archives)

 

 

tar 명령 구문

기능적 차이가 있는 두 가지 버전의 타르, BSD tar 및 GNU tar가 있습니다. 대부분의 Linux 시스템에는 기본적으로 GNU tar가 미리 설치되어 있습니다.

tar 명령의 일반 구문은 다음과 같습니다.

tar [OPERATION_AND_OPTIONS] [ARCHIVE_NAME] [FILE_NAME(s)]

 

 

OPERATION - 작업 인수는 하나만 허용되고 필요합니다. 가장 자주 사용되는 작업은 다음과 같습니다.

--create(-c) - 새 tar 아카이브(-c)를 만듭니다.

--extract(-x) - 아카이브에서 전체 아카이브 또는 하나 이상의 파일을 추출합니다.

--list(-t) - 아카이브에 포함된 파일 목록을 표시합니다.

 

OPTIONS  - 가장 자주 사용되는 작업은 다음과 같습니다.

--verbose(-v) - tar 명령으로 처리 중인 파일을 표시합니다.

--file=archive=name(-f archive-name) - 아카이브 파일 이름을 지정합니다.

 

ARCHIVE_NAME - 아카이브의 이름입니다.

FILE_NAME - 아카이브에서 추출할 파일 이름의 공백으로 구분된 목록입니다. 제공되지 않으면 전체 보관이 추출됩니다.

 

tar 명령을 실행할 때 tar 작업 및 옵션의 긴 형식 또는 짧은 형식을 사용할 수 있습니다. 긴 양식은 더 읽기 쉽고 짧은 양식은 더 빨리 입력할 수 있습니다. 긴 양식 옵션 앞에는 이중 대시(-)가 붙습니다. 단축 양식 옵션에는 단일 대시(-)가 앞에 붙으며 생략할 수 있습니다.

 

 

 

Tar Archive 생성

Tar는 gzip, bzip2, lzip, lzma, lzop, xz 및 압축과 같은 광범위한 압축 프로그램을 지원합니다. 압축 tar 아카이브 생성 시 아카이브 파일 이름에 컴프레서 접미사를 추가하는 것이 허용되는 관례입니다. 예를 들어, 아카이브가 gzip으로 압축된 경우 archive.tar.gz라는 이름을 지정해야 합니다. 

tar 아카이브를 생성하려면 -c 옵션 다음에 -f 및 아카이브 이름을 사용합니다.

예를 들어 file1, file2, file3 파일로부터 archive.tar라는 이름의 아카이브를 생성하려면 다음 명령을 실행합니다.

tar -cf archive.tar file1 file2 file3

 

 

다음은 긴 양식 옵션을 사용하는 동등한 명령입니다.

tar --create --file=archive.tar file1 file2 file3

 

 

하나 이상의 디렉토리 또는 파일의 내용에서 보관 파일을 작성할 수 있습니다. 기본적으로 --no-recursion 옵션을 지정하지 않은 경우 디렉토리는 반복적으로 보관됩니다.

다음 예에서는 /home/user 디렉토리의 user_backup.tar라는 이름의 아카이브를 생성합니다.

tar -cf backup.tar /home/user

 

 

처리 중인 파일을 보려면 -v 옵션을 사용합니다.

 

 

 

Tar Gz 아카이브 생성

Gzip은 tar 파일을 압축하는 데 가장 많이 사용되는 알고리즘입니다. gzip으로 tar 아카이브 파일을 압축할 때 아카이브 이름은 tar.gz 또는 tgz로 끝나야 합니다.

-z 옵션은 tar에게 gzip 알고리즘을 사용하여 아카이브가 생성될 때 압축하도록 지시합니다. 예를 들어 지정된 파일에서 tar.gz 아카이브를 생성하려면 다음 명령을 실행합니다.

tar -czf archive.tar.gz file1 file2

 

 

 

Tar Bz2 아카이브 생성

tar 파일을 압축하는 또 다른 일반적인 알고리즘은 bzip2입니다. bzip2를 사용할 경우 아카이브 이름은 tar.bz2 또는 tbz로 끝나야 합니다.

bzip2 알고리즘으로 아카이브를 압축하려면 -j 옵션으로 tar를 호출합니다. 다음 명령은 지정된 파일에서 tar.bz2 아카이브를 생성합니다.

tar -cjf archive.tar.bz2 file1 file2

 

 

 

Tar Archives 나열

--list(-t) 옵션과 함께 사용할 경우 tar 명령은 tar 아카이브의 내용을 추출하지 않고 나열합니다.

아래 명령은 archive.tar 파일의 내용을 나열합니다.

tar -tf archive.tar
# file1
# file2
# file3

 

 

파일 소유자 , 파일 크기 등의 추가 정보를 얻으려면 --verbose(-v) 옵션을 사용합니다.

tar -tvf archive.tar

# -rw-r--r-- linuxize/users       0 2018-09-08 01:19 file1
# -rw-r--r-- linuxize/users       0 2018-09-08 01:19 file2
# -rw-r--r-- linuxize/users       0 2018-09-08 01:19 file3

 

 

 

Tar Archive 추출

리눅스의 아카이브된 파일은 대부분 tar 또는 tar.gz 형식을 사용하여 아카이브 및 압축됩니다. 명령줄에서 이러한 파일을 추출하는 방법을 아는 것이 중요합니다.

tar 아카이브를 추출하려면 --extract(-x) 옵션과 아카이브 이름을 차례로 사용합니다.

tar -xf archive.tar

 

 

압축을 푸는 파일의 이름을 인쇄하기 위해 -v 옵션을 추가하는 것도 일반적입니다.

tar -xvf archive.tar

 

 

 

다른 디렉토리의 Tar Archive 추출

기본적으로 tar는 현재 작업 디렉터리의 아카이브 내용을 추출합니다. --directory(-C)를 사용하여 특정 디렉토리의 아카이브 파일을 추출합니다. 

예를 들어 /opt/files 디렉토리에 보관 내용을 추출하려면 다음을 사용할 수 있습니다.

tar -xf archive.tar -C /opt/files

 

 

 

Tar Gz 및 Tar Bz2 아카이브 추출

tar.gz 또는 tar.bz2와 같은 압축된 보관 파일을 추출할 때 압축 해제 옵션을 지정할 필요가 없습니다. 이 명령은 tar 아카이브를 추출할 때와 동일합니다.

tar -xf archive.tar.gz
tar -xf archive.tar.bz2

 

 

 

Tar Archive에서 특정 파일 추출

전체 아카이브를 추출하는 대신 일부 파일만 추출해야 하는 경우도 있습니다.

tar 아카이브에서 특정 파일을 추출하려면 아카이브 이름 뒤에 추출할 파일 이름 목록을 공백으로 구분하여 추가합니다.

tar -xf archive.tar file1 file2

 

 

파일을 추출할 때 --list(-t)에서 인쇄한 경로와 같은 정확한 이름을 제공해야 합니다.

아카이브에서 하나 이상의 디렉터리를 추출하는 것은 파일을 추출하는 것과 같습니다.

tar -xf archive.tar dir1 dir2

 

 

존재하지 않는 파일을 추출하려고 하면 다음과 유사한 오류 메시지가 표시됩니다.

tar -xf archive.tar README

# tar: README: Not found in archive
# tar: Exiting with failure status due to previous errors

 

 

 

와일드카드를 사용하여 Tar Archive에서 파일 추출

와일드카드 패턴을 기반으로 보관에서 파일을 추출하려면 --wildcard 스위치를 사용하여 패턴을 따옴표로 묶어서 셸이 해석하지 못하도록 합니다.

예를 들어 이름이 .js(Javascript 파일)로 끝나는 파일을 추출하려면 다음을 사용할 수 있습니다.

tar -xf archive.tar --wildcards '*.js'

 

 

 

기존 Tar Archive에 파일을 추가

기존 tar 아카이브에 파일 또는 디렉터리를 추가하려면 --append(-r) 작업을 사용합니다.

예를 들어 archive.tar에 new file이라는 파일을 추가하려면 다음을 실행합니다.

tar -rvf archive.tar newfile

 

 

 

Tar Archive에서 파일 제거

--delete 작업을 사용하여 보관에서 파일을 제거합니다.

다음 예제는 archive.tar에서 file1을 제거하는 방법을 보여 줍니다.

tar --delete -f archive.tar file1

 

반응형