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


2

而不是使用“RM”命令的东西。我想有一个自定义命令,将文件移动到具有它的目录的“垃圾”文件夹。例如。

如果文件是/home/test/folder1/xx/file.so,当使用该命令处理它时,它将移动到/trash/home/test/folder1/xx/file.so,这样我就没有任何冲突这个名字已经在垃圾桶里了。

任何人有任何想法如何实现这一点,并允许它递归使用,所以目录也可以被删除?

Answers:


2

看一下 垃圾CLI 。它为KDE,GNOME和XFCE使用的相同“垃圾桶”提供命令行界面。


一直在使用这个,我喜欢它。
George IV

这就是我需要的。我更喜欢拥有自己的目录,并按照我的方式做事,但这会做我想要的。

并且您始终可以创建别名 rm,所以它将使用trash-cli而不是rm。刚刚放 alias rm='trash-put' 在你的〜/ .bashrc中,当你调用rm时,任何新的shell都应该使用trash。如果你想使用真正的rm只需输入 \rm 它会起作用。
Flávio Amieiro

5
我强烈建议不要使用别名rm。你会愉快地使用它,安全地知道你有垃圾文件,以防你出错了,有一天你会发现你没有。可能是你在不同的机器上,或者某种程度上你的.bashrc被覆盖了。拥有自己的命令要好得多,发现它不起作用并修复它而不是永久删除文件。

为了记录,trash-cli搬到了GitHub github.com/andreafrancia/trash-cli 但我无法编辑答案。
Calimo

0

我用:

  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
}

安全,轻松。


不太安全,例如,如果您要删除的文件位于您家以外的分区上,则可以保证会导致很多问题
Calimo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.