타르를 사용합니다. Linux에서 파일 보관

/ 프로그램 설치

Linux의 “tar” 명령은 파일과 디렉터리의 아카이브를 만드는 데 사용됩니다. “tar” 명령을 사용하면 다음 형식의 아카이브 파일을 생성할 수 있습니다: “ .타르“, “.tar.gz“, “.tar.bz2" 그들은 “ 타르볼“, “gizp“, “bzip"브이. Tar는 크로스 플랫폼 환경에서 널리 사용되는 ZIP보다 더 유연합니다.

우리는 보여줄 것이다 tar 명령 예이 기사에서.

먼저, 명령에 사용할 수 있는 옵션 수를 살펴보세요.

기본 작동 모드:

  • -A, -catenate, -concatenate tar 아카이브에 파일 추가
  • -c, -create 새 아카이브 생성
  • -d, -diff, -compare 아카이브와 파일 시스템 간의 차이점을 찾습니다.
  • -delete 아카이브에서 삭제합니다(자기 테이프에는 없습니다!).
  • -r, -append 아카이브 끝에 파일 추가
  • -t, -list 목록 아카이브 내용
  • -test-label 아카이브 및 출력 볼륨 레이블 확인
  • -u, -update는 아카이브에 최신 파일만 추가합니다.
  • -x, –extract, –아카이브에서 추출 파일 가져오기

압축 옵션:

  • -a, -auto-compress 접미사 아카이브를 사용하여 프로그램 압축을 결정합니다.
  • -I, –use-compress-program=PROG를 통한 PROG 필터(-d를 허용해야 함)
  • -j, -bzip2 bzip2를 통한 보관 필터
  • -J, -xz XZ를 통한 필터 보관
  • -Lzip을 통한 lzip 필터 보관
  • -lzma를 통한 lzma 필터 보관
  • -lzop
  • -no-auto-compress 압축 프로그램을 결정하기 위해 아카이브 접미사를 사용하지 않습니다.
  • -z, -gzip, -gunzip, -ungzip GZIP을 통한 필터 아카이브
  • -Z, -compress, -uncompress 압축을 통해 아카이브를 필터링합니다.

데모를 위해 설치 프로그램을 선택합니다. 설치 프로그램의 총 크기는 26MB입니다. 제공되는 각 압축 방법의 압축 파일 크기를 확인하겠습니다.

1. tar를 사용하여 파일 아카이브 만들기

Tar 아카이브는 파일과 폴더를 자동으로 압축합니다. 아카이브는 디스크에 저장하거나 다른 디스크로 이동하거나 이메일 첨부 파일로 사용할 수 있습니다.

Tar -caf wordpress.tar 워드프레스/

아카이브 크기가 23MB로 줄어듭니다.

2. tar.gz 파일 아카이브 생성

GZ는 Gunzip의 약자입니다. .tar.gz 아카이브는 효율적인 방식으로 파일과 폴더를 압축할 수 있습니다.

Tar -czf wordpress.tar.gz wordpress/

아카이브 크기가 7.6Mb로 줄어듭니다. 매우 인상적입니다!

# ls -lh -rw-r--r-- 1 루트 루트 23M 1월 5일 22:09 wordpress.tar -rw-r--r-- 1 루트 루트 7.6M 1월 5일 22:15 wordpress.tar.gz

3. tar.bz2 아카이브 생성

BZIP은 아카이브 파일 크기를 줄이는 데 더 효율적입니다.

Tar -cjf wordpress.tar.bz2 wordpress/

아카이브 크기가 6.9MB로 줄어듭니다.

# ls -lh -rw-r--r-- 1 루트 루트 23M 1월 5일 22:09 wordpress.tar -rw-r--r-- 1 루트 루트 6.9M 1월 5일 22:27 wordpress.tar.bz2 - rw-r--r-- 1 루트 루트 7.6M 1월 5일 22:26 wordpress.tar.gz

4. tar 파일 압축 해제

유용하다면 쉽게 압축을 풀 수 있을 때 모든 아카이브의 편리함과 사용 용이성. 파일의 압축을 푼다 .타르

Tar -xf wordpress.tar 또는 tar -xf wordpress.tar /home/andreyex/extracted

'X'는 언박싱(Unboxing)을 의미합니다.

5. tar.gz 아카이브 파일의 압축을 푼다

tar -xzf wordpress.tar.gz

6. tar.bz2 파일 아카이브 압축 풀기

tar -xjf wordpress.tar.bz2 tar tf wordpress.tar wordpress/ wordpress/wp-blog-header.php wordpress/wp-login.php wordpress/wp-config-sample.php wordpress/wp-admin/ wordpress/wp- 관리자/link-parse-opml.php 워드프레스/wp-admin/ms-upgrade-network.php 워드프레스/wp-admin/themes.php

