一. 功能簡(jiǎn)介
1. 將刪除的文件放在回收站中
2. 恢復(fù)刪除的文件
3. 實(shí)現(xiàn)linux rm命令的功能, 使用起來幾乎和linux 系統(tǒng)自帶的rm ,命令完全一樣
4. 新增功能: rm -l, rm -e, rm -c
5. 該腳本每次在運(yùn)行時(shí)候會(huì)檢查$HOME/.trash 目錄下文件大小之和, 若
超過最大容量, 腳本會(huì)自動(dòng)將日志文件中所記錄文件中的前一半文件從回
收站中清除,所以建議刪除大文件(相對(duì)于回收站最大容量而言)直接用
命令/bin/rm 而不要用 rm.
二. 使用方法:
1. 將trash文件放到 $HOME/bin/
2. 在$HOME/.bashrc 文件中加入alias rm=”$HOME/bin/trash”, 重新登陸終端或執(zhí)行bash命令。
3. 執(zhí)行命令rm -e 配置回收站的最大容量,單位K
4. 回收站的默認(rèn)目錄為:$HOME/.trash, 默認(rèn)配置文件為:$HOME/.trash/trash.conf
默認(rèn)log文件為:$HOME/.trash/trash.log
5. 怎樣恢復(fù)文件:
在linux 終端中輸入rm -l, 然后 在RowNumber: 后面鍵入要?jiǎng)h除文件所在的行標(biāo)識(shí):988 鍵入y/Y 然后按回車鍵 恢復(fù)成功.
如果想只查看刪除列表, 則鍵入rm -l 后直接按回車鍵或者鍵入Q/q
6. 更詳細(xì)的參數(shù)介紹請(qǐng)鍵入:rm --help
三. 注意事項(xiàng)
1. 想要手動(dòng)清空$HOME/.trash目錄需要用/bin/rm命令, 請(qǐng)不要嘗試用rm -r $HOME/.trash 的方法.
2. 該腳本不支持rm -r -f , rm -rfi (選項(xiàng)組合超過2個(gè))格式.
3. 如果你可以你甚至可以用該腳本作為備份腳本, 假若想備份test2.txt你只需要執(zhí)行rm test2.txt, 當(dāng)然如果真想備份某個(gè)文件的話, 最好編寫專門的備份腳本。
代碼如下:
#!/bin/bash
#配置回收站最大的存儲(chǔ)空間(字節(jié))
#maxmemory=51200 (50M)
#maxmemory=102400 (100M)
#maxmemory=512000 (500M)
#根據(jù)情況設(shè)置為50M(對(duì)于isoa服務(wù)開發(fā)來說足夠了)
maxmemory=3145728
#設(shè)置回收站所在的目錄
trash=$HOME/.trash
#設(shè)置日志文件所在的目錄
mvlog=$trash/trash.log
from1=$1
from2=$2
var_pwd=
var_father=
#回收站若不存在,則新建之
if [ ! -e $trash ];then
mkdir -p $trash
chmod 755 $trash
fi
#產(chǎn)生7位的隨機(jī)數(shù)
function rand()
{
a=(0 1 2 3 4 5 6 7 8 9 a b c d e A B C D E F)
for ((i=0;i<7;i++))
do
echo -n ${a[$RANDOM%${#a[*]}]}
done
}
random=$(rand)
#文件不存在時(shí)的提示信息
function file_null()
{
local file=$1
echo "rm: cannot remove '$file': No such file or directory"
}
#打印參數(shù)出錯(cuò)后的提示信息
function echo_msg()
{
echo -n "rm: missing operand
Try 'rm --help' for more information.
"
}
function echo_msg2()
{
echo -n "rm: invalid option '$1'
Try 'rm --help' for more information.
"
}
#回收站管理函數(shù)
function deal()
{
local tmp=$(mktemp /tmp/tfile.XXXXXX)
local num=$(($(cat $mvlog| wc -l)/2))
新聞熱點(diǎn)
疑難解答
網(wǎng)友關(guān)注