我可以在终端中访问 Nautilus 的书签吗?

我可以在终端中访问 Nautilus 的书签吗?

我在 Nautilus 中做了一些书签,即一些目录的快捷链接。

我想要cd一个已在 Nautilus 中添加书签的目录。我想知道这是否可能?

答案1

Nautilus 将其书签保存在您家中名为的文件中.gtk-bookmarks(从 Ubuntu 13.04 开始,它位于.config/gtk-3.0/bookmarks)。书签以明文形式存储,每行一个书签。通过一些 shell 脚本,应该可以解析该文件并配置您的 shell 以允许类似以下内容:cd somebookmarkname

答案2

旧线程,但如果它对某人有帮助,@SuperMagic 的有用评论对我不起作用ksh,所以我把它放在.kshrc

function cdbm { 
   ENTRY=$(grep "$1" $HOME/.config/gtk-3.0/bookmarks) 
   DIR=$(echo "$ENTRY" | sed 's|file://||g' | cut -d' ' -f1)
   cd $DIR
}

答案3

正如其他人提到的,您可以使用${HOME}/.config/gtk-3.0/bookmarks以下格式访问 Nautilus 书签file://${PATH}。然而,对于您想要做的事情来说,这是错误的方法。只需为 RC 文件中的路径创建一个 BASH/ZSH 变量或别名,以便自动加载它们。如果您想编写一个脚本,请编写一个自动使用书签文件中的数据填充 RC 文件的脚本:

$ awk -F 'file://' '{ split($2, i, "/"); print i[4] "=" "\""$2"\""; }' "${HOME}/.config/gtk-3.0/bookmarks" | tee -a "${HOME}/.bashrc"

$ cat "${HOME}/.bashrc"
Documents="${HOME}/Documents"
Music="${HOME}/Music"
Pictures="${HOME}/Pictures"
Videos="${HOME}/Videos"
Downloads="${HOME}/Downloads"

相关内容