휴지통기능이 있는 rm 유틸리티 만들기 :: 2007/08/28 09:38
/bash
|
|
이 셸 스크립트는 /home/<자기 계정 이름>/bin/remove로 저장하여 두고,
alias rm='/home/<자기 계정 이름>/bin/remove' 같이 해 놓으면 된다.
휴지통 저장 없이 그냥 지우려면 \rm ... 과 같이 하면 되니까 그편이 낫다.
복구 유틸리티도 만들면 좋은데 귀찮아서 아직 못만들었다.
#!/bin/bash
trashcan=~/trashcan
trashcan_cnt=~/trashcan/count
trashcan_idx=~/trashcan/index
if [ ! -e $trashcan ]
then
mkdir $trashcan
fi
if [ ! -e $trashcan_cnt ]
then
echo '000' > $trashcan_cnt
fi
if [ ! -e $trashcan_idx ]
then
touch $trashcan_idx
fi
cur_dir=`pwd`
cur_cnt=`head -1 $trashcan_cnt`
cur_cnt=`printf "%03d" $(expr $cur_cnt + 1)`
cur_date=`date +%Y/%m/%d/%H:%M:%S`
for item in $@
do
if [ -e $item ]
then
first_char=`expr substr $item 0 1`
printf "%s" $first_char
if [ "$first_char" = "/" ]
then
dir=${item}
else
dir=${cur_dir}/${item}
fi
file=`basename $item`
printf "%s\t%s\t%s\t%s\n" $cur_cnt $dir $file $cur_date >> $trashcan_idx
echo $cur_cnt > $trashcan_cnt
if [ ! -e $trashcan/$cur_cnt ]
then
mkdir $trashcan/$cur_cnt
fi
mv $item $trashcan/$cur_cnt
fi
done
|
|
트랙백 주소 :: http://www.buggymind.com/trackback/2
-
파일 복구 unrm 유틸리티
Tracked from John Coder's Diary | 2007/08/31 11:25 | DEL앞서 썼던 글중에 "휴지통 기능을 지원하는 rm 유틸리티" (새 창으로 열기)에 대한 글이 있었다. 이 글은 그 글에 대한 후속편으로, 휴지통에 들어간 파일을 자동복구해주는 unrm 유틸리티의 구현에 관한 것이다.이 유틸리티는 셸 스크립트로 구현되어 있으며,alias unrm="/home/<자기계정이름>/bin/recover" 와 같이 앨리어스를 지정해놓고 이용하면 편리하다. 물론 그러려면 아래의 셸 스크립트를 /home/<자기계정이..





