Tar는 숨겨진 폴더뿐만 아니라 모든 파일을 제외합니다.

Tar는 숨겨진 폴더뿐만 아니라 모든 파일을 제외합니다.

내 홈 폴더의 모든 항목을 tar로 패키징하려고 하는데 숨겨진 폴더 및 test_tree(실제로는 다른 폴더 내에 중첩되어 있음)와 같은 특정 폴더를 제외하고 싶습니다.

다음 명령을 실행하려고 합니다.

tar -vcf everything.tar . --exclude='.*' --exclude='test_tree'

홈 디렉토리 내부에 있지만 cd ~생성된 tar는 완전히 비어 있습니다. 무슨 일이야?

답변1

저도 같은 문제가 있습니다. --exclude='.*' MacOS에서는 잘 작동하지만 Linux에서는 작동하지 않습니다. 넌 할 수있어,

tar -vcf everything.tar. --exclude='./.*' --exclude='테스트_트리'

또는

tar -vcf everything.tar. --exclude='.[^/]*' --exclude='테스트_트리'

답변2

문제는 .소스 코드로 사용하고 tar로 시작하는 모든 항목을 제외하도록 지시하는 것입니다. .예를 들어 절대 경로를 사용해 보십시오. 이미 해당 디렉터리에 있는 경우에는 제대로 작동합니다 /home/user."$PWD"

답변3

가장 좋은 해결책은 문제의 이름이 포함된 파일을 모아서 다음을 수행하는 것입니다.

tar cf my-precious.tar -X 파일 오브 범죄자.

(-X가 GNUism인지는 모르지만... GNU tar를 사용하고 있는 것 같습니다.)

답변4

성냥"숨겨진 파일"쉘 스타일 모드를 사용하려면 .[^.]*.

.*특수 디렉토리 항목 일치 .(및 )를 사용하십시오 ... 이는 일반적으로 원하는 것이 아닙니다.

관련 정보