rm -rf / * 라이브러리 삭제 방지 : 휴지통 메커니즘 설정 (완벽한 솔루션)

1. 전면에 쓰기

rm -rf /*형태는 많이있다 :

  • rm -rf /* (앞뒤로 똑바로 걷기)
  • rm -rf $abc/* (변수가 존재하지 않습니다)
  • rm -rf abc /*(하나 더 하드 코어 공간 " ")

그것을 이해하는 사람은 자연스럽게 그 힘을 이해할 것입니다.

이를 위해, 다시 이해뿐만 아니라 rm, rm -rf뿐만 아니라 공간 뿐만 아니라 다시 발생과 같은 일을 방지하기 위해 몇 가지 안전 조치를 할 수 있습니다.

2. 두 가지 사고 방식

다음 두 가지 아이디어는 본질적으로 동일 할 수 있습니다.

  • 삭제 해야하는 파일을 다음 과 같이 지정된 디렉토리로 이동 (삭제하지 않음) 합니다./trash/
  • 정기적으로 청소/trash/ 중인 파일

그러나 특정 용도에는 여전히 약간의 차이가 있습니다 (권장 방법 2).

2.1 방법 1 : rm은 mv에 의해 구현 된 함수를 가리 킵니다.

참고 : 버그를 작성하고 실수로 rm -fr / *을 실행했습니다. 라이브러리를 삭제했습니다. 도망 칠까요?

방법

  • 휴지통 디렉토리를 만듭니다.mkdir /home/.trash

  • remove.sh 스크립트 작성
    여기에 사진 설명 삽입

  • ~/.bashrc자체 구축 된 remove.sh대체 rm명령으로 수정

  • 정기적으로 휴지통을 비우도록 crontab을 설정합니다. 예를
    들어 매일 0:00에 휴지통을 비우도록 설정합니다.
    (1) 편집 입력

    crontab -e 
    

    (2) 다음을 작성하십시오.

    0 0 * * * rm -rf /home/.trash/*
    

    여기에 사진 설명 삽입
    (3) 편집 종료 :control x

  • source ~/.bashrc.bashrc를 적용하기 위해 실행

  • 예를 들면 사용 :

     rm ./test_delete
    

불리

  • 단점 1 : /home/.trash/쉬움Permission denied
    여기에 사진 설명 삽입
  • 단점 2 : 이미 rm명령을 사용중인 스크립트 에 영향을 미칠 있음

2.2 방법 2 : mv로 구현 된 새 명령 만들기

참조 : Linux rm 명령 복구 메커니즘

방법

  • 루트 정체성
  • 다음 코드가 작성 /etc/bashrc되거나 /etc/bash.bashrc포함됩니다.
#rmm delete
alias rmm=trash
alias rl='ls -a  $HOME/.trash'

trash()
{
    
    
 trash_path="$HOME/.trash"
 if [ ! -d $trash_path ]; then
    mkdir -p $trash_path
 fi
 for i in $*; do
       if [ "$i" == "-f" -o "$i" == "-rf" ] ;then
           continue
       fi
       STAMP=`date +%Y%m%d-%H:%M:%S`
       FileName=`basename $i`
       mv $i $trash_path/$FileName"_"$STAMP
 done
  • 위 파일을 소싱하여 즉시 적용
  • 정기적 인 청소 설정 (방법 1 참조)

사용 예

  • rm : 이동 (삭제)
  • rl: 휴지통에 정보 표시

(1) 루트 ID

root@suer-virtual-machine:/etc# rmm /home/suer/test_dir4
root@suer-virtual-machine:/etc# rl
.   test_dir2_20210127-10:42:49  test_dir4_20210127-14:24:36
..  test_dir3_20210127-10:46:24

(2) 일반 사용자 ID

suer@suer-virtual-machine:~$ rmm test_dir5
suer@suer-virtual-machine:~$ rl
.  ..  test_dir5_20210127-14:44:59

가능한 문제

당신은 기사가 도움이 될 수 있습니다 생각하거나 할 수 있다면 칭찬을 지적 , 어떤 지원 블로거.

추천

출처blog.csdn.net/Robin_Pi/article/details/113250184