linux編寫兩個指令碼實現安全刪除和恢復命令

2021-06-28 15:21:48 字數 965 閱讀 7324

在當前使用者的家目錄下建立乙個隱藏資料夾".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就...