我想知道如何使用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.
您可以使用以下命令移动/将文件放入垃圾箱:
trash-put somefiles
- 或者
gvfs-trash somefiles
列表通过命令删除:trash-list
恢复通过命令来获取文件:restore-trash
空的通过命令删除:trash-empty
另请访问这问题。