Главные темы ► linux ► shell ► exec ► Удаление файлов из bash linux с возможностью восстановления
Теги: exec

Удаление файлов из bash linux с возможностью восстановления

Удаление файлов из bash linux с возможностью восстановления

    Пример

    Чтобы использовать данный скрипт в деле, необходимо сделать алиас для команды rm

    alias rm=yourpath/newrm

    Сценарий требует доработки

    #!/bin/bash archivedir="$HOME/.deleted-files" realrm="$(which rm)" copy="$(which cp) -R" #копировать рекрусивно if [ $# -eq 0 ] ; then #если кол-во поз. параметров = 0, тогда вытеснить процесс командной rm exec $realrm fi flags="" while getopts "dfiPRrvW" opt #допустимые опции do case $opt in f ) exec $realrm "$@" ;; #покинуть сценарий немедленно * ) flags="$flags -$opt" ;; #сохранить опции esac done shift $(( $OPTIND -1 )) #сместить #--------------------------------------------------------------------------------- if [ ! -d $archivedir ] ; then if [ ! -w $HOME ] ; then echo "$0 failed: can'not created $archivedir in $HOME" >&2 exit 1; fi mkdir $archivedir chmod 700 $archivedir fi for arg #список файлов, которые удаляются do newname="$archivedir/$(date "+%S.%M.%H.%d.%m").$(basename "$arg")" #создать директорию + файл if [ -f "$arg" -o -d "$arg" ] ; then #если файл существует или каталог существуют и являются ими $copy "$arg" "$newname" #копия файлов в newname fi done exec $realrm $flags "$@" #Текущий сценарий будет вытеснен командой realrm с опциями
    Источники
    Последнее изменение: October 10, 2024 04:29


    Редактировать


    test

    2025-12-31 23:09:00 Редактировать

    test

    2025-12-31 23:10:00 Редактировать

    Я буду рекламой
    Я тоже буду рекламой
    И я
    ВВЕРХ
    Loading…
    Loading the web debug toolbar…
    Attempt #