더 이상 무 섭 지 않 게.

Linux 에서 rm 은 효율 적 인 도구 이지 만 때로는 재난 적 인 결 과 를 가 져 올 수 있다.하 나 를 두 드 리 면 rm -rf * 오늘 의 일 을 헛 되 게 할 수 있 습 니 다. 제때에 문 제 를 발견 하면 debugfs 으로 손실 을 만회 할 수 있 습 니 다. 그러나 만약 에 디스크 데이터 가 덮어 지면 요?다음은 rm 의 행동 을 바 꾸 는 일 을 하 세 요.
1. myrm 스 크 립 트 만 들 기
exit 는 하위 셸 을 종료 시 킬 수 있 기 때문에 이 스 크 립 트 를 하나의 함수 로 쓰 면 중간 에 오류 가 발생 하면 터미널 창 이 닫 힙 니 다.그래서 단독으로 대본 을 쓴다.
TRASH=~/trash

set -e  #Exit immediately if any untested command fails in non-interactive mode. 

if [[  $1 =~ ^-[^rf] ]]; then
    echo "usage: rm [-rf] files"
    exit 1
fi

if [ $# == 0 ]; then
    echo "usage: rm [-rf] files"
    exit 2
fi 

mkdir -p $TRASH
echo rm $@

if [[ $1 =~ ^-[rf]|^-rf$ ]]; then
    for (( i=2;i<=$#;i++ )); do
        eval file="\${$i}"         
        echo "$file => ~/trash"
        mv "$file" $TRASH
    done
else 
    for (( i=1;i<=$#;i++ )); do
        eval file="\${$i}"
        echo "$file => ~/trash"
        mv "$file" $TRASH
    done    
fi

위의 스 크 립 트 는 주로 .bashrc, rm *, rm -rf *, rm -f * 등 위험한 행 위 를 대상 으로 한다.rm -r$file 로 포위 한 것 은 파일 이름 에 빈 칸 이 있 는 상황 을 고려 한 것 이다.
2. 스 크 립 트 내 려 놓 기 ""일반 /usr/bin/ 에는 $PATH 파일 이 포함 되 어 있 으 며, 없 으 면 /usr/bin/ 파일 을 수정 하고 파일 말미 에 유사 /etc/profile 문 구 를 추가 할 수 있다.이후 스 크 립 트 에 실행 가능 한 권한 을 부여 하고 PATH=$value:$PATH 아래로 이동 하여 두 드 리 면 시스템 이 찾 을 수 있 습 니 다.
3. 파일 수정 /usr/bin/파일 myrm 에 다음 코드 를 추가 합 니 다.
alias rm=myrm

myclear(){
    ls ~/trash
    if [ $? -eq 0 ]; then
        read -p "Do you want to clear all files in ~/trash (yes/no): " var
        if [ $var = "yes" ]; then
            \rm -rf ~/trash/*
        elif [ $var = "no" ]; then
            echo "nothing to do"
        fi
    fi
}

그 후에 안심 하고 사용 할 수 있 습 니 다 ~/.bashrc. 그리고 my clear 에서 정기 적 으로 자신의 ~/.bashrc 휴지통 을 비 울 수 있 습 니 다. - - - - - - -주: 이 방법 은 터미널 에서 만 명령 을 두 드 리 는 것 이 유효 합 니 다. 자신 이 작성 한 스 크 립 트 에 대해 rm 은 원래 rm 입 니 다.

좋은 웹페이지 즐겨찾기