IT's Life/Linux

자세한 Linux tar 패키지 명령

나선풍 2019. 8. 11. 10:21

Linux 시스템에서 가장 일반적인 아카이브 (패키지) 명령은 tar입니다.이 명령은 아카이브를 위해 단일 파일 또는 디스크에 많은 파일을 함께 저장합니다. 뿐만 아니라이 명령은 아카이브 파일에서 필요한 파일을 복원 할 수 있으며, 이는 압축 해제라고하는 패키징의 역 프로세스입니다.

tar 명령으로 보관 된 패키지는 종종 tarballs (tarball 파일은 모두 ".tar"로 끝남)이라고합니다.


포장 작업을 수행하는 Tar 명령

tar 명령이 패키징 작업에 사용되는 경우 명령의 기본 형식은 다음과 같습니다.

[root @ localhost ~] #tar [옵션] 소스 파일 또는 디렉토리

이 명령에 일반적으로 사용되는 옵션과 각각의 의미가 표 1에 나와 있습니다.


표 1 tar 패키지 명령 공통 옵션 및 의미

옵션 

의미 

-c 

여러 파일 또는 디렉토리를 압축하십시오. 

-A 

tar 파일을 아카이브 파일에 추가하십시오. 

-f 패키지 이름 

 패키지의 파일 이름을 지정합니다. 패키지의 확장자는 관리자에게 형식을 식별하는 데 사용되므로 확장자를 올바르게 지정하십시오.

 -v

패키지 파일 프로세스를 표시합니다. tar 명령으로 옵션을 지정할 때 옵션 앞에 "-"를 입력 할 수 있습니다. 예를 들어 "cvf"옵션을 사용하면 "-cvf"와 동일한 효과가 있습니다.  

다음은 tar 명령을 사용하여 파일 및 디렉토리를 패키지하는 방법을 보여주는 몇 가지 예입니다. 


[예 1] 패키지 파일 및 디렉토리.

[root @ localhost ~] # tar -cvf anaconda-ks.cfg.tar anaconda-ks.cfg # 

anacondehks.cfg.tar 파일로 패키지 anacondehks.cfg

옵션 "-cvf"는 일반적으로 관용구입니다. 패키지화 한 후 파일 이름을 지정하고 ".tar"를 확장자로 사용하십시오. 패키지 디렉토리의 경우에도 마찬가지입니다.

[root @ localhost ~] # ll -d test / 

drwxr-xr-x 2 root root 4096 6 월 17 일 21:09 test / 

#test는 이전 테스트 디렉토리입니다. 

[root @ localhost ~] # tar -cvf test.tar test / 

test / 

test / test3 

test / test2 

test / test1 

# test.tar 파일에 디렉토리 

압축 tar 명령은 공백으로 구분 된 여러 파일 또는 디렉토리를 패키지화 할 수도 있습니다. 예를 들면 다음과 같습니다. 

[root @ localhost ~] # tar -cvf ana.tar anaconda-ks.cfg / tmp / # 

anaconda-ks.cfg 파일과 / tmp 디렉토리를 ana.tar 파일 패키지에 포장하십시오.


[예 2] 디렉토리를 패키징하고 압축하십시오. 

먼저 compression 명령으로 디렉토리를 직접 압축 할 수 없음을 선언하십시오 .gzip 명령 또는 bzip2 명령으로 패키지 파일을 압축하려면 먼저 tar 명령으로 디렉토리를 패키지해야합니다. 예를 들면 다음과 같습니다.

[root @ localhost ~] #ll -d test test.tar 

drwxr-xr-x 2 root root 4096 6 월 17 일 21:09 test 

-rw-r--r-- 1 root root 10240 6 월 18 일 01:06 테스트 .tar 

# 이미 테스트 디렉토리를 test.tar 파일 

[root @ localhost ~] # gzip test.tar

[root @ localhost ~] # ll test.tar.gz 

-rw-r--r-- 1 루트 로 이전에 패키지했습니다. 루트 176 6 월 18 일 01:06 test.tar.gz 

#gzip 명령은 test.tar를 test.tar.gz로 압축합니다.


패키징 작업을 수행하는 Tar 명령

tar 명령을 사용하여 tarball의 압축을 풀 때 명령의 기본 형식은 다음과 같습니다.

[root @ localhost ~] #tar [옵션] tarball

포장 풀기에 사용될 때 일반적으로 사용되는 옵션과 의미가 표 2에 나와 있습니다.


표 2 tar 솔루션 패키지 공통 옵션 및 의미

옵션

의미 

 -x

타르 패키지 포장 풀기. 

 -f

