얼마 전에 rm -rf *
작업 디렉터리가 홈 폴더인 잘못된 터미널에서 를 실행했기 때문에 홈 폴더를 잘못 삭제했습니다!
명령 에 대한 별칭이 있었으면 좋겠지 rm
만 그렇지 않았습니다.
이제 의 별칭으로 스크립트를 만들 계획입니다 rm
.
제안할 모범 사례가 있나요?
감사해요.
답변1
맞춤화된 을(를) 원할 경우 이름을 부르지 말고 이름 , 등을 rm
부르 세요.rm
myrm
delete
별칭을 사용하면 일정 시간이 지나면 파일을 제거하기 전에 기본적으로 메시지가 표시될 것으로 예상되므로 별칭 rm='rm -i'
은 공포스럽습니다. rm
물론 언젠가는 해당 별칭이 설정되지 않은 계정으로 실행하게 될 것이며 무슨 일이 일어나고 있는지 이해하기 전에는 너무 늦습니다.
어떤 경우든 파일 손실이나 손상에 대비하는 좋은 방법은 백업을 수행하는 것입니다.
실수로 파일을 삭제하거나 덮어쓰는 것을 방지하는 빠른 대안은 ZFS와 같은 무제한 스냅샷을 지원하는 파일 시스템을 사용하는 것입니다. 빈번한 스냅샷이 자동으로 생성되면 사고 발생 전 마지막 스냅샷 상태로 파일을 복구할 수 있습니다.
답변2
별칭을 저장하고 싶지만 시스템에서 다른 시스템과 다르게 작동하는 명령에 익숙해지고 싶지 않다면 rm
다음과 같이 비활성화할 수 있습니다.
alias rm='echo "rm is disabled, use remove or trash or /bin/rm instead."'
그런 다음 자신만의 안전한 별칭을 만들 수 있습니다.
alias remove='/bin/rm -irv'
또는 trash
대신 사용하십시오.
답변3
당신은 사용해 볼 수 있습니다trash
대신에. 가끔 비워두는 걸 잊지 마세요...
답변4
다음 스크립트를 사용합니다.
#!/bin/sh
trash=$HOME/tmp
mv "$@" $trash
nohup find "$trash" -type f -atime +7 -exec /bin/rm '{}' \; 2>&1 &
실수로 파일을 삭제한 경우 $HOME/tmp
.
스크립트는 삭제된 파일을 tmp
디렉토리로 이동하고 액세스 시간이 7일 이후인 경우 다음에 삭제 스크립트가 실행될 때 해당 파일을 삭제합니다(디렉토리의 반자동 정리 $HOME/tmp
).