8. tar 아카이브 파일에서 특정 파일을 압축 해제합니다.

tar -xf wordpress.tar wordpress/wp-config-sample.php

모든 것이 켜져 있습니다 지금은. 이것들은 주요 tar 명령 예유닉스/리눅스에서.

타르 GNU의 아카이버입니다. tar는 여러 파일 및/또는 디렉터리를 가져와서 하나의 큰 파일로 결합합니다. 이를 통해 bzip이나 bzip2로는 불가능한 전체 디렉토리 트리를 압축할 수 있습니다. tar에는 많은 옵션이 있으며 매뉴얼 페이지에 자세히 설명되어 있습니다.

$ man tar tar -xvvf foo.tar extract foo.tar tar -xvvzf foo.tar.gz extract gzipped foo.tar.gz tar -cvvf foo.tar foo/ tar foo.tar의 foo 폴더 내용

일반적으로 사용되는 tar 명령 옵션

    C – 새 아카이브 생성

    X – 아카이브에서 파일 추출

    –delete – 아카이브에서 파일을 삭제(삭제)합니다.

    R – 기존 아카이브에 파일 추가

    A – 기존 아카이브에 tar 파일 추가

    T – 아카이브에 있는 파일 목록(아카이브 내용)

    U – 아카이브 업데이트

    D – 아카이브를 주어진 파일 시스템과 비교하는 작업

    Z – gzip 및 gunzip 사용 예를 사용한 아카이브 처리. -c 또는 -x 스위치의 조합에 따라 압축 또는 압축 해제.

    J – bzip2를 사용한 아카이브 처리. -c 또는 -x 스위치의 조합에 따라 압축 또는 압축 해제.

tar는 주요 작업 중 하나를 의무적으로 표시하여 실행되며, 가장 일반적인 작업은 아카이브 생성 및 압축 풀기이며, 특정 작업에 따라 다른 매개변수가 설정됩니다.

tar의 가장 일반적인 용도는 웹사이트나 FTP 사이트에서 다운로드한 패키지의 압축을 풀고 압축을 푸는 것입니다. 대부분의 파일 확장자는 .tar.gz입니다. 흔히 "tarball"이라고 합니다. 이는 tar로 압축된 다음 gzip으로 압축된 여러 파일을 의미합니다. 기본적으로 이들은 동일한 것이지만 주로 오래된 Unix 시스템에서 발견됩니다.

또한 .tar.bz2 파일을 발견할 수도 있습니다. 커널 소스코드는 다운로드 공간을 덜 차지하기 때문에 이런 형태로 배포됩니다. 이미 짐작하셨겠지만, 이는 tar로 보관되고 bzip으로 압축된 파일입니다.

여러 명령줄 옵션과 함께 tar를 사용하여 이러한 아카이브에서 모든 파일을 추출할 수 있습니다. tarball의 압축 해제는 -z 옵션을 사용하여 수행됩니다. 이는 파일을 먼저 gunzip을 통해 실행한 다음 압축을 풀어야 함을 의미합니다. 타르볼 압축 풀기:

% tar -xvzf file.tar.gz

여기에는 꽤 많은 옵션이 있습니다. 무슨 뜻인가요? -x 옵션은 추출을 의미합니다. 이는 입력 파일로 수행할 작업을 tar에게 정확하게 알려주기 때문에 중요합니다. 이 경우그것은 다시 "함께 모아진" 파일로 나누어질 것입니다. -v 옵션은 상세 모드를 활성화한다는 의미입니다. 이 경우 아카이브에서 추출된 모든 파일의 이름이 화면에 표시됩니다. 언박싱이 너무 지루해 보이지 않도록 이 옵션을 사용하는 것이 좋을 것 같습니다. 또한 -vv를 사용하여 출력을 더욱 상세하게 만들고 추출되는 파일에 대한 추가 정보를 제공할 수도 있습니다. -z 옵션은 .tar.gz 파일이 먼저 gunzip을 통해 실행되어야 함을 tar에게 알려줍니다. 그리고 마지막으로 -f 옵션은 tar에게 다음 줄이 있음을 알려줍니다. 명령줄- 작업에 필요한 파일입니다.

동일한 명령을 작성하는 방법에는 여러 가지가 있습니다. 적절한 GNU tar 복사본이 없는 이전 시스템에서는 동일한 명령에 대해 다음 항목이 표시될 수 있습니다.

% gunzip file.tar.gz | 타르 -xvf -

이 명령에서는 파일의 압축이 먼저 풀리고 결과가 tar로 전송됩니다. 왜냐하면 gzip은 기본적으로 출력을 stdout에 기록하며, 이 명령은 압축 해제된 파일을 stdout에 기록합니다. 그런 다음 파이프라인은 압축 해제를 위해 이 스트림을 tar로 전달합니다. "-" 기호는 데이터가 다음에서 가져옴을 의미합니다. 표준 입력. 이 명령은 gzip에서 얻은 데이터 스트림의 압축을 풀고 디스크에 씁니다.

