Tar 아카이브에서 특정 파일을 추출 할 때 대상 위치를 지정하는 방법은 무엇입니까?

연필 2

새로운 정보에 비추어 질문을 다시 표현했습니다. 이전 정보는이를 기반으로 한 답변과 의견을 무효화하지 않기 위해 아래에 있습니다.

현재 작업중인 디렉토리와 다른 디렉토리 tarball.tar에 압축을 풀고 싶은 tarball이 있으므로 원하는 destination작업을 수행하는 tar의 -C옵션을 사용 합니다.

그러나 tarball에서 추출 할 파일을 지정하려고하면 -C옵션이 무시되는 것처럼 보입니다. 파일은 내 현재 작업 디렉토리에서 추출됩니다.

tar -xf tarball.tar -C destination

Tar의 버전은

$ tar --version
tar (GNU tar) 1.28

이것은 버그입니까, 아니면 제가 -C잘못 이해하고 있습니까?

최소 작업 예

다음은 동작을 보여주는 bash 스크립트입니다. 빈 디렉토리에 저장 (또는 실행)

#!/bin/bash -x
set -e                                 # Abort if any of these commands fails

touch file1 file2 file3                # Create files to be archived
tar -cf tarball.tar file1 file2 file3  # Create the archive
rm file1 file2 file3                   # Remove source files
tar -tf tarball.tar                    # Should contain files 1–3

mkdir -p destination                   # Create destination directory
tar -xf tarball.tar file1 file2 -C destination # Extract two files from 
                                       #+ tarball into destination directory

ls .                                   # Should contain only the script itself,
                                       #+ tarball.tar, and destination
ls destination                         # Should contain file1 and file 2

내가 스크립트를 실행하면 destination빈이고 ls .반환

$ ls .
file1 file2 tarball.tar tar.sh

추출 할 파일을 지정하지 않으면 ( tar -xf tarball.tar file1 file2 -C destination9 행이 tar -xf tarball -C destination) 예상대로 동작합니다. ls destinationfile1 file2 file3.

이전 질문 (무시)

나는 tar 아카이브있어 /path/to/backup.tar.gz다른 사람, 디렉토리 사이에, 포함 home/bleistift2/stuffhome/bleistift2/more_stuff.

이 두 디렉토리를 /home/bleistift2/tmp(아카이브가 아닌 파일 시스템에서) 추출하기 위해 다음 명령을 실행합니다. 내 이해는 -C추출 위치 지정하는 것입니다. 대상 디렉토리가 있습니다.

tar -zxvf /path/to/backup.tar.gz \                 # The archive to extract
home/bleistift2/stuff home/bleistift2/more_stuff \ # The contents to extract
--same-owner -C /home/bleistift2/tmp               # The destination directory

그러나 디렉토리는 아카이브의 형제로 저장되므로 /path/to/home/bleistift2/{stuff, more_stuff}대신 /home/bleistift2/tmp/home/bleistift2/{stuff, more_stuff}.

톰 얀

-C말 그대로 다음과 같이 작동합니다 cd.

$ tar -tf test.tar
a
b
$ ls -Al dst1/
total 0
$ ls -Al dst2/
total 0
$ tar -xvf test.tar -C dst1/ a -C ../dst2/ b
a
b
$ rm -v dst*/*
removed 'dst1/a'
removed 'dst2/b'
$ (TAR=$(realpath test.tar); cd dst1/; tar -xvf "$TAR" a; cd ../dst2/; tar -xvf "$TAR" b)
a
b
$ rm -v dst*/*
removed 'dst1/a'
removed 'dst2/b'
$

네, 주문이 중요합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

테두리 위에 요소를 추가하고 창 크기를 조정할 때 위치를 유지하는 방법은 무엇입니까?

분류에서Dev

Python의 텍스트 파일에서 특정 데이터를 추출하는 방법은 무엇입니까?

분류에서Dev

수동 재정렬없이 ".insert"를 사용하지 않고 열을 추가 할 때 데이터 테이블의 특정 위치에 열을 삽입하는 방법은 무엇입니까?

분류에서Dev

특성 경계를 지정할 때 임시 수명을 지정하는 방법은 무엇입니까?

분류에서Dev

Erlang / OTP에서 디버깅 할 때 "잘못된 빔 파일 또는 추상 코드 없음"오류를 수정하는 방법은 무엇입니까?

분류에서Dev

여러 파일에서 1dim 배열로 다른 정수를 읽을 때 "i"의 마지막 위치를 추적하는 방법은 무엇입니까?

분류에서Dev

BigQuery의 추출 된 파일 부분에 대한 상한을 설정하는 방법은 무엇입니까?

분류에서Dev

데이터베이스에서 추출 할 때 특정 값을 피하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

B2C 사용자 지정 정책을 사용하여 Azure 함수를 호출 할 때 이메일을 보내는 방법은 무엇입니까?

분류에서Dev

파이썬에서 숫자 범위를 사용하여 Excel 파일에서 특정 값 집합을 추출하는 방법은 무엇입니까?

분류에서Dev

Pyspark에서 tar.gz 아카이브를 읽을 때 특정 패턴을 사용하여 파일 필터링

분류에서Dev

단일 파일을 추출 할 때 전체 아카이브를 읽거나 추출하지 않는 아카이브 형식은 무엇입니까?

분류에서Dev

와일드 카드를 사용하여 tar 아카이브에서 특정 파일 추출

분류에서Dev

아카이브를 자체에 추가 할 때 tarfile.add ()의 예상되는 동작은 무엇입니까?

분류에서Dev

apt를 사용할 때 "파일 끝에 추가 정크"를 해결하는 방법은 무엇입니까?

