如何通过终端删除到垃圾箱(使用 mv 命令)?

如何通过终端删除到垃圾箱(使用 mv 命令)?

我想知道如何使用mv命令删除文件和/或将其移至垃圾箱?

我知道垃圾箱在哪里,然后我尝试用以下命令将其移至垃圾箱:

mv somefile /home/username/.local/share/Trash

此命令工作正常,但当我在启动器中打开垃圾箱时,它仍然显示为空。我可以使用以下命令在原始位置撤消此已删除的文件:

mv /home/username/.local/share/Trash/somefile ~/

但是如果这个位置/home/username/.local/share/Trash不是垃圾箱,那么我的文件被移动到了哪里?

我知道rm将永久删除文件并且不会将其发送到垃圾文件夹,并且没有man rm将文件删除到垃圾的标志。

答案1

你可以gvfs-trash使用mv

gvfs-trash somefile

将文件移至 ~/.local/share/Trash 后无法看到它的原因是,该文件下面有一个额外的目录结构,即

  • ~/.local/share/Trash/files包含实际被删除的文件;以及
  • ~/.local/share/Trash/info包含原始位置等元数据

尽管你可以使用

mv somefile ~/.local/share/Trash/files

在这种情况下somefile Restore在垃圾箱中可见,由于缺少元数据,无法使用 nautilus/gvfs函数取消删除文件info- 您需要知道并手动将mv文件移至其原始位置。从这个意义上讲,只有gvfs-trash确切的命令行等同于通过 nautilus 删除文件。

答案2

有关垃圾箱目录的信息:

~/.local/share/Trash包含两个名为info和 的目录files

  • ~/.local/share/Trash/files包含原始文件。
  • ~/.local/share/Trash/info包含文件(扩展名.trashinfo:),其中包含有关文件路径和删除日期的信息。

因此,如果您想使用mv命令,请按照命令操作:

mv somefile ~/.local/share/Trash/files

但不建议使用上述方法将文件移至垃圾箱。(如评论所述这里


您可以安装垃圾命令行即trash-cli通过以下命令:

sudo apt-get install trash-cli

以下是可用的垃圾命令:

$ apropos trash
gvfs-trash (1)       - Move files or directories to the trash
restore-trash (1)    - Restore for Command line trash utility.
trash (1)            - Command line trash utility.
trash-empty (1)      - Empty for Command line trash utility.
trash-list (1)       - List trashed files.
trash-put (1)        - Command line trash utility.

您可以使用以下命令移动/将文件放入垃圾箱:

  1. trash-put somefiles
  2. 或者gvfs-trash somefiles

列表通过命令删除:trash-list
恢复通过命令来获取文件:restore-trash
空的通过命令删除:trash-empty

另请访问问题。

相关内容