원래 명령을 작성하는 또 다른 방법은 옵션 앞에 있는 "-" 기호를 제거하는 것입니다.

% tar xvzf file.tar.gz

Slackware Linux에서 제공되는 tar 버전은 gzip 압축 아카이브와 동일한 방식으로 작동할 수 있습니다. -z 옵션 대신 -j를 사용해야 합니다.

% tar -xvjf file.tar.bz2

tar는 아카이브에서 추출된 파일을 현재 디렉터리에 저장합니다. 따라서 /tmp에 홈 디렉터리로 추출하려는 아카이브가 있는 경우 몇 가지 옵션이 있습니다. 첫 번째는 아카이브를 홈 디렉토리로 이동한 다음 tar를 사용하여 확장할 수 있다는 것입니다. 둘째, 명령줄에서 아카이브 경로를 지정할 수 있습니다. 셋째, -C 옵션을 사용하여 이 옵션 다음에 지정된 디렉토리에 tarball의 압축을 풀 수 있습니다.

% cd $HOME % cp /tmp/file.tar.gz . % tar -xvzf file.tar.gz % cd $HOME % tar -xvzf /tmp/file.tar.gz % cd / % tar -xvzf /tmp/file.tar.gz -C $HOME

위 항목은 모두 동일합니다. 각각의 아카이브는 홈 디렉터리로 확장되고 원본 압축 아카이브는 그대로 유지됩니다.

그렇다면 아카이브를 만들 수 없는데 압축을 풀 수 있다면 무슨 소용이 있을까요? tar도 이것을 할 수 있습니다. 대부분의 경우 "-x" 옵션을 "-c"로 간단히 바꿀 수 있습니다.

% tar -cvzf file.tar.gz .

이 명령에서 -c 옵션은 tar에게 아카이브를 생성하도록 지시하고, -z 옵션은 결과 아카이브를 압축하기 위해 gzip으로 압축합니다. file.tar.gz는 생성할 파일의 이름입니다.

"-f" 옵션을 지정하는 것이 항상 필요한 것은 아니지만 어떤 경우에도 사용하는 것이 더 좋습니다. 이것이 없으면 tar는 다음과 같이 스트림을 다른 프로그램으로 파이프하는 데 일반적으로 사용되는 표준 출력에 데이터를 씁니다.

% tar -cv 파일.tar . | gpg --암호화

이 명령은 현재 디렉토리의 내용으로 압축되지 않은 타르볼을 생성한 다음 gpg 프로그램을 통해 타르볼을 실행합니다. gpg 프로그램은 아카이브를 암호화하고 압축하여 개인 키가 없는 사람이 이를 읽을 수 없도록 만듭니다.

SSH를 통해 타르

원본 컴퓨터와 대상 컴퓨터가 LAN 또는 WAN을 통해 연결된 경우 시간을 절약하기 위해 SSH(Secure Shell) 및 tar 사용을 결합하여 파일을 한 번에 보관, 복사 및 추출할 수 있습니다. 수행 방법은 다음과 같습니다.

$ (cd ~/stuff; tar --create --gzip --file - *) | \ ssh 대상 tar --extract --gunzip --file --verbose -C 물건

이 명령은 여러 작업을 동시에 수행합니다. 그것을 분석해 봅시다:

    괄호로 묶인 일련의 명령을 서브쉘이라고 합니다. 디렉토리 변경과 같이 서브셸에서 변경된 사항은 명령 전체에 영향을 주지 않고 서브셸 환경에만 영향을 미칩니다. 따라서 첫 번째 이스케이프 시퀀스 - (cd ~/stuff; tar –create –gzip –file - *)는 현재 작업 디렉터리를 ~/stuff로 변경한 다음 tar를 실행합니다. 서브셸 뒤에는 파이프로의 리디렉션이 따르므로 서브셸의 모든 결과는 다음 명령으로 전송됩니다.

    다른 많은 UNIX 유틸리티와 마찬가지로 tar는 표준 출력(stdout)에 쓸 수 있고 표준 입력(stdin)에서 읽을 수 있습니다. stdout과 stdin은 모두 일반적으로 하이픈(-)으로 표시됩니다. 따라서 –create –file 명령은 stdout에 아카이브를 생성합니다.

    채널(|)은 하위 쉘의 모든 결과를 ssh 유틸리티로 전송하고, 이 유틸리티는 필요한 모든 데이터를 원본 컴퓨터에서 원격 컴퓨터로 전송합니다.

    마지막으로 원격 컴퓨터는 tar 유틸리티의 자체 인스턴스를 실행하여 아카이브에서 데이터를 추출합니다. 이제 –extract –file은 표준 입력에서 아카이브를 읽습니다. -C 옵션은 압축 해제 작업을 시작하기 전에 대상 시스템의 tar가 현재 작업 디렉터리를 stuff로 변경하도록 강제합니다. 일반적으로 이 명령의 최종 결과는 ssh를 통해 아카이브를 전송하고 ~/stuff에 압축을 푸는 것입니다.

