αғs*_*нιη 4 command-line trash mv
我想知道如何使用mv命令删除文件和/或将其移至垃圾箱?
我知道垃圾箱所在的位置,然后我尝试使用以下命令将其移至垃圾箱:
mv somefile /home/username/.local/share/Trash
Run Code Online (Sandbox Code Playgroud)
这个命令工作正常,但是当我在启动器中打开垃圾箱时它仍然显示为空。我可以使用以下命令在原始位置撤消此已删除文件:
mv /home/username/.local/share/Trash/somefile ~/
Run Code Online (Sandbox Code Playgroud)
但是如果这个位置/home/username/.local/share/Trash不是用于垃圾箱,那么我的文件移动到哪里了?
我知道rm将永久删除文件而不是将其发送到垃圾箱文件夹,并且没有标志man rm可将文件删除到垃圾箱。
ste*_*ver 12
您可以使用gvfs-trash代替mv
gvfs-trash somefile
Run Code Online (Sandbox Code Playgroud)
将文件移动到 ~/.local/share/Trash 后无法看到文件的原因是下面还有一个额外的目录结构,即
~/.local/share/Trash/files包含实际的垃圾文件;和~/.local/share/Trash/info 包含元数据,例如原始位置虽然你可以使用
mv somefile ~/.local/share/Trash/files
Run Code Online (Sandbox Code Playgroud)
在这种情况下somefile 会在垃圾桶中可见Restore,由于缺少info元数据,将无法使用 nautilus/gvfs功能来取消删除文件- 您需要知道并手动mv将文件移至其原始位置。从这个意义上说,只有gvfs-trash确切的命令行相当于通过 nautilus 删除文件。
Pan*_*dya 11
垃圾目录的相关资料:
~/.local/share/Trash包含两个名为info和 的目录files。
~/.local/share/Trash/files 包含原始文件。~/.local/share/Trash/info包含文件(扩展名:).trashinfo,其中包含有关文件路径和删除日期的信息。因此,如果要使用mv命令,请遵循以下命令:
mv somefile ~/.local/share/Trash/files
Run Code Online (Sandbox Code Playgroud)
但不建议使用上述方法将文件移至垃圾箱。(如评论here)
您可以trash-cli通过以下命令安装垃圾命令行:
sudo apt-get install trash-cli
Run Code Online (Sandbox Code Playgroud)
这里有可用的垃圾命令:
$ 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.
Run Code Online (Sandbox Code Playgroud)
您可以通过以下命令将文件移动/放入垃圾箱:
trash-put somefilesgvfs-trash somefiles通过命令列出垃圾箱: 通过命令恢复文件: 通过命令清空垃圾箱:trash-list
restore-trash
trash-empty
另请访问此问题。