我在 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"