따라서 하나의 명령을 사용하여 아카이브가 생성되고 전송되고 압축이 풀렸습니다. 그런데 이 명령을 약간 변경하면 원격 컴퓨터의 아카이브를 로컬 컴퓨터로 복사하고 압축을 풀 수 있습니다. 이를 위해 실행해야 하는 명령은 다음과 같습니다. 로컬 컴퓨터:

$ SSH 대상 고양이 archive.tgz | \ (cd ~/stuff; tar --extract --gunzip --file -)

보관 대상 원격 컴퓨터그러면 cat의 바이트 스트림이 중첩된 셸로 전송되어 작업 디렉터리가 변경되고 아카이브가 추출됩니다. (tar 명령에 -C ~/stuff를 추가하면 동일한 결과가 생성됩니다. 예제에서는 하위 쉘이 입력도 처리할 수 있다는 것만 보여줍니다.)

타르 제외

-들어오지 못하게 하다패턴(-W 제외=패턴) 지정된 패턴과 일치하는 파일이나 디렉터리를 처리하지 않습니다. 예외는 명령줄에 지정된 패턴이나 파일 이름보다 우선합니다.

    예: tar를 아카이브할 때 테스트 디렉터리 tar -czf test1.tar.gz --exclude=".svn" test/에서 하위 디렉터리 .svn을 제외합니다.

    예시: 현재 디렉터리를 아카이브하고 압축할 때 gzip, gunzip 사용 예시, 확장자가 .tar.gz .iso .deb .py $ tar -czf test.tar.gz *.* --exclude="*인 파일을 제외합니다. tar.gz " --exclude="*.iso" --exclude="*.deb" --exclude="*.zip" --exclude="*.py"

액세스 권한이 보존된 tar

접근 권한을 유지하면서 아카이브를 생성하세요. -p, –preserve-permissions, –same-permissions 스위치는 파일 액세스 권한에 대한 정보를 검색합니다(수퍼유저의 경우 기본값).

Tar -cvpf archive.tar.gz dir1

접근권한을 유지하면서 아카이브 압축을 푼다

Tar -xvpf archive.tar.gz

원하는 디렉토리에 tar 추출

아카이브를 원하는 디렉토리에 압축을 풀려면 -C 키를 사용하십시오.

# man tar ... -C 디렉토리 c 및 r 모드에서는 다음 파일을 추가하기 전에 디렉토리를 변경합니다. x 모드에서는 아카이브를 연 후 아카이브에서 항목을 추출하기 전에 디렉터리를 변경합니다. ...

예를 들어, 이 예제는 FreeBSD에 대해 테스트되었습니다.

# tar -xvf /usr/home/darkfire/backup.ns.server.254/usr/ports/distfiles.tar -C /usr/ports/

tar 분할 아카이브를 여러 부분으로 분할

분할 -b 1000m distfiles.tar distfiles.split.tar

결과적으로 다음과 같은 많은 파일을 얻게 됩니다.

Distfiles.split.taraa distfiles.split.tarab distfiles.split.tarai

100m는 100MB를 의미합니다. 100k를 쓸 수 있습니다. 100KB가 됩니다. 다음과 같이 다시 합칠 수 있습니다.

고양이 distfiles.split.tar* | 타르 zxvf -

.tar.gz 아카이브를 만드는 방법

tar -cvf 파일.tar /full/path - create.tar

tar -czvf file.tar.gz /full/path - create.tar.gz (아카이브)

tar -cjvf file.tar.bz2 /full/path - create.tar.bz2 (아카이브)

이 예제의 구문은 다음과 같습니다.
tar [-keys] [아카이브 이름] [경로, 무엇을 압축할지]

.tar를 여는 방법(압축 풀기)

압축을 풀려면 .tar를 압축하세요: tar -xvf file.tar.gz

통사론: tar [-keys] [아카이브 이름]

아카이버 키

c - (만들기) 아카이브를 만듭니다.
z – archive.tar.gz를 생성합니다.
j - archive.tar.bz2 생성
x - (eXtract)를 사용하면 아카이브에서 파일을 추출할 수 있습니다.
v - tar 출력을 장황하게 만듭니다. 이는 아카이브에서 발견된 모든 파일이 화면에 표시된다는 의미입니다. 이 옵션을 생략하면 처리 중 정보 출력이 제한됩니다.
f - 필수 옵션입니다. 이것이 없으면 tar는 아카이브 파일 대신 테이프를 사용하려고 합니다.
z - gzip 압축된 아카이브(.gz 확장자 포함)를 처리할 수 있습니다. 이 옵션을 지정하는 것을 잊은 경우 tar는 반대로 압축되지 않은 아카이브에 사용하면 안 됩니다.
t - (테스트) 아카이브의 내용을 봅니다.

