rm
是Linux
下文件刪除的命令,它是Linux
下非常強大卻又非常危險的1條命令,特別是rm
-rf
有時候強大到讓你欲哭無淚,當你想清除當前目錄下的所有文件和目錄時,很簡單 #rm -rf ./*
這沒甚么,但是,但是如果不謹慎打成這樣#rm
-rf /*
請節哀吧!~~ rm
刪除文件同時刪除inode
信息,這使得使用rm
刪除的文件10分難恢復??傊?code style="padding:2px 4px; font-family:Monaco,Menlo,Consolas,'Courier New',monospace; font-size:14px; white-space:nowrap; background-color:rgb(214,219,223); border:0px">rm太危險了,特別是帶有-rf
參數時1定要慎之又慎,但老虎也有打盹的時候啊,所以為何不給rm
1劑后悔藥呢!
mkdir -p ~/.trash #創建1個目錄作為回收站,這里使用的是用戶家目錄下的.trash目錄
alias rm=trash #命令別名 rm改變成trash,通過將rm命令別名值trash來實現把rm改造成刪除文件至回收站
alias rl='ls ~/.trash' # rl 命令顯示回收站中的文件
alias ur=`undelfile` # ur命令找回回收站中的文件
undelfile() #這個函數的作用是找回回收站下的文件
{
mv -i ~/.trash/$@ ./
}
trash() #這個函數是將指定的文件移動到指定的目錄下,通過將rm命令別名值trash來實現把rm改造成刪除文件至回收站
{
mv $@ ~/.trash/
}
cleartrash() #這個函數的作用是清空回收站目錄下的所有文件
{
read -p “clear sure?[n]” confirm
[ $confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf ~/.trash/*
}
這段代碼定義了3個函數trash
、undelfile
和cleartrash
。trash
的作用是移動文件到指定的回收站目錄;undelfile
的作用是找回回收站目錄中的指定文件;cleartrash
的作用是清空回收站目錄。經rm
命令別名為trash
來實現rm
命令的改造!
下面是直接在用戶家目錄下創建。trash
目錄作為回收站,將其它代碼加入用戶家目錄下的.bashrc
文件下,這樣用戶每次登錄這段代碼就會自動生效!登錄后在bash
下履行1遍下面的命令就能夠把rm
命令改造成刪除文件到回收站了!
mkdir -p ~/.trash
cat >> .bashrc <<EOF
alias rm=trash
alias r=trash
alias rl='ls ~/.trash'
alias ur=undelfile
undelfile()
{
mv -i ~/.trash/$@ ./
}
trash()
{
mv $@ ~/.trash/
}
cleartrash()
{
read -p "clear sure?[n]" confirm
[ $confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf ~/.trash/*
}
EOF