리눅스에서 Tar 명령어 예제 18가지

리눅스의 “tar“는 테이프 아카이브를 의미하며, 많은 리눅스/유닉스 시스템 관리자가 리눅스에서 테이프 드라이브 백업을 처리하는 데 사용합니다.

리눅스에서 tar 명령은 파일 및 디렉토리 모음을 하나의 고도로 압축된 아카이브 파일로 추출하는 데 사용되며, 이러한 파일은 일반적으로 tarball 또는 tar, gzip, 그리고 bzip이라고 불립니다.리눅스.

tar는 가장 널리 사용되는 명령어로, 쉽게 하나의 디스크에서 다른 디스크로 또는 기계에서 다른 기계로 쉽게 이동할 수 있는 압축된 아카이브 파일을 생성합니다.

tar – A Linux Archiving Utility

이 기사에서는 다양한 tar 명령어 예제를 검토하고 논의할 것입니다. 이 예제에는 (tar, tar.gz, 그리고 tar.bz2) 압축을 사용하여 아카이브 파일을 생성하는 방법, 아카이브 파일을 추출하는 방법, 단일 파일을 추출하는 방법, 파일 내용을 보는 방법, 파일을 확인하는 방법, 기존 아카이브 파일에 파일 또는 디렉토리를 추가하는 방법, tar 아카이브 파일의 크기를 추정하는 방법 등이 포함됩니다.

이 안내서의 주요 목적은 당신이 이해하고 tar 아카이브 조작에 숙련되는 데 도움이 될 수 있는 다양한 tar 명령 예제를 제공하는 것입니다.

1. Tar 아카이브 파일 생성

아래 예제에서 tar 명령어는 현재 작업 디렉토리에 tecmint-17-11-2023.tar라는 이름의 tar 아카이브 파일을 /home/tecmint 디렉토리에 대해 생성합니다.

실제 tar 명령어 예제를 확인하세요.

tar -cvf tecmint-17-11-2023.tar /home/tecmint/
Create a Tar Archive File

위의 tar 명령어에서 사용된 각 옵션에 대해 알아보겠습니다.

  • c – Creates a new .tar archive file.
  • v – Verbosely show the .tar file progress.
  • f – File name type of the archive file.

2. 압축된 Tar 아카이브 생성

압축된 아카이브 파일을 만들려면 'z' 옵션을 사용합니다 (gzip을 사용하여 아카이브를 압축합니다). 예를 들어, 아래 명령은 디렉토리 ‘/home/MyImages‘에 대한 압축 파일인 'MyImages-17-11-2023.tar.gz'를 생성합니다. (참고: 'tar.gz''tgz'는 서로 바꿔 사용할 수 있는 용어입니다).

tar cvzf MyImages-17-11-2023.tar.gz /home/tecmint/MyImages
OR
tar cvzf MyImages-17-11-2023.tgz /home/tecmint/MyImages
Create a Compressed Tar Archive

3. 리눅스에서 tar.bz2 파일 만들기

bz2 기능은 gzip보다 크기가 작은 아카이브 파일을 압축하고 생성합니다. 그러나 bz2 압축 방법은 압축 및 압축 해제 모두에 더 많은 시간이 필요하며, gzip은 두 프로세스 모두에서 더 빠릅니다.

모든 파일과 하위 디렉토리를 번들로 묶어 /home/php 디렉토리 내에 새로운 고압축 tar 아카이브인 Phpfiles-org.tar.bz2를 생성하려면 -j 옵션을 사용하십시오. 이 옵션은 tarbzip2 압축 알고리즘을 사용하여 더 작은 파일 크기를 얻도록 지시합니다.

참고: tar.bz2tbztb2를 가리키는 유사한 용어입니다.

tar cvfj Phpfiles-org.tar.bz2 /home/tecmint/php
OR
tar cvfj Phpfiles-org.tar.tbz /home/tecmint/php
OR 
tar cvfj Phpfiles-org.tar.tb2 /home/tecmint/php
Create a tar.bz2 file Linux

4. Tar 아카이브 추출

tar 파일을 푸는 방법은 간단히 다음 명령을 실행하면 됩니다. 'x' 옵션(추출)을 사용하십시오. 예를 들어, 아래 명령은 현재 작업 디렉토리에서 ‘tecmint-17-11-2023.tar’라는 파일을 풀 것입니다.