Unix 환경에서 명령을 입력하면 키와 기능에 대해 자세히 알아볼 수 있습니다.
[~]# 맨 타르

.tar 파일에 여러 폴더(폴더 및 파일 구조)를 저장할 수 있습니다.
.tar 파일을 보관하기 위해 키와 함께 사용하는 것이 더 좋습니다. 그러면 결과 파일의 확장자는 .tar.gz(gzip 아카이버로 압축된 .tar 파일) 또는 .tar.bz2(다음으로 압축된 .tar 파일)입니다. bzip2).
bzip2가 더 잘 압축되지만 gzip을 사용하는 것이 더 일반적이므로 이 아카이버를 사용하여 압축하는 것이 좋습니다.
WinRAR이 설치되어 있으면 .tar.bz2 및 .tar.gz를 여는 데 문제가 없습니다.

아카이버의 역사

타르(영어 테이프 아카이브) - 비트 스트림 또는 아카이브 파일의 형식과 이러한 아카이브 작업을 위한 기존 Unix 프로그램의 이름입니다. tar 프로그램은 다음에서 표준화되었습니다. POSIX.1-1998, 또한 나중에 POSIX.1-2001. tar 프로그램은 원래 자기 테이프에 아카이브를 만드는 데 사용되었지만 요즘 tar는 배포를 위해 단일 파일 내에 여러 파일을 저장하는 데 사용됩니다. 소프트웨어, 의도된 목적뿐만 아니라 아카이브 생성 파일 시스템. 아카이브 생성 시 tar 형식의 장점 중 하나는 디렉토리 구조, 소유자 및 그룹에 대한 정보가 아카이브에 기록된다는 것입니다. 별도의 파일, 파일 타임스탬프도 포함됩니다.
다른 Unix 유틸리티와 마찬가지로 tar도 전문 프로그램는 "한 가지 일만 한다"(아카이브 작업), "그러나 그것을 잘한다"는 유닉스 철학을 따른다. 따라서 tar는 압축된 아카이브를 생성하지 않지만 외부 유틸리티, 예를 들어 gzip 및 bzip2. 이전에는 압축 유틸리티도 압축에 사용되어 사실상 사용되지 않았습니다.

메모

상당히 늦은 표준화로 인해 유사하지만 완전히 호환되지 않는 형식이 여러 가지 있습니다. 특히, 암소 비슷한 일종의 영양타르와 썬 솔라리스 tar는 아카이브에 포함된 파일 이름의 길이가 100자를 초과하거나 아카이브에 포함된 파일의 크기가 8GB를 초과하는 경우 관찰됩니다.

파일 이름 확장자

tar 아카이브가 포함된 파일의 경우 일반적으로 다음 파일 이름 확장자가 사용됩니다.

타르 아카이브:
.타르

gzip으로 압축된 tar 아카이브:
.tar.gz
.tgz(확장자 길이에 대한 파일 시스템 제한의 경우)
.tar.gzip

bzip2로 압축된 tar 아카이브
.tar.bz2
.tar.bzip2
.tbz2
.tb2
.tbz

압축으로 압축된 tar 아카이브
.tar.Z
.taz

LZMA 프로그램으로 압축된 tar 아카이브
.tar.lzma

XZ 프로그램으로 압축된 tar 아카이브
.tar.xz

lzop로 압축된 tar 아카이브

Linux의 tar 유틸리티는 여러 파일을 하나로 결합(압축), 즉 아카이브를 생성하도록 설계되었습니다. 이는 아카이브 작업을 위한 좋은 기능을 갖고 있으며 파일 속성과 파일 시스템 구조를 유지하면서 파일(아카이브 또는 tar 파일)을 한 장치에서 다른 장치(테이프 장치 포함)로 효과적으로 이동할 수 있습니다. 이 모든 기능을 통해 유틸리티를 백업 구성을 위한 본격적인 도구로 사용할 수 있습니다. 물론 이러한 목적을 위한 다른 특수 유틸리티도 있습니다. 그러나 덤프와 마찬가지로 시스템 관리자 tar를 처리하는 방법도 알아두면 유용합니다.

tar 유틸리티 사용의 특징

이미 언급한 바와 같이 이 유틸리티는 여러 디렉터리와 파일을 하나의 tar 파일로 결합한 다음 gzip, 압축 또는 bzip2 등을 사용하여 압축할 수 있습니다. 이는 데이터를 백업하고 추가 디스크 공간을 확보해야 할 때 매우 편리합니다. 이 유틸리티는 단기 생성이 필요할 때 자주 사용됩니다. 백업데이터.

