상위 디렉토리에 tar 아카이브 만들기

상위 디렉토리에 tar 아카이브 만들기

현재 현재 디렉터리의 일부 파일을 tar 아카이브로 묶은 다음 해당 아카이브를 현재 디렉터리의 상위 디렉터리에 배치하려고 합니다. 누군가 나에게 이 작업을 수행하는 방법을 설명해 줄 수 있는지 궁금합니다. 필요한 파일을 묶는 방법은 이해하지만 아카이브가 상위 파일에 있도록 만드는 방법은 혼란스럽습니다.

현재 다음 명령을 사용하고 있습니다.

$ tar -tvf something.tar $( find -name "*.txt")

.txt 확장자를 가진 파일을 번들로 묶어야 하기 때문입니다.

답변1

다음 방법 중 하나로 이 작업을 수행할 수 있습니다.

tar cvf ../something.tar $( find -name "*.txt")

something.tar이렇게 하면 파일이 위의 디렉터리에 배치됩니다 .

더 자세한 방법은 다음과 같습니다.

tar cvf /path/to/something.tar $( find -name "*.txt")

파일을 배치할 위치에 대한 직접 경로를 사용합니다 .tar.

실제 압축을 원하는 경우:

tar cvfz something.tar.gz $( find -name "*.txt")

A는 z그것을 파일로 정리할 것입니다 .gz.

기본적으로 콘텐츠를 실제 아카이브로 사용 cvf하거나 cfvz압축 하고 싶습니다 . c명령에서 tas를 사용하면 tvf아카이브 내용을 추출하지 않고 표준 출력으로 보내는데, 아직 아카이브를 생성하지 않았기 때문에 작동하지 않습니다 .tar.

*환경에 따라 탈출해야 할 수도 있습니다.

tar cvf ../something.tar $( find -name "\*.txt")

나중에 이 기능이 필요할 수 있는 사용자를 위한 또 다른 업데이트:

이 기능을 사용하려는 사람이 아직 설치하지 않은 경우 find 명령에 이전에 검색한 경로를 포함 findutils해야 합니다 .-name

tar cvf ../something.tar $( find . -name "\*.txt")

tar cvf ../something.tar $( find /path/to/directory -name "\*.txt")

첫 번째는 현재 디렉터리에서 검색하고 두 번째는 디렉터리 경로를 사용합니다.

관련 정보