*
예를 들어 rm -rf *
수천 개의 하위 폴더와 파일이 들어 있는 폴더에서 a를 사용하는 것이 불가피한 상황이 많이 있습니다.
그러나 rm
명령 에서 하나 또는 두 개의 파일 또는 폴더 만 제외하려면 어떻게해야 합니까? 나는 길을 훑어 보았고 여기에find . -depth -not \( -name 'one' -o -name 'two' \
-o -name 'three' \) -exec rm {} \;
언급 된 것처럼 매우 복잡한 해결책 만 찾았습니다 .
이 우회없이 더 쉬운 방법 으로이 작업을 수행 할 수 find
있습니까? 예를 rm -rf --exclude='one' --exclude='two' --exclude='three' *
들어 rsync 또는 그냥 rm -rf -e 'one','two','three' *
?
어쩌면 일반적인 가능성에서 일 제외 *
(그래서 다른 명령이 좋아을 cp
, mv
... 자신을 구현할 필요가 없습니다)? 좋아하는 것 *{'one','two','three'}
?
mv -t /tmp one two three && rm -rf * && mv -t . /tmp/one /tmp/two /tmp/three
있지만, 무언가 를 명시 적으로 제외시킬 수있는 솔루션을 선호한다 *
. 파일을 다른 대상으로 이동하거나 복사하는 것이 옵션이 아닌 상황이있을 것입니다.
find
하려면--delete
옵션 과 함께 사용 하십시오 (rm
각 파일마다 실행할 필요가 없습니다 . 오버 헤드는 필요 없습니다).