史萊姆論壇

返回   史萊姆論壇 > 專業主討論區 > 網路疑難應用技術研討區
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


發文 回覆
 
主題工具 顯示模式
舊 2004-07-04, 02:26 AM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 安全移除和恢覆文件的指令碼

剛才在CU的罈子上找資料的時候看到這個,感覺比較有用一些,花了點時間修正了一下程序中的小bug,並增加了一個小功能,貼出來共享一下

——————————————————
由於現在的linux文件系統大多是etx3的,一不小心刪除後是無法恢復的(至少我不知道),而rm是個很危險的操作!鑒於此寫了這倆小指令碼
1,用root修改rm的權限:
#chmod o-x /bin/rm
2,在用戶主目錄下新增個"垃圾箱"
$mkdir ~/.temp

del

程式碼:
#! /bin/bash
(($#==0)) && { echo "No paraments!";exit 1; }
for i in $*
do
if test -e $i
then
cd $(dirname $i)
mv -f $(basename $i) ~/.temp/$(find $(pwd) -maxdepth 1 -name $(basename $i) | tr "/" "=")
cd -
else
echo "$i:No such file or directory!"
fi
done

recover

程式碼:
#! /bin/bash

cd ~/.temp
list=$(for i in $*; do ls |grep "\<$i\>"; done)
(($#==0)) && { list=$(ls|grep ""); }
for j in $list
do
file=$(echo $j | tr "=" "/")
mv $j ${file%/*}/${file##*/}
done ——————————————————————

不過如果懶的敲程式碼的話可以把alias rm到mv!
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
回覆時引用此帖
發文 回覆



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 12:51 AM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1