tar 명령 - 심볼릭 링크 건너뛰기

tar 명령 - 심볼릭 링크 건너뛰기

tar 명령을 사용합니다.

tar -cvf protTests.tar protTests/*

tar폴더 내의 모든 파일. protTests그러나 여기에는 폴더 내의 심볼릭 링크가 포함되어 있는데 이는 우리가 원하는 것이 아닙니다.

모든 심볼릭 링크를 생략하는 명령줄 옵션이 있습니까?

답변1

tar내부의 모든 파일 목록을 제공하면 됩니다 protTests(심볼릭 링크 제외).

find protTests -maxdepth 1 -mindepth 1 -not -type l -print0 |
  tar --null --files-from - -cvf protTests.tar

그런데 기존 명령은 다음과 같습니다.

tar -cvf protTests.tar protTests/*

보관하지 않음모두protTests, 이름이 시작하지 않는 파일 .(숨겨지지 않은 파일)만 보관합니다. glob *연산자는 이름이 로 시작하는 파일을 건너뜁니다 .. 또한 이 명령에는 protTests파일 수가 많은 경우(수천 개 이상) protTests/*명령줄에 맞추기에는 너무 많은 매개 변수로 확장될 수 있다는 문제가 있습니다 .

이와 같은 간단한 명령에는 다음과 같은 문제가 발생하지 않습니다.

tar -cvf protTests.tar protTests

답변2

내 타르 구현가장 좋은 방법입니다

star -cv -f out.tar -find protTests ! -type l

관련 정보