恢复使用rm命令

时间:2018-02-28 12:21:12

标签: bash shell sh

请执行命令

#  CREATE TRASH FOLDER

if ! [ -d "$HOME/deleted" ] ; then
     mkdir $HOME/deleted
fi

TRASH=$HOME/deleted
mv $@ $TRASH

将文件或目录移动到创建的废纸篓。我可以运行什么命令将同一文件恢复到原始目录

2 个答案:

答案 0 :(得分:0)

如果您创建这样的已删除目录,您可能会遇到一些意外行为。例如:

rm_script test.txt
cd ../other_directory
rm_script test.txt

将创建一个文件test.txt,其内容为other_dir中的内容。启动rm_scripting /移动目录时更有趣。

了解这一点,并再次引用垃圾cli(参见评论Aserre),您可能会:

if ! [ -d "$HOME/deleted" ] ; then
    echo "What a pity! No deleted directory."
    echo "Your file(s) is/are lost forever!"
    exit 361
fi

TRASH=$HOME/deleted
for file in  $@ ; do
    if [ -f "$TRASH/$file" ] ; then
        cp "$TRASH/$file" .
    else
        echo "Hmm,.. I cannot find $file."
    fi
done

这也可能会产生一些不必要的结果,例如从一个目录中删除文件并在另一个目录中取消删除它。

答案 1 :(得分:-2)

我只是执行相同命令行的反向

function undo () {
  echo -n "Do you want to recover $*? "
  read ANSWER
  if [ "$ANSWER" = "y" ]; then
    mv $TRASH/$@ $PWD
    echo "$@ successfully recovered"
  else
    echo "Oops, request denied"
  fi
}