Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Kirill Frolov                        2:5030/827.2   01 Jun 2003  07:37:42
 To : Alexandr S. Agranovsky
 Subject : Re: rm -rf *
 -------------------------------------------------------------------------------- 
 
 AD>>> # rm -rf /
 KF>>    Применил патч имени бармина, случайно :-(
 ASA> Кстати, поделитесь впечатлениями от cat /dev/zero >/dev/kmem
 ASA> ;)
  
  Hе хочу, и не рекомендую пробовать -- на диске что-нибудь попортить может!
 
  Я же не от рута rm -rf * делал. И CTRL-C ещё успел вовремя нажать. А патч
 бармина, запущенный от рута (я им слакварь сносил для установки дебиана),
 не до конца всё удаляет, что-то он удалить не может, не помню уже почему.
 
    Кстати, попытка номер два (для alias rm="$HOME/bin/trash"):
 
 #!/bin/sh
 # version 0.2 (01-Jun-2003)
 # send bug reports to: Kirill.Frolov@p2.f827.n5030.z2.fidonet.org
 
 TRASHDIR=${TRASHDIR:="$HOME/.trash"}
 TRASHMAXSIZE=${TRASHMAXSIZE:=0}
 opt_i=0; opt_r=0; opt_f=0; opt_v=0
 
 opts() {
 unset arg
 args=:
 for next in "$@"; do
 case $arg in ?*) eval $arg=\'$next\'; unset arg; args="${args}-"; continue;;
 esac
 case $next in
   --)  break;
    ;;
   -h|--help|-help|--h|--he|--hel|-he|-hel) 
    echo "Usage: trash [OPTIONS]... FILE..."
    echo "Move file(s) to trash can."
    echo
    echo "-f, --force              ignore nonexistent files, never prompt"
    echo "-i, --interactive        prompt before any removal"
    echo "-r, -R, --recursive      remove the content of directories recursively"
    echo "-v, --verbose            explain what is being done"
    echo "-t, --trash <directory>  specify trash can directory"  
    echo "-h, --help               display this help and exit"
    echo "--version                output version information and exit"
    echo
    echo "See man page trash(1) for more information."
    exit 0
    ;;
   --version) 
    echo "trash version 0.0"
    exit 0
    ;;
   --interactive)   opt_i=1; opt_f=0;;
   -r|-R|--recursive)   opt_r=1;;
   --force)     opt_f=1; opt_i=0;;
   --verbose)   opt_v=1;;
   --trash)
    arg=TRASHDIR
    ;;
   -*)
    while { next=${next#?}; [ -n "$next" ]; };
    do case $next in
       i*) opt_i=1; opt_f=0;;
       r*|R*) opt_r=1;;
       f*) opt_f=1; opt_i=0;;
       v*) opt_v=1;;
       t*) case $next in t) arg=TRASHDIR;;
           *) TRASHDIR=${next#?}
        ;; esac
        next="-t"
        break
        ;;
       *)
        while :; do
        case $next in ??*) next=${next%?};;
           *) break;;
        esac; done  
        echo "trash: invalid option -- \`$next'"
        echo "Try \`trash --help' for more information."
        exit 1
    ;; esac 
    done
    ;;
   *)
    args="${args}x"
    continue
 ;; esac
 args="${args}-"
 done
 case $arg in ?*)
   echo "trash: option requires an argument: $next"
   exit 1 
 ;; esac
 }
 opts "$@"
 
 unset rmopts mvopts
 case $opt_f in 1) rmopts="$rmopts -f";; esac
 case $opt_v in 1) rmopts="$rmopts -v"; mvopts="$mvopts -v";; esac
 
 set -e
 
 optend=no
 for next in "$@"; do
 args=${args#?}
 case $args in -*) continue;; esac
 
 [ -e "$next" ] || {
   case $opt_f in 0)
    echo "trash: cannot remove \`$next': No such file or directory" >&2
   ;; esac
   continue
 }
 
 [ $opt_r = 0 -a -d "$next" ] && {
   case $opt_f in 0)
    echo "trash: \`$next' is a directory" >&2
   ;; esac
   continue
 }
 
 case $opt_i in 1)
   if [ -d "$next" ]; then echo "move directory \`$next' to trash can?"
    else echo "move file \`$next' to trash can?"
   fi
   read a
   case $a in y|Y);; *) continue;; esac
 ;; esac
 
 if [ "$TRASHMAXSIZE" -eq 0 -o $(du -s -- "$next" | cut -f 1) -lt "$TRASHMAXSIZE"
 ]; then
   eval mv $mvopts -- \'$next\' \'$TRASHDIR\'
 else
   echo "trash: \`$next' cannot be moved to trash can"
   echo "trash: REMOVE file or directory \`$next'?"
   read a
   case $a in y|Y);; *) continue;; esac
   eval rm $rmopts -- \'$next\' || true
 fi
 
 done
 
 -- 
 [ZX]
 --- ifmail v.2.14-tx8.10
  * Origin: A quick brown fox jumps over the lazy dog. (2:5030/827.2)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: rm -rf *   Kirill Frolov   01 Jun 2003 07:37:42 
 Re: rm -rf *   Andrew Dolgov   02 Jun 2003 02:44:57 
 rm -rf *   Evgenii Terechkov   31 May 2003 06:52:57 
Архивное /ru.linux/3833a9f31967.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional