나는 원하지 않는 여러 파일을 제외하고 여러 파일을 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의 파일 지정 기능보다 더 강력합니다.