확장자가 *tar.gz인 파일을 자체 디렉토리에 추출하려고 합니다.
tar -zxf /tmp/ranger/ranger-2.1.0-solr_audit_conf.tar.gz
위와 같이 하면 모든 파일이 현재 작업 디렉터리로 추출되지만 해당 파일을 모두 자체 디렉터리로 이동하고 싶습니다.
다음 명령은 특정 디렉터리로 추출합니다.
tar -zxf /tmp/ranger/ranger-2.1.0-solr_audit_conf.tar.gz -C /tmp/ranger/ranger-2.1.0-solr_audit_conf
참고: -C 없이 다른 파일을 처리하려고 하면 자체 디렉터리로 추출할 수 있는데, 이는 흥미롭습니다.
답변1
tar -x
파일 내용을 *.tar.*
현재 작업 디렉터리...기간으로 추출합니다. 이것이 의미하는 바는 다음과 같습니다. 그리고 원하는 동작을 얻기 위해 이를 수정하는 방법은 다음과 같습니다.
일반적으로 디렉터리는 압축된 패키지입니다. 누군가가 썼다는 의미:
tar -czf tarball.tar.gz somedirectory
이 경우 이렇게 하면 tar -x
콘텐츠가 somedirectory
. 누군가 다음을 사용하여 아카이브를 압축했을 가능성이 높습니다.
tar -czf tarball.tar.gz file1 file2 file3
이 경우 를 실행하면 tar -x
현재 디렉토리에 file1
, 및 가 표시됩니다 file2
.file3
이 경우 추출된 파일을 별도의 디렉터리에 저장하려면 다음을 수행해야 합니다.
mkdir tarball && cd tarball && tar -xzf ../tarball.tar.gz
tar -x
를 사용해야 하는지 또는 mkdir _ & cd _ & tar -x ../_
사용해야 하는지 알아보려면 tar --list -f tarball.tar.gz
타르볼을 추출하기 전에 타르볼의 내용을 나열하므로 pwd
있는 그대로 추출할지, 아니면 새 디렉토리를 만들어 거기에서 추출할지 결정할 수 있습니다.