나는 rm더 안전한 것을 알리는 데 익숙합니다 .
사용 osx-trash하고 있지만 Ruby 1.9.2로 업그레이드하면 작동이 중지됩니다.
나는 trash-cli파이썬 에 대해 알고 있지만 파일을 다른 디렉토리가 아닌 OS X의 휴지통 폴더로 옮기는 것을 선호합니다.
누구든지 좋은 해결책이 있습니까?
답변
OSX의 경우 사용할 수 있습니다 safe-rm
brew install safe-rm
기본값보다 선호하는 추가 단계를 수행해야합니다 rm. symlink를 추가하십시오.
echo $PATH
나를 위해, 나는 /usr/local/bin:먼저 safe-rm설치 와 동일한 디렉토리를 가지고 있습니다
에 심볼릭 링크 추가 safe-rm
ln -s /usr/local/bin/safe-rm /usr/local/bin/rm
기본값을 제거하고 복원하려면 rmsymlink를 제거하십시오.rm /usr/local/bin/rm
구성 파일은 /etc/safe-rm.conf
예 :
/private
/Applications
/Developer
/Library
/Network
/System
/Users
/Volumes
/test
rm -rf /test그것으로 테스트 에서 삭제를 거부합니다safe-rm.conf
답변
hasseg.org/trash 는 osx-trash 와 같은 Objective-C 유틸리티 입니다.
필자는 파일을 덮어 쓰지 않는 쉘 함수를 작성했습니다 mv * ~/.Trash. 항상 항목을 시작 볼륨으로 이동합니다.
trash() {
    for f in "$@"; do
        bn=$(basename "$f")
        while [ -e ~/.Trash/"$bn" ]; do
            bn="$bn $(date +%H.%M.%S %p)"
        done
        mv "$f" ~/.Trash/"$bn"
    done
}
답변
소개 (당신은 그것을 생략 할 수 있습니다)
나를 위해 rm -i이 모든 파일을 삭제하기 전에 메시지를 표시하기 때문에, 충분한 것이다. 그러나 제공되는 추가 보안 safe-rm은 전혀 나쁜 생각이 아닙니다.
간단한 alias등 rm=safe-rm -i 수 있지만, 충분 rm -rf하기 때문에, 작동하지 않을 것입니다 -i의해 오버라이드 (override)됩니다 -f.
그래서 우리는 -i항상 뒤 따르 도록해야합니다 -f!
내 솔루션 (3 단계) :
- 
safe-rm 설치 :
brew install safe-rm계속 작업 할 수
rm있지만RM_BIN다음 단계에서를 수정했습니다 . - 
~/.profile(또는 bash_profile 또는 무엇이든)을 편집 하고 다음 코드 스 니펫 (alias및 a 포함)을 넣으십시오function.alias rm="rm_i" function rm_i(){ RM_BIN=safe-rm # you can replace it with regular rm if you like args="" files="" argsDone=0 # to make sure arguments are before the files for var in "$@" do if [[ $var == \-* ]] ; then if [ $argsDone -eq 1 ] ; then $RM_BIN # just to show the usage of rm return fi args+=" $var" else argsDone=1 files+=" $var" fi done args+=" -i" # Put -i at the end (so rm -rf will not ignore it) $RM_BIN $args $files } - 
마지막으로 ,
logout및login.profile의 업데이트가 적용됩니다. 로그 아웃 / 로그인하기 전에 사용 하지 마십시오 ! 
노트:
- 약간의 수정으로 모든 Linux 배포판에 적용 할 수 있습니다.
 - 스태프를 움직이지 않습니다. 각 파일을 삭제하기 전에 묻습니다!
 -rf정규식과 함께 작동합니다 .- 모든 단일 파일 / 폴더에 대해 요청 
rm -rf없이 WITHOUT 을 사용하려는 경우 계속 사용할 수 있습니다/bin/rm -rf(또는safe-rm -rf설치 한 경우). - 더 이상 의도하지 않은  
rm -rf또는rm *😉