GNU가 아닌 버전의 tar 중 대부분은 100자를 초과하는 파일 이름 길이를 지원하지 않으며 여러 테이프에서도 작동하지 않습니다. 따라서 사용 가능한 특정 버전의 유틸리티를 사용하기 전에 공식 기술 문서를 주의 깊게 읽어야 합니다. 이와 같은 자세한 내용은 설명서(man tar 명령)를 참조하세요. 또한 모든 버전의 tar가 기본적으로 심볼릭 링크를 처리하는 것은 아닙니다. 이를 위해 버전마다 다른 스위치가 사용되며 이는 설명서에서도 확인할 수 있습니다. 이 유틸리티는 디렉토리 트리를 빠르게 복사하는 데 매우 적합합니다.

tar 명령 구문 및 옵션

tar 유틸리티의 구문은 다음과 같습니다.

타르 [옵션 ] 이름_보관소 files_for_archive

예를 들어 다음 명령을 사용합니다.

$ tar -cf etc.tar /etc

/etc 디렉토리의 복사본을 etc.tar 아카이브에 만들 수 있습니다. 다음 예에서는 tar 명령을 사용하여 백업하는 일반적인 경우를 보여줍니다. 여기서 -c 옵션은 아카이브 생성을 의미하고, -f는 결과를 파일로 출력한다는 의미입니다. tar -cf의 출력 스트림을 입력으로 사용하는 명령의 두 번째 부분에서 -x(추출) 옵션은 tar에 아카이브 내용을 추출하도록 지시하고 -p는 파일 액세스 모드에 대한 정보를 저장하도록 지시합니다. -b 옵션도 있습니다. 이 옵션을 사용하면 블록 결합 비율을 설정할 수 있으며 이는 테이프 장치에 쓸 때 유용합니다. 이는 어떤 경우에는 더 나은 성능을 가능하게 합니다. 최적의 값은 20이지만 실험을 통해 특정 조건에 가장 적합한 옵션을 찾을 수 있습니다. -v 옵션을 사용하면 인쇄할 수 있습니다. 자세한 정보팀 작업의 진행 상황에 대해.

압축 풀기 구문:

타르 [옵션 ] 보관소

예를 들어 다음 명령은

$tar xfv 아카이브.tar

archive.tar를 현재 디렉터리에 압축 해제합니다. 아카이브의 압축을 풀 디렉터리를 지정하려면 -c 스위치를 사용합니다. 예를 들어

$ tar xfv archive.tar -c /var

다음은 tar 명령 옵션의 기본 목록입니다.

-에이, --catenate, --concatenate tar 파일을 아카이브에 첨부
-기음, --create 새 아카이브 만들기
-디, --diff, --compare 아카이브와 파일 시스템 간의 차이점 검색
--삭제아카이브에서 삭제(자기 테이프가 아님!)
-아르 자형, --append 아카이브 끝에 파일 추가
-티, --list 아카이브의 내용을 나열합니다.
--테스트 라벨아카이브 볼륨 레이블 확인 및 종료
-유, --update 최신 파일만 아카이브에 추가
-엑스, --extract, --아카이브에서 파일 추출

명령을 실행할 때 키 앞에 하이픈을 넣을 필요는 없습니다.

타르 예

이미 언급했듯이 압축된 아카이브를 생성하려면 먼저 tar 명령을 사용하여 아카이브 자체를 생성한 다음 이 아카이브를 gzip을 사용하여 압축합니다. 하지만 tar 명령 하나로 이 모든 작업을 수행할 수 있습니다.

$tar -cvzf archive.tgz *

결과적으로 생성되게 됩니다. 압축 gzip archive.tgz 아카이브, gzip을 사용하고 z 옵션 덕분에 압축됩니다. "*" 기호는 현재 디렉터리의 모든 항목이 보관됨을 나타냅니다. 대상 아카이브 archive.tgz도 여기에 생성됩니다. z 옵션 대신 해당 압축 알고리즘(LZV, xz 및 bzip2)을 지정하는 다른 Z, J, j를 지정할 수 있습니다.

만약을 대비해 백업을 생성하기 전에 루트 디렉터리 "/"로 이동하는 것이 좋습니다. 유틸리티는 파일 이름/경로에서 첫 번째 "/" 문자를 제거하므로 나중에 아카이브의 정보가 올바르게 복원되지 않을 수 있습니다.

(테이프에) 백업하는 경우 다음 명령을 사용할 수 있습니다.

$ cd / $ tar -cpf /dev/st0 --label="`날짜 "+%d-%B-%Y"`에 백업합니다." -C /집