압축 해제 할 tarball의 패키지 이름을 지정합니다. 

 -t

 tar 패키지에있는 파일 또는 디렉토리 만 확인하고 tar 패키지의 압축을 풀지 마십시오.

-C 

 디렉토리 포장 풀기 위치를 지정하십시오. 

 -v

포장 풀기의 특정 프로세스를 보여줍니다. 

실제로 패키징 및 패키징에 비해 패키징 옵션 "-cvf"를 "-xvf"로 바꾸십시오. 시도해 봅시다 :

[root @ localhost ~] # tar -xvf anaconda-ks.cfg tar # 

현재 디렉토리로 압축 해제

"-xvf"옵션을 사용하면 패키지의 파일이 현재 디렉토리로 추출됩니다. 압축 해제 위치를 지정하려면 "-C (대문자)"옵션을 사용해야합니다. 예를 들면 다음과 같습니다.

[root @ localhost ~] # tar -xvf test.tar -C / tmp # 

test.tar 패키지를 / tmp / 디렉토리에 패키지

패키지에있는 파일 만 보려면 압축 풀기 옵션 "-x"를 테스트 옵션 "-t"로 바꿀 수 있습니다. 예를 들면 다음과 같습니다.

[root @ localhost ~] # tar -tvf test.tar 

drwxr-xr-x root / root 0 2016-06-17 21:09 test / 

-rw-rr-root / root 0 2016-06-17 17:51 테스트 / test3 

-rw-rr- 루트 / 루트 0 2016-06-17 17:51 test / test2 

-rw-rr- 루트 / 루트 0 2016-06-17 17:51 test / test1 

# 테스트는 긴 형식으로 표시됩니다. tar 패키지의 파일 세부 사항


패키지 압축 (압축 풀기) 작업을 수행하는 Tar 명령

리눅스가 너무 지능적이지 않고 패키지 압축이고 실제로 ".tar"형식으로 패키지 된 다음 ".tar.gz"또는 ".tar.bz2"형식으로 압축되었다고 생각할 수 있습니다. 실제로 tar 명령은 동시에 패키지화 및 압축 될 수 있지만, 이전 설명은 Linux에서 패키지화와 압축의 차이점을 모든 사람에게 알리기 위해 별도로 패키지화 및 압축됩니다. 

tar 명령이 동시에 패키지 압축 작업을 수행 할 때 기본 형식은 다음과 같습니다.

[root @ localhost ~] #tar [옵션] 압축 패키지 소스 파일 또는 디렉토리

여기에서 일반적으로 사용되는 두 가지 옵션은 다음과 같습니다.

-z : ".tar.gz"형식을 압축 및 압축 해제합니다.

-j : ".tar.bz2"형식을 압축 및 압축 해제하십시오.


[예 1] ".tar.gz"형식을 압축 및 압축 해제하십시오.

[root @ localhost ~] # tar -zcvf tmp.tar.gz / tmp / # 

/ temp / 디렉토리를 ".tar.gz"형식으로 직접 복사 하고 "-z", "-cvf"및 일관된 포장 옵션

압축 풀기 옵션 "-xvf"앞에 "-z"옵션이 있습니다.

[root @ localhost ~] # tar -zxvf tmp.tar.gz # 

". tar.gz"형식의 압축을 풀고 압축을 풉니 다

위에서 언급 한 "-C"옵션은 압축 해제 위치를 지정하는 데 사용되고 "-t"는 아카이브의 내용을 보는 데 사용됩니다. 


[예 2] ".tar.bz2"형식을 압축 및 압축 해제하십시오. 

".tar.gz"형식과의 유일한 차이점은 "-zcvf"옵션이 다음과 같이 "-jcvf"로 대체된다는 것입니다.

[root @ localhost ~] # tar -jcvf tmp.tar.bz2 / tmp / # 

패키지는 ".tar.bz2"형식으로 압축되었습니다. 압축 된 패키지 파일 이름 

[root @ localhost ~] # tar -jxvf tmp.tar.bz2 

# 압축 해제 ".tar.bz2"형식

".tar.gz"및 ".tar.bz2"형식으로 파일을 직접 압축하는 것은 Linux에서 가장 일반적인 압축 방법이며 모든 사람이 마스터해야하는 압축 및 압축 해제 방법입니다. 

tar 명령은 원래 테이프에 백업을 작성하는 데 사용되었으며 이제 모든 장치에서 작성할 수 있습니다. tar 명령을 사용하면 많은 수의 파일과 디렉토리를 하나의 파일로 패키징 할 수 있습니다. 이는 파일을 백업하거나 네트워크 전송을 위해 여러 파일을 하나의 파일로 결합하는 데 매우 유용합니다.