tar -xvf tecmint-17-11-2023.tar

다른 디렉토리에서 풀고 싶다면 -C 옵션(지정된 디렉토리)을 사용하십시오.

tar -xvf tecmint-17-11-2023.tar -C /home/tecmint/

5. 압축된 tar.gz 아카이브 풀기

압축된 tar 아카이브 파일인 “MyImages-17-11-2023.tar.gz”의 내용을 풀려면 다음 명령을 사용하십시오.

tar -xvf MyImages-17-11-2023.tar.gz

다른 디렉토리에서 풀고 싶다면, 옵션 -C을 사용하여 지정된 디렉토리로 파일을 풀 수 있습니다.

tar -xvf MyImages-17-11-2023.tar.gz -C /home/tecmint/

6. tar.bz2 아카이브 풀기

높은 압축률을 가진 tar.bz2 파일을 압축 해제하려면 아래 명령을 사용하십시오. 이 명령은 아카이브 파일에서 모든 파일을 풀 것입니다.

tar -xvf Phpfiles-org.tar.bz2

7. tar 아카이브 내용 나열하기

tar 아카이브 파일의 내용을 나열하거나 보려면, 다음 명령을 실행하십시오. -t 옵션(내용 나열)을 사용하면 ‘tecmint-17-11-2023.tar’ 아카이브에 포함된 파일과 디렉토리의 자세한 목록이 표시됩니다.

tar -tvf tecmint-17-11-2023.tar
View Tar Contents Without Extracting

8. tar.gz 아카이브 내용 보기

다음 명령어는 “MyImages-17-11-2023.tar.gz” 아카이브 내에 포함된 파일과 디렉터리의 상세 목록을 표시합니다.

tar -tvf MyImages-17-11-2023.tar.gz
View Tar.gz Contents Without Extracting

9. tar.bz2 아카이브 내용 출력

다음 명령어는 파일을 추출하지 않고 “Phpfiles-org.tar.bz2” 아카이브 내용을 개요로 제공합니다.

tar -tvf Phpfiles-org.tar.bz2
View Tar Contents Without Extracting

10. 아카이브에서 단일 파일 추출

“Phpfiles-org.tar.bz2” 아카이브에서 wp-cron.php 파일 하나를 추출하려면 다음 명령어를 사용하십시오. 추출하려는 파일에 올바른 경로를 제공해야 합니다.

tar -xvf Phpfiles-org.tar.bz2 home/tecmint/php/wp-cron.php
Extract File From Tar Archive

11. 아카이브에서 여러 파일 추출

tar, tar.gz, tar.bz2 아카이브 파일에서 여러 파일을 추출하려면 다음 명령어를 사용하십시오. 이 명령어는 지정된 아카이브 파일에서 파일을 추출합니다.

tar -xvf tecmint-17-11-2023.tar "file1" "file2" 
tar -zxvf MyImages-17-11-2023.tar.gz "file1" "file2" 
tar -jxvf Phpfiles-org.tar.bz2 "file1" "file2"

12. Linux에서 와일드카드를 사용하여 파일 그룹 추출

특정 파일 그룹을 추출하려면 와일드카드를 기반으로 추출합니다. 예를 들어, .php로 시작하는 모든 파일 그룹을 tar, tar.gz, tar.bz2 아카이브 파일에서 추출하려면 다음을 사용하십시오:

tar -xvf Phpfiles-org.tar --wildcards '*.php'
tar -zxvf Phpfiles-org.tar.gz --wildcards '*.php'
tar -jxvf Phpfiles-org.tar.bz2 --wildcards '*.php'

13. 기존 아카이브에 파일 추가

기존 tar, tar.gz, tar.bz2 아카이브 파일에 파일이나 디렉터리를 추가하려면 옵션 -r을 사용하십시오. 이렇게 하면 파일이 기존 아카이브 파일에 추가됩니다.

tar -rvf tecmint-14-09-12.tar xyz.txt
tar -rvf MyImages-14-09-12.tar.gz xyz.txt
tar -rvf Phpfiles-org.tar.bz2 xyz.txt

14. Tar 아카이브 파일 확인

