![명령 및 tar 찾기](https://linux55.com/image/45619/%EB%AA%85%EB%A0%B9%20%EB%B0%8F%20tar%20%EC%B0%BE%EA%B8%B0.png)
find /informatica/dev/SrcFiles* -mtime +7 -and -size +1M -exec tar -cvjf>
그래서 이 명령을 실행했지만 완료된 후에 파일을 찾을 수 없었습니다(아마도 이름을 지정하지 않았기 때문일까요?). 이 디렉토리에는 수천 개의 파일이 포함되어 있습니다.
원하는 이름은 어디에 넣어야 하나요 .tar
?
tar 파일이 어디에 만들어지고 배치되는지, 또는 실행한 후에 파일 이름이 어떻게 되는지 아는 사람이 있나요?
답변1
find /informatica/dev/SrcFiles* -mtime +7 -and -size +1M -exec tar rvf file.tar {} \;
file.tar
아카이브 이름은 어디에 있습니까? 이 옵션 c
을 tar
사용 하면만들다각 파일은 새 아카이브를 생성하여 이전 파일을 덮어씁니다. 사용하면 r
그럴거에요추가의이전 아카이브로.
답변2
다음 명령을 실행하여 tar 매뉴얼 페이지를 참조해야 합니다:
man tar
특정 질문에 대해 이를 수행하는 방법에 대한 좋은 예는 다음과 같습니다.
find /informatica/dev/SrcFiles* -print0 -mtime +7 -and -size +1M | xargs -0 tar cjvf /mydir/mytarfile.tar.bz2
이렇게 하면 tar 명령이 파일을 찾을 때마다 호출되지 않고 한 번만 호출됩니다. 참고 -print0
및 -0
매개변수. 이렇게 하면 단어 분할이 방지됩니다...
또한 아카이브가 검색 패턴에 이름이 나타날 수 있는 동일한 디렉토리에 위치하지 않는지 확인해야 합니다. 아카이브를 자체에 추가할 수 없다는 오류 메시지가 표시됩니다!
답변3
별표에는 찾기 기능이 내장되어 있으므로 별표를 사용하는 것이 좋습니다. 이를 통해 find 명령만으로는 불가능했던 기능을 활성화할 수 있습니다.