我不想使用 RM。我想使用自定义“软删除”命令

我不想使用 RM。我想使用自定义“软删除”命令

我不想使用“RM”命令。我想要一个自定义命令,将文件移动到“垃圾”文件夹及其所在目录。例如。

如果使用命令处理文件时文件为 /home/test/folder1/xx/file.so,它将移动到 /trash/home/test/folder1/xx/file.so,这样我就不会与垃圾箱中已有的同名文件发生冲突。

有人知道如何实现这一点,并允许它以递归方式使用,以便目录也可以被丢弃吗?

答案1

看一下垃圾处理。它提供了与 KDE、GNOME 和 XFCE 使用的相同“垃圾桶”的命令行界面。

答案2

我用:

  function trash () { # safe rm to trash
  local path
  for path in "$@"; do
    # ignore any arguments
    if [[ "$path" = -* ]]; then :
    else
      local dst=${path##*/}
      # append the time if necessary
      while [ -e ~/.Trash/"$dst" ]; do
        dst="$dst "$(date +%H-%M-%S)
      done
      mv "$path" ~/.Trash/"$dst"
    fi
  done
}

安全又简单。

相关内容