두 개의 디렉토리가 있고 tar
디렉토리 구조가 유지되지 않기를 원한다고 가정해 보겠습니다.
/root/dir1
/root/dir2
- 또한 /root/dir1에서 f1로 시작하는 파일과 /root/dir1에서 log.txt라는 파일만 백업하고 싶습니다.
- /root/dir2에서는 f2로 시작하는 파일만 원합니다.
어떻게 해야 하나요?
답변1
GNU tar가 있는 경우 --transform
또는 --strip-components
옵션을 사용하여 디렉토리 트리 없이 플랫 아카이브를 얻을 수 있습니다. 그것은 다음과 같습니다:
tar cf foo.tar --transform='s:.*/::' /root/dir1/f1* /root/dir2/f2* /root/dir1/log.txt
/
GNU tar는 파일 이름의 선행 문자에 대해 경고하지만 어쨌든 제거합니다.
또는 몇 가지 cd
를 사용하십시오.
cd /root/dir1;
tar cf /some/where/foo.tar f1* log.txt
cd /root/dir2;
tar uf /some/where/foo.tar f2*
cd
여기서는 s의 영향을 받지 않는 tar 아카이브에 대한 경로를 지정해야 합니다 (절대 경로이거나 둘 다 의 디렉터리이므로 /root
상위 폴더에 대한 경로).