내 폴더에 파일이 너무 많습니다. 나는 단지 내 inode가 가능한 한 빨리 해제되기를 원하기 때문에 다음과 같이 시도했습니다.
find ./EcoBackup/* -name '*.*' > FilesBackupName.txt
bash: /usr/bin/find: Argument list too long
tar -cv -T FilesBackupName.txt -f tarball.tar
인수 목록이 너무 길 때 실패하지 않고 tar 속도를 어떻게 높일 수 있습니까?
성공할까요?
find /foot/bar/ -name '*.*' -exec mv -t tarball.tar {} +
find /foot/bar/ -name '*.*' -print0 | xargs -0 tar -t tarball.tar
같은 종류의 파일을 삭제할 수 있나요?
답변1
이는 bash가 실제로 일치하는 모든 파일에 별표를 확장하여 명령줄에 너무 많은 인수가 발생하기 때문에 발생합니다. 따라서 삭제한 후에는 괜찮을 것입니다(예:여기)
find ./EcoBackup/ -name '*.*' > FilesBackupName.txt
그리고 귀하가 제안한 솔루션도 효과가 있을 것입니다.
이 옵션을 사용하면 명령을 통해 --remove-files
한 번에 파일을 삭제할 수 있습니다.tar
tar --remove-files -cv -T FilesBackupName.txt -f tarball.tar