링크 ux 패키지 rm - rf 명령, 오류 방지

2451 단어 shell
Liux 초보 자 에 게 명령 을 잘못 두 드 리 는 것 은 흔히 있 는 일이 다. 지혜 로 운 사람 은 여러 가지 생각 을 하면 반드시 실 수 를 한다. 설령 오래된 운전 자 에 게 도 조작 실 수 를 할 때 가 있 을 수 있 고 삭제 로 인 한 결 과 는 보완 할 수 없다.데 이 터 를 잘못 삭제 한 후에 후회 하기 보 다 는 이런 오류 가 발생 하지 않도록 빨리 방법 을 찾 는 것 이 낫다.여 기 는 alias 를 사용 하여 rm 명령 에 별명 을 설정 하여 rm 명령 을 실행 할 때 실제 적 으로 뮤 직 비디오 명령 을 실행 하여 삭제 해 야 할 파일 을 자신 이 만 든 휴지통 에 넣 습 니 다.첫째, 먼저 셸 스 크 립 트 1. changerm. sh 를 작성 하여 rm 명령 을 변경 합 니 다. 코드 는 다음 과 같 습 니 다.
#!/bin/sh
trash_dir=/trash/`date +%Y%m%d`      #          ,   /trash/

if [ ! -d ${trash_dir} ] ;then
    mkdir -p ${trash_dir}
fi

for i in $*
do
    suffix=`date "+%H%M%S"`
    if [ ! -d "${i}" ]&&[ ! -f "${i}" ];then    #                 
		if [[ "${i}" != "-rf" && "${i}" != "-f" ]];then     #   -rf    ,  mv      -rf,-f  
           echo "[${i}] do not exist"
		fi
    else
        file_name=`basename $i`   #        
        mv ${i} ${trash_dir}/${file_name}_${suffix}_${RANDOM} 
        echo "[${i}] delete completed"  
    fi
done

2. cleartrash. sh 는 정기 적 으로 휴지통 을 청소 하 는 데 사 용 됩 니 다.
#!/bin/sh
trashdir=/trash
cd ${trashdir}
find ./ -mtime +3 -exec 'rm' -rf {} \;       #            3    ,       

(비고: rm 이 봉 인 된 후 따옴표 가 있 는 'rm' 은 실제 삭 제 됩 니 다)
2. rm 명령 에 별명 설정 1. 수정/etc/bashrc vim /etc/bashrc 파일 마지막 에 추가 (주:/home/shell 경 로 는 실제 상황 에 따라 수정):
alias rm='sh /home/shell/changerm.sh'         #    rm             changerm.sh   
source /etc/bashrc 이 파일 을 다시 불 러 옵 니 다. 2. 수정 ~/. bashrc vim ~/.bashrc 는 alias rm 줄 의 정 보 를 수정 하고 없 으 면 다음 줄 을 추가 합 니 다 (주:/home/shell 경 로 는 실제 상황 에 따라 수정 합 니 다).
alias rm='sh /home/shell/changerm.sh'
source ~/.bashrc 이 파일 을 다시 불 러 옵 니 다.
3. crontab 계획 을 추가 하고 cleartrash. sh 명령 을 정시 에 실행 crontab -e 명령 을 정시 작업 편집 인터페이스 에 들 어가 맨 뒤에 추가 합 니 다 (주:/home/shell 경 로 는 실제 상황 에 따라 수정 합 니 다).
00 22 * * * sh /home/shell/cleartrash.sh     #  22:00          
service crond restart crontab 서 비 스 를 다시 시작 합 니 다. crontab -l 명령 을 사용 하면 방금 추 가 된 부분 을 볼 수 있 습 니 다. 마지막 으로 추가 에 성공 했다 는 것 을 증명 합 니 다. 이 방법 으로 rm - rf 명령 을 패키지 한 후에 잘못된 삭 제 를 피 할 수 있 습 니 다. 그러나 따옴표 가 있 는 'rm' - rf 작업 을 실행 하면 시스템 의 원래 삭제 기능 을 호출 하여 패키지 스 크 립 트 를 거치 지 않 고 파일 을 직접 삭제 합 니 다.

좋은 웹페이지 즐겨찾기