前言:
linux系統(tǒng)下的rm是不可挽回的,命令設(shè)計(jì)本身沒有問題,問題在于我們通常非常的自信,執(zhí)行的時(shí)候喜歡rm -rf,這樣的話就非常危險(xiǎn)了,在執(zhí)行的時(shí)候如果執(zhí)行命令不對,甚至是執(zhí)行的目錄不對,那么將會(huì)造成很大的麻煩,輕則會(huì)導(dǎo)致加班加點(diǎn),浪費(fèi)人力物力,重則影響公司業(yè)務(wù),更甚則有開除之虞,而windows下的回收站機(jī)制就是一個(gè)非常不錯(cuò)的策略,但linux并不自帶,那我們就可以手動(dòng)創(chuàng)建一個(gè),直接執(zhí)行就好:
mkdir -p ~/.Trash
cat >>~/.bashrc<<EOF
#add by caimengzhi at $(date +%F) for Linux trash start
alias rm=trash
alias rl='ls ~/.Trash'
alias ur=undelfile
undelfile()
{
mv -i ~/.Trash/\$@ ./
}
trash()
{
mv \$@ ~/.Trash/
}
cleartrash()
{
read -p "Clear trash?[n]" confirm
[ \$confirm == 'y' ] || [ \$confirm == 'Y' ] && /usr/bin/rm -rf ~/.Trash/*
}
#add by caimengzhi at $(date +%F) for Linux trash end
EOF
source ~/.bashrc
說明:
1. ~/.Trash就是以后被刪除的文件和文件夾移動(dòng)到的地方,也就是回收站
2. \$confirm 是實(shí)現(xiàn)驗(yàn)證的意思,也就是最后在文件中就是$confirm。其中\(zhòng)$@一樣
3. 上面的作用,說白了就是命令rm 的重命名。
使用語法:
rm(刪除),ur(撤銷),rl(列出回收站),cleartrash(清空回收站)命令了。
#刪除一個(gè)文件夾和文件都會(huì)被移動(dòng)到回收站中。
$rm filedirctory
#刪除一個(gè)文件
$rm file.txt
#撤銷對file.txt的刪除
$ur file.txt
#撤銷filedirctory文件夾
$ur filedirctory
#列出回收站
$rl
#清空回收站
cleartrash
ok,基本的內(nèi)容就是這些,本質(zhì)上來說,只是替換了root用戶的rm命令為mv命令,如果系統(tǒng)建立了別的用戶,那么也需要使用該用戶重新執(zhí)行上面的命令,看情況吧,如果失去了root權(quán)限,那么rm -rf的威力也就不足為懼了,當(dāng)然,我們也需要執(zhí)行正規(guī)的rm命令,怎么做呢,這樣就ok了:
/usr/bin/rm -rf
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。