"rm" 명령을 제한하는 방법은 무엇입니까?

"rm" 명령을 제한하는 방법은 무엇입니까?

나는 파일을 보낸 후 후회하는 매우 나쁜 역사가 있습니다 rm. 그 이후로 나는 trash더 많이 사용하려고 하는 명령을 만들었습니다 .

하지만 아직 근육 기억력이 많이 남아있습니다 rm. 이 명령을 방지할 수 있는 방법이 있나요 rm? 강제로 확인을 받도록 하거나 사용할 수 없게 만들 수도 있나요?

답변1

일반적으로 특히 관리자 권한이 있는 사용자의 경우 좋은 전략은 rm 명령의 별칭을 rm -i로 지정하는 것입니다. 이 경우 확인이 필요합니다.

이것을 .bashrc에 넣으세요

alias rm='rm -i'

답변2

확인 메시지 rm(예:Ruy F. Ribeiro의 답변) 의지하는 습관을 길러줄 것입니다. 그러다가 다른 시스템에 로그인하면 반갑지 않은 놀라움을 얻게 될 것입니다.

대신, 저는 스스로 재교육을 받는 것을 권장합니다. 두 가지 접근 방식이 떠오릅니다.

귀하의 제안 중 하나는 rm작동하지 않게 만드는 것입니다. 이는 매우 간단합니다 alias rm=~/bin/dont-use-rm. 그런 다음 선택적으로 echo를 사용하여 경고하는 스크립트를 만들 수 있습니다 exit 1.

두 번째는 정기적으로 타자를 치는 방법을 훈련하는 것입니다 rm -i. 직접 만들 수 있습니다. 다시 alias rm=~/bin/force-rm-i다음과 같이 쉘 스크립트로 만드세요.

#!/bin/sh

if [ '-i' != "$1" ]; then
    # you could use getopt, etc. for better command-line parsing, but that
    # is much more work.
    echo -e "\aIgnoring your command because you forgot to use 'rm -i'."
    exit 1
else
    exec rm "$@"
fi

(참고: 모든 쉘이 "echo -e"를 지원하는 것은 아닙니다. 지원하지 않는 경우 top을 자유롭게 사용하십시오 /bin/bash.)/bin/sh

대화식 쉘에만 영향을 미치도록 쉽게 설정할 수 있으므로 별칭을 사용하십시오. 쉘 스크립트에서 "rm"을 중단하고 싶지는 않습니다.

관련 정보