다음 명령은 지정된 아카이브 파일에 포함된 파일과 디렉터리의 상세 목록을 표시하여 아카이브의 내용을 시각적으로 확인할 수 있습니다. 아카이브가 손상되거나 불완전한 경우 이 확인 과정을 통해 목록 작성 중에 오류가 발생할 수 있습니다.

tar -tvf Phpfiles-org.tar.bz2

15. Tar 아카이브 파일 크기 확인

아무 tar, tar.gz, tar.bz2 아카이브 파일의 크기를 확인하려면 다음 명령을 사용하십시오. 이 명령은 아카이브 파일의 크기를 킬로바이트 (KB) 단위로 표시합니다.

tar -czf - tecmint-14-09-12.tar xyz.txt | wc -c
tar -czf - MyImages-14-09-12.tar.gz xyz.txt | wc -c
tar -czf - Phpfiles-org.tar.bz2 xyz.txt | wc -c

16. Tar 아카이브 생성 시 파일 제외하기

특정 파일 및 디렉터리를 tar 아카이브 파일을 만들 때 제외하려면 다음 명령어를 사용할 수 있습니다. --exclude 옵션을 사용하여 아래와 같이 tar 아카이브 파일을 만들 때 파일과 디렉터리를 제외할 수 있습니다.

tar --exclude='file1.txt' -zcvf backup.tar.gz /home/tecmint
tar --exclude='/home/tecmint/uploads' -zcvf backup.tar.gz /home/tecmint

위 명령어에서는 ‘file1.txt’ 파일과 ‘uploads’ 디렉터리를 /home/tecmint 폴더에서 제외했습니다.

특정 파일 확장자(.txt)를 가진 파일을 tar 아카이브 파일을 만들 때 제외하려면 다음을 사용하십시오:

tar --exclude='*.txt' -zcvf backup.tar.gz /home/tecmint

17. Tar 아카이브에서 파일 제거

다음 tar 명령어는 --delete 옵션을 사용하여 이미 만들어진 tar 파일에서 파일 또는 디렉터리를 삭제합니다.

tar --delete -f backup.tar.gz file1.txt
tar --delete -f backup.tar.gz '/home/tecmint/uploads'

18. Tar 아카이브에서 파일 확장자 추출

다음 tar 명령어는 --wildcards 옵션을 사용하여 tar 아카이브 파일에서 특정 확장자(.png)를 가진 파일만 추출합니다.

tar -xvf backup.tar.gz --wildcards '*.png'

19. Tar 명령어 사용 및 옵션

‘tar’ 명령어의 다양한 옵션과 사용 패턴을 이해하는 것은 효율적인 파일 아카이빙, 압축 및 추출을 위해 필수적입니다.

  • -c – 아카이브 파일 생성.
  • -x – 아카이브 파일 추출.
  • -v – 아카이브 파일의 진행 상황을 표시합니다.
  • -f – 아카이브 파일의 파일 이름입니다.
  • -t – 아카이브 파일의 내용을 보는 것입니다.
  • -u – 기존 아카이브 파일에 아카이브를 추가합니다.
  • -j – 아카이브를 bzip2를 통해 필터링합니다.
  • -z – 아카이브를 gzip을 통해 필터링합니다.
  • -r – 기존 아카이브 파일에 파일이나 디렉토리를 추가하거나 업데이트합니다.
  • -W – 아카이브 파일을 확인합니다.
  • -A – 아카이브 파일을 연결합니다.
  • --wildcards – UNIX tar 명령어에서 패턴을 지정합니다.
  • --exclude – 아카이브를 생성할 때 파일과 디렉토리를 제외합니다.
  • --delete – 아카이브에서 파일과 디렉토리를 제거합니다.

지금까지입니다. 위의 tar 명령어 예제가 여러분이 배울 데로 충분했기를 바랍니다. 더 많은 정보는 man tar 명령어를 사용해주세요.

# man tar

큰 tar 아카이브 파일을 여러 부분이나 블록으로 나누려면 이 기사를 참고하세요:

만약 우리가 놓친 예제가 있다면 댓글 상자를 통해 공유해주세요. 그리고 이 기사를 친구들과 공유하는 것을 잊지 마세요. 이것이 감사의 최고의 방법입니다…

Source:
https://www.tecmint.com/tar-command-examples-linux/