리눅스 tar 명령 옵션

리눅스 tar 명령 옵션

나는 원하지 않는 여러 파일을 제외하고 여러 파일을 tar하는 방법을 알고 있습니다.

tar --exclude=./*.jpg -pcjvf all.tar.gz ./

여기서는 jpg 확장자를 제외한 모든 파일을 tar합니다.

나는 그 반대를하고 싶다. 특정 파일만 tar하면 됩니다. 인터넷 검색 후 예제를 찾는 데 운이 너무 없었습니다.

tar 명령에 --include 옵션이 있습니까?

답변1

매개 --include변수로 포함하려는 모든 파일을 tar. 와일드카드를 통해 포함하려면 다음을 사용하세요 find.

tar -pcjvf specific.tar.gz $(find -name *.jpg)

답변2

뭔가 빠졌나요? 그냥 하면 안되는 이유:

tar -pcjvf pictures.tar.gz ./*.jpg

답변3

이 같은:

tar -pcjvf images.tar.gz ./*.jpg ./*.jpeg ./*.png

답변4

나는 'find' 출력을 tar로 파이핑함으로써 그렇게 할 것입니다:

find /your/directory -type f -name '*.jpg' | tar --files-from=- -cvf meow.tar

'find' 명령은 /your/directory에 저장된 모든 jpg를 인쇄합니다.재귀적으로, tar의 마법 같은 --files-from 옵션은 stdin을 나타내는 '-'에서 파일을 읽고 tar합니다. rsync에도 --files-from 옵션이 있기 때문에 이것이 특히 유용하다고 생각합니다. 따라서 파일 지정 명령을 하나만 기억하면 됩니다. 게다가 'find'는 tar나 rsync의 파일 지정 기능보다 더 강력합니다.

관련 정보