在當前使用者的家目錄下建立乙個隱藏資料夾".temp",它相當於windows系統中的**站。當使用者想安全刪除乙個檔案時,將要刪除的檔案剪下到該目錄即可。如果要恢復,再將".temp"目錄內的檔案剪下到原始的位置。
將刪除檔案的shell指令碼命名為erase,**如下:
#! /bin/bash
recyclebin=~/.temp
(($#==0))&&
if [ ! -d $recyclebin ];then
mkdir $recyclebin
fifor i in $*
doif test -e $i
then
cd $(dirname $i)
mv -f $(basename $i) $recyclebin/$(find $(pwd) -maxdepth 1 -name $(basename $i) | tr "/" "=")
cd -
else
echo "$i:no such file or directory!"
fidone
將恢復檔案的shell指令碼命名為unerase,**如下:
#! /bin/bash
cd ~/.temp
list=$(for i in $*; do ls |grep "\<$i\>"; done)
(($#==0)) &&
for j in $list
dofile=$(echo $j | tr "=" "/")
mv $j $/$
done
儲存這兩個檔案,並使用chmod a+x 為其新增可執行許可權,然後將其複製到」/usr/loal/bin"目錄下,之後就可以像使用rm來使用。要安全恢復某些檔案,使用unerase加上要恢復的檔名即可,如果不加檔名,預設恢復「~/.temp"目錄下的所有檔案。如果先後刪除兩個同名的檔案,那麼在"~/.temp"資料夾中,之前的檔案將會被覆蓋。
檢查linux網路狀態的兩個指令碼
一 通過定時收發email檢測網路連通性 複製 代bobtitdloq碼如下 bin bash echo daily www.cppcns.comtest mail state.txt mail s server state abc jb51.net state.txt rm df state.tx...
兩個棧實現佇列 兩個佇列實現棧
1.兩個棧實現佇列 大致思路 入佇列時,將元素入棧s1,出佇列時,將s2中的元素出棧即可,如果s2為空,那麼將s1中 s1.size 1 個元素出棧,加入到s2中,然後將s1中最後乙個元素出棧,即完成了出佇列的操作 include using namespace std include includ...
兩個棧實現佇列,兩個佇列實現棧
include include include using namespace std 使用兩個棧實現佇列,實現了push,pop,front操作 其中棧s2是輔助棧,push直接在s1中插入 pop從s2中出棧,如果s2是空的,將s1倒進s2,然後再出棧,這樣減少了倒棧次數,比較高效。front就...