find . | grep -v "excluded files criteria" | xargs rm
현재 디렉토리의 모든 파일을 나열한 다음 기준과 일치하지 않는 모든 파일을 나열하고 (디렉토리 이름과 일치하는지 확인한 후) 제거하십시오.
업데이트 : 편집 내용에 따라 나열된 파일을 제외하고 현재 디렉토리에서 모든 것을 삭제하려면 다음을 사용할 수 있습니다.
mkdir /tmp_backup && mv textfile.txt backup.tar.gz script.php database.sql info.txt /tmp_backup/ && rm -r && mv /tmp_backup/* . && rmdir /tmp_backup
백업 디렉토리를 생성하고 /tmp_backup
(루트 권한을 가지고 있습니까?), 디렉토리에 나열된 파일을 이동하고, 현재 디렉토리의 모든 것을 재귀 적으로 삭제합니다 (당신은 올바른 디렉토리에 있다는 것을 알고 있습니까?) 현재 디렉토리로 돌아가서 /tmp_backup
마지막으로 삭제/tmp_backup
.
루트에서 백업 디렉토리를 선택합니다. 루트에서 모든 항목을 반복적으로 삭제하려고하면 시스템에 큰 문제가 발생하기 때문입니다.
분명히 이것을하는 더 우아한 방법이 있지만, 이것은 매우 간단합니다.