분류에서Dev

출력을 리디렉션 할 때 특정 파일 권한을 설정하는 방법은 무엇입니까?

분류에서Dev

tar.gz에서 특정 파일을 추출하는 방법

분류에서Dev

열이 아닌 특정 위치의 단어로 줄을 추출하는 방법은 무엇입니까?

분류에서Dev

파일 관리자에서`Extract here` 메뉴 명령을 실행할 때 사용할 아카이버를 설정하는 방법은 무엇입니까?

분류에서Dev

색인을 설정할 때 목록 상자의 addChangeHandler를 호출하는 방법은 무엇입니까?

분류에서Dev

파일을 저장 / 생성하지 않고 특정 위치에 파일을 저장할 수 있는지 확인하는 방법은 무엇입니까?

분류에서Dev

사용자 지정 전송 버튼을 사용할 때 "장치에 연결"대화 상자를 시작하는 방법은 무엇입니까?

분류에서Dev

파일 이름에서 특정 요소를 추출하는 방법은 무엇입니까?

분류에서Dev

이 대조를 유지하는 .csv 파일 특정 항목을 읽는 방법은 무엇입니까?

분류에서Dev

tar 아카이브에서 특정 파일을 어떻게 추출합니까?

분류에서Dev

특정 서버를 대상으로 할 때 Get-ADUser의 성능을 향상시키는 방법은 무엇입니까?

분류에서Dev

SceneKit을 사용할 때 특정 위치에 텍스트를 배치하는 방법은 무엇입니까?

분류에서Dev

각 환경에 대한 특정 파일을 재정 의하여 여러 tar.gz 파일을 생성하는 방법은 무엇입니까?

분류에서Dev

공간을 절약하기 위해 여러 단계에서 분할 tar 아카이브를 만드는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    테두리 위에 요소를 추가하고 창 크기를 조정할 때 위치를 유지하는 방법은 무엇입니까?

  2. 2

    Python의 텍스트 파일에서 특정 데이터를 추출하는 방법은 무엇입니까?

  3. 3

    수동 재정렬없이 ".insert"를 사용하지 않고 열을 추가 할 때 데이터 테이블의 특정 위치에 열을 삽입하는 방법은 무엇입니까?

  4. 4

    특성 경계를 지정할 때 임시 수명을 지정하는 방법은 무엇입니까?

  5. 5

    Erlang / OTP에서 디버깅 할 때 "잘못된 빔 파일 또는 추상 코드 없음"오류를 수정하는 방법은 무엇입니까?

  6. 6

    여러 파일에서 1dim 배열로 다른 정수를 읽을 때 "i"의 마지막 위치를 추적하는 방법은 무엇입니까?

  7. 7

    BigQuery의 추출 된 파일 부분에 대한 상한을 설정하는 방법은 무엇입니까?

  8. 8

    데이터베이스에서 추출 할 때 특정 값을 피하는 가장 좋은 방법은 무엇입니까?

  9. 9

    B2C 사용자 지정 정책을 사용하여 Azure 함수를 호출 할 때 이메일을 보내는 방법은 무엇입니까?

  10. 10

    파이썬에서 숫자 범위를 사용하여 Excel 파일에서 특정 값 집합을 추출하는 방법은 무엇입니까?

  11. 11

    Pyspark에서 tar.gz 아카이브를 읽을 때 특정 패턴을 사용하여 파일 필터링

  12. 12

    단일 파일을 추출 할 때 전체 아카이브를 읽거나 추출하지 않는 아카이브 형식은 무엇입니까?

  13. 13

    와일드 카드를 사용하여 tar 아카이브에서 특정 파일 추출

  14. 14

    아카이브를 자체에 추가 할 때 tarfile.add ()의 예상되는 동작은 무엇입니까?

  15. 15

    apt를 사용할 때 "파일 끝에 추가 정크"를 해결하는 방법은 무엇입니까?

  16. 16

    출력을 리디렉션 할 때 특정 파일 권한을 설정하는 방법은 무엇입니까?

  17. 17

    tar.gz에서 특정 파일을 추출하는 방법

  18. 18

    열이 아닌 특정 위치의 단어로 줄을 추출하는 방법은 무엇입니까?

  19. 19

    파일 관리자에서`Extract here` 메뉴 명령을 실행할 때 사용할 아카이버를 설정하는 방법은 무엇입니까?

  20. 20

    색인을 설정할 때 목록 상자의 addChangeHandler를 호출하는 방법은 무엇입니까?

  21. 21

    파일을 저장 / 생성하지 않고 특정 위치에 파일을 저장할 수 있는지 확인하는 방법은 무엇입니까?

  22. 22

    사용자 지정 전송 버튼을 사용할 때 "장치에 연결"대화 상자를 시작하는 방법은 무엇입니까?

  23. 23

    파일 이름에서 특정 요소를 추출하는 방법은 무엇입니까?

  24. 24

    이 대조를 유지하는 .csv 파일 특정 항목을 읽는 방법은 무엇입니까?

  25. 25

    tar 아카이브에서 특정 파일을 어떻게 추출합니까?

  26. 26

    특정 서버를 대상으로 할 때 Get-ADUser의 성능을 향상시키는 방법은 무엇입니까?

  27. 27

    SceneKit을 사용할 때 특정 위치에 텍스트를 배치하는 방법은 무엇입니까?

  28. 28

    각 환경에 대한 특정 파일을 재정 의하여 여러 tar.gz 파일을 생성하는 방법은 무엇입니까?

  29. 29

    공간을 절약하기 위해 여러 단계에서 분할 tar 아카이브를 만드는 방법은 무엇입니까?

뜨겁다태그

보관