보시다시피 여기서는 테이프 장치인 /dev/st0이 아카이브 이름으로 사용됩니다. 따라서 아카이브를 식별하려면 특정 아카이브에 대한 설명을 지정하는 --label 옵션을 사용하는 것이 유용합니다. 역따옴표에는 아카이브가 생성된 날짜/시간에 대한 마스크가 포함되어 있습니다. -C(또는 --directory) 옵션은 백업할 디렉터리를 지정합니다. 증분 아카이브를 수행하려면, 즉 이전 아카이브 이후 변경된 파일만 백업해야 하는 경우 -N 옵션을 사용해야 합니다.

$ cd / $ tar -cpNf /dev/st0 --label="`날짜 "+%d-%B-%Y"`에 백업합니다." -C /집

백업을 생성한 후 -d 옵션을 사용하여 아카이브가 손상되지 않았는지 확인하는 것이 좋습니다.

$ cd / $ tar -dvf /dev/st0

전체 시스템을 백업하려면 다음 명령을 사용할 수 있습니다.

$ cd / $ tar -cpf /sysarchive/system-at-`date "+%d-%B-%Y"`.tar -C / --exclude=proc --exclude=mnt --exclude=archive -- 제외=캐시 --제외=*/lost+found .

여기에서는 --exclude 옵션을 사용하여 아카이브 절차에서 제외해야 하는 디렉터리와 점 문자 "."를 지정합니다. 명령 끝에는 -C 옵션으로 지정한 디렉터리에 있는 모든 디렉터리와 파일을 처리해야 한다는 내용이 표시됩니다. 이 예에서는 이전 예와 달리 tar 파일 자체가 테이프 장치가 아닌 대상 아카이브로 지정된다는 점에 유의해야 합니다.

오류를 발견하면 텍스트 부분을 강조 표시하고 다음을 클릭하세요. Ctrl+Enter.

TAR(테이프 아카이브) 명령은 파일을 아카이브에 저장할 수 있도록 Linux에서 일반적으로 사용되는 명령입니다. 종종 확장자가 .tar.gz 및 .tar.bz2인 파일이 있는데, 이 파일의 tar 아카이브는 각각 gzip 또는 bzip 알고리즘을 사용하여 압축됩니다.

tar 명령 사용

tar 명령은 대부분의 Linux 시스템에서 기본적으로 작동하므로 별도로 설치할 필요가 없습니다. 기본적으로 gzip과 bzip의 두 가지 압축 형식이 있습니다. 문자 "z"는 gzip 옵션을 나타내고 "j" 옵션은 bzip을 나타냅니다. 압축되지 않은 아카이브를 생성할 수도 있습니다.

  1. tar.gz 아카이브 추출 중

가장 일반적으로 사용되는 방법은 tar 아카이브를 추출하는 것입니다. 다음 명령은 tar.gz 아카이브에서 파일을 추출해야 합니다.

$ tar -xvzf tarfile.tar.gzp

다음은 사용된 매개변수에 대한 간단한 설명입니다.
x - 파일 추출
v – 한 번에 하나씩 추출된 파일 이름을 표시합니다.
z는 "압축된" 파일입니다.
f - 악용을 위해 다음 tar 아카이브를 사용합니다.

tar.bz2/bzip 아카이브 추출

bz2 확장자를 가진 파일은 bzip 알고리즘을 사용하여 압축되며 tar 명령으로 이를 처리할 수 있습니다. z 옵션 대신 j 옵션을 사용하십시오.

$ tar -xvjf archivefile.tar.bz2

  1. 특정 디렉터리나 경로로 파일 추출

특정 디렉터리의 파일을 추출하려면 "-c" 옵션을 사용하여 경로를 지정해야 합니다. C는 파티션이 아닙니다.

$ tar -xvzf abc.tar.gz -C /opt/folder/

그러나 대상 폴더가 존재하지 않는 경우 tar는 디렉토리를 생성하지 않으므로 먼저 대상 폴더가 존재하는지 확인하십시오.

  1. 단일 파일 추출

아카이브에서 하나의 파일을 추출하려면 다음과 같이 명령 뒤에 파일 이름을 추가하면 됩니다.

$ tar -xz -f abc.tar.gz "./new/abc.txt"

다음과 같이 이전 명령에 둘 이상의 파일을 지정할 수 있습니다.

$ tar -xv -f abc.tar.gz "./new/cde.txt" "./new/abc.txt"

  1. 와일드카드를 사용하여 여러 파일 추출

와일드카드를 사용하면 주어진 와일드카드와 일치하는 여러 파일을 검색할 수 있습니다. 예를 들어 모든 "txt" 파일은 확장자입니다.

$ tar -xv -f abc.tar.gz --wildcards "*.txt"

  1. tar 아카이브의 내용 나열 및 검색

