몇 시간 전에 (참조를 찾을 수 없음) 같은 별칭을 사용하는 것을 읽었습니다. alias rm="rm -i"
아주 나빴어.
그 사실에 대한 역사적인 증거 나 상식적인 설명이 있습니까?
별칭이없는 다른 프로필에서 재난을 초래할 수있는 명령을 확인하라는 확인 메시지에 의존하는 습관을 사용자에게 부여한다고 생각합니다.
몇 시간 전에 (참조를 찾을 수 없음) 같은 별칭을 사용하는 것을 읽었습니다. alias rm="rm -i"
아주 나빴어.
그 사실에 대한 역사적인 증거 나 상식적인 설명이 있습니까?
별칭이없는 다른 프로필에서 재난을 초래할 수있는 명령을 확인하라는 확인 메시지에 의존하는 습관을 사용자에게 부여한다고 생각합니다.
답변:
네가 옳아.
네가 익숙해 져서 나쁘다. 만약 당신이 그것을 가지고 있지 않은 시스템에 있다면, 그리고 당신은 rm
, 그것은 즉시 삭제를 시작하고 당신은 무슨 일이 일어나고 있는지 궁금해하고 있습니다.
많은 사용자가 서로 다른 시스템에 SSH 연결하는 데 익숙합니다. 그래서 가끔 개인화 된 사용자 계정 (별칭 포함)이 설정되지 않은 상태에서 많은 다른 시스템을 사용하는 것이 일반적입니다.
대신에 예를 들어 alias rmi='rm -i'
그 것을 사용하는 법을 배웁니다. 다른 시스템에이 파일이 설정되어 있지 않으면 실수로 파일을 삭제하지 않고 항상 전체 명령을 입력 할 수 있습니다.
@Daniel이 말했듯이, 당신이 그것을 기대할 수 있도록 훈련하는 것 이외에는 그 자체로는 해가되지 않습니다. 사실 CentOS의 기본 설정입니다. (확장 RHEL은 내가 사용한 적이 있기 때문에 너무 길었습니다) 턱시도에 엄청난 고통이 있어요. . 저의 나머지 시간 동안, "root 액세스 권한이 없어야하는 사람들을위한 Linux"설정을 피하기 위해 / bin / rm을 입력했습니다.
큰 위험은 사람들이 이것과 같은 것에 의지하여 거물을 걸러 낼 수 있다고 생각합니다. 디렉토리에서 일부 이미지를 삭제하려고한다고 가정합니다.
rm -i pics/*.jpg
이것을 사용하여 glob을 수동으로 필터링 할 수 있습니다. 이는 매우 합리적 일 것입니다. 그러나, 만약 당신이 그것을 별명을 짓고 사용했다면 rm
그 별칭없이 껍질에 떨어져서 그것을 시험해 보았다. .. 당신은 단지 모든 당신의 그림 (oops)을 삭제했다!
개인적으로 나는 또한이 별칭이 내 혈압에 해롭다는 것을 안다.). 하지만 그건 나 뿐이야.
Daniel Beck이 말한 것과 더불어, 나는 -f
그 (것)들을 우회하는 -i
, 이는 잠재적으로 위험한 결과를 낳습니다. rm -f
과 rm -rf
불필요하게. 어떻게 든 관련 : 방지하는 방법 rm -rf
문제는 이것이 "-i"라는 파일을이 질문의 대답에 duscissed로 생성하는 것입니다. 우발적 인 rm -rf / *를 어떻게 방지합니까? .
그러나 그 별칭이 없다면, 나는 -f를 사용하지 않을 것이며, 모든 것이 문제가되지 않을 것입니다.
이것은 많은 과거 수백 명의 사용자와 함께 일한 경험에 비추어 볼 때 해로운 것은 아닙니다.
rm () # must be a function, must require single answer for all targets
{
ls -FCsd "$@"
local reply ; echo -n 'remove[ny]? ' ; read reply
if [ "_$reply" = "_y" ] ; then
/bin/rm -rf "$@" ; else echo '(cancelled)'
fi
}
rm
이 함수 나 함수가없는 다른 상황에서는 rm -i
별명. rm
훼손되지 않은 상태에서 다른 프로그램을 그대로 남겨 둡니다. 코드 스타일은 대부분 sh 호환 가능합니다 (use echo .... | tr -d '\012'
pre-bash shells를 위해), 더 많은 bash 특정을 자유롭게 만들 수 있습니다. 나는 코드 자체를 공유하기 위해 글을 올리는 것이 아니라, 사용자 경험 그것으로 오는 변화.
rm -i
역사적으로 (수백 명의 사용자가있는 내 경험으로) 잘못된 파일 삭제가 발생했으며, 포함 된 기능을 통해 올바른 와일드 카드를 사용하도록 사용자를 교육하여 오류율을 낮 춥니 다. 그래서 나는 괴롭히는 주요 문제들을 다루었습니다. rm -i
편의를 위해 해결책을 제공했으며, 총알 지점이 아래에 이 기능은 그것들이 서로 밀접한 관계에있는 것을 막지 못합니다.