清除 Linux Mint 上最近打开的文件历史记录

清除 Linux Mint 上最近打开的文件历史记录

有时我家里的其他人会短暂使用我的计算机,当他们这样做时,我有时不希望他们看到我的文件历史记录。我知道如何阻止 Bash~/.bash_history暂时将条目写入文件。如何擦除菜单中显示的历史记录,例如在 中查看的文件eog

能否快速清除 shell 中最近的历史记录。这是不使用繁琐且清晰可见的路径,通过转到菜单,单击“最近的文件”,滚动经过我要删除的所有名称,然后单击“清除列表”?

答案1

历史记录已存在~/.local/share/recently-used.xbel,但仅删除该文件还不够。如果您这样做,该Recent Files条目会继续显示您访问过的文件,并且如果您使用创建“最近的文件”条目的应用程序打开一个文件,那么和旧的文件列表将再次写入该文件。

您想要做的是创建一个别名或脚本来删除该文件,然后将其清空:

rm ~/.local/share/recently-used.xbel
touch ~/.local/share/recently-used.xbel

或者做:

echo -n '' > ~/.local/share/recently-used.xbel

如果您不想那么引人注目,您还可以编辑该文件并删除历史记录中不需要的任何条目。它是一个 XML 文件,<bookmark>其中的条目具有href包含内容 URI 的属性。

例如,您可以使用xmlstarlet以下命令删除您在桌面上单击的任何文件名以 food 开头的条目:

xmlstarlet ed -L -d "/xbel/bookmark[starts-with(@href, 'file:///home/$USER/Desktop/food')]" ~/.local/share/recently-used.xbel

答案2

运行此命令,在该位置创建样板 xbookmark/xml 文件~/.local/share/recently-used.xbel

cat > ~/.local/share/recently-used.xbel <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<xbel version="1.0"
      xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks"
      xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"
>
</xbel>
EOF

然后运行sudo chattr +i ~/.local/share/recently-used.xbel,这样没有root就永远无法修改。

相关内容