tar 아카이브의 내용을 추출하지 않고 단순히 나열하려면 "-t" 옵션을 사용할 수 있습니다. 다음 명령은 tar 아카이브의 내용을 인쇄합니다.

$ tar -tz -f abc.tar.gz ./new/ ./new/cde.txt ./new/subdir/ ./new/subdir/in.txt ./new/abc.txt ...

v-옵션을 사용하면 각 파일에 대한 추가 정보를 인쇄할 수 있습니다.

tar.bz2/bzip 파일의 경우 "j" 옵션을 사용하세요.

$ tar -tvz -f abc.tar.gz | grep abc.txt -rw-rw-r-- 계몽/계몽 0 2015-01-13 11:40 ./new/abc.txt

  1. tar/tar.gz 아카이브 생성

기존 tar 아카이브를 추출하는 방법을 배웠으므로 이제 새로운 아카이브를 생성할 차례입니다. tar 명령을 사용하여 선택한 파일을 아카이브 또는 전체 디렉토리로 보낼 수 있습니다. 다음은 몇 가지 예입니다.

다음 명령은 디렉터리를 사용하여 tar 아카이브를 생성하고 그 안에 있는 모든 파일과 하위 디렉터리를 추가합니다.

$ tar -cvf abc.tar ./new/ ./new/ ./new/cde.txt ./new/abc.txt

위의 예에서는 압축된 아카이브를 생성하지 않습니다. 이렇게 하면 실제 압축 없이 여러 파일을 한 번에 저장하는 일반 아카이브가 생성됩니다.

압축하려면 gzip 또는 bzip에 각각 "z" 또는 "j" 옵션을 사용하십시오.

$ tar -cvzf abc.tar.gz ./new/

  1. 파일을 추가하기 전에 확인 요청

유용한 옵션은 "w"입니다. 이는 tar가 아카이브에 파일을 추가하기 전에 각 파일에 대한 확인을 요청하도록 합니다. 이는 때때로 유용할 수 있습니다.

대답이 '예'인 경우 이러한 파일은 아카이브에 추가됩니다. 기본적으로 기본 대답은 "아니요"입니다.

# 특정 파일 추가 $ tar -czw -f abc.tar.gz ./new/* add './new/abc.txt'?y add './new/cde.txt'?y add './new/ newfile.txt'?n add './new/subdir'?y add './new/subdir/in.txt'?n # 이제 추가된 파일 목록을 표시합니다. $ tar -t -f abc.tar.gz ./new /abc.txt ./new/cde.txt ./new/subdir/

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

r 매개변수를 사용하면 새 아카이브를 만들지 않고도 기존 아카이브에 파일을 추가할 수 있습니다. 다음은 간단한 예입니다.

$ tar -rv -f abc.tar abc.txt

압축된 아카이브(gz 또는 bzip)에는 파일을 추가할 수 없습니다. 파일은 일반 tar 아카이브에 추가될 수 있습니다.

  1. 압축된 아카이브(tar.gz/tar.bz2)에 파일 추가

압축된 아카이브에는 파일을 추가할 수 없다고 위에서 이미 언급했습니다. 그러나 한 가지 방법을 사용하여 압축된 아카이브에 파일을 추가하는 것은 여전히 ​​가능합니다. gunzip 명령을 사용하여 아카이브의 압축을 풀고 파일을 아카이브에 추가한 후 다시 압축합니다.

$ gunzip archive.tar.gz $ tar -rf archive.tar ./path/to/file $ gzip archive.tar

bzip 파일의 경우 각각 bzip2 및 bunzip2 명령을 사용하십시오.

  1. 지원타르를 사용하여

정기적으로 디렉터리를 백업하는 실제 시나리오입니다. tar 명령은 cron을 사용하여 이러한 백업을 예약할 수 있습니다. 여기에 예가 있습니다 -

$ tar -cvz -f 아카이브-$(날짜 +%Y%m%d).tar.gz ./new/

cron을 통해 위 명령을 실행하면 다음과 같은 이름의 파일이 계속 백업됩니다.

"아카이브-20150218.tar.gz".

  1. 생성 시 아카이브 파일 확인

"W" 옵션을 사용하면 아카이브 생성 후 파일을 확인할 수 있습니다. 다음은 간단한 예입니다.

$ tar -cvW -f abc.tar ./new/ ./new/ ./new/cde.txt ./new/subdir/ ./new/subdir/in.txt ./new/newfile.txt ./new/ abc.txt 확인 ./new/ 확인 ./new/cde.txt 확인 ./new/subdir/ 확인 ./new/subdir/in.txt 확인./new/newfile.txt 확인 ./new/abc.txt

압축된 아카이브에서는 검증을 수행할 수 없습니다. 압축되지 않은 tar 아카이브에서만 작동합니다.

© 2024 ermake.ru - PC 수리 정보 - 정보 포털