Tim*_*Tim 6 filesystems directory nautilus directory-structure files
在我的 Ubuntu 中,我在 Nautilus 的书签中添加了一些经常访问的目录,以便更快地访问它们。
当 Nautilus 长时间保持打开状态并且其中打开了许多选项卡时,它会消耗大量内存。Nautilus 也可以意外关闭自己,让我忘记我正在使用的目录。所以我在考虑 Nautilus 的一些替代品(GUI 和 CLI 都很好)。
我想命令行是最简单的选项。但是我会想念 Nautilus 的书签便利性。
我正在寻找 Nautilus 的目录书签的存储位置,但无济于事:
$ find ~ -name nautilus | less
./.config/nautilus
./.gconf/apps/nautilus
./.gconf/apps/ubuntuone/nautilus
./.gnome2/accels/nautilus
Run Code Online (Sandbox Code Playgroud)
我检查了上述位置和那里的文件内容,但没有找到任何书签。
我自己使用 autojump 并且我还依赖许多别名在命令行中导航,例如:
alias b='cd -'
alias c='cd ~/Dropbox/95_2014/work/code'
alias d='~/Dropbox'
alias lnk='cd ~/Dropnot/webs/rails_apps/linker'
alias n='cd ~/Dropnot'
alias play='cd ~/play/'
alias q='cd ~/Dropbox/95_2014/work/code/ruby__rails/ruby/ruby_quiz'
alias s='cd ~/Dropnot/setups'
alias w='cd ~/Dropnot/webs'
alias work='cd ~/Dropbox/95_2014/work'
Run Code Online (Sandbox Code Playgroud)
我将这些和所有其他别名保存在 ~/.bash_aliases 文件中,并将其包含在
test -f ~/.bash_aliases && . $_
Run Code Online (Sandbox Code Playgroud)
在我的.bashrc文件中。
对于我的自动跳转安装,我在我的 .bashrc
test -s ~/.autojump/etc/profile.d/autojump.sh && . $_
Run Code Online (Sandbox Code Playgroud)
它保持了我的.bashrc点文件的可移植性,因为它允许我即使在没有安装 autojump 的新机器上也有该行而不会出错。
对于实际组织,我使用:
~/Dropbox # stuff for the future / elsewhere, maintained by Dropbox
~/Dropnot # stuff for git, not Dropbox, i.e. sites and apps
~/Dropbox/95_2014 # My 'year' approach to archiving old stuff every year
~/Dropbox/95_2014/work # All my work stuff which is most of it.
~/Dropbox/95_2014/life # All my non-work, personal and private stuff
Run Code Online (Sandbox Code Playgroud)
我也用:
~/tmp # as a scratchpad directory for files I don't care about.
~/setups # for a cloned github repo with my dotfiles.
Run Code Online (Sandbox Code Playgroud)
以及以下系统目录
~/Downloads
~/Desktop
~/Pictures
Run Code Online (Sandbox Code Playgroud)
用于快速使用,例如截图、下载等。
我还设置autocd了允许您键入目录名称并在它存在时将其放入 cd 的设置(在 Ubuntu 中可以,但在 OSX 中我必须将我的 bash 版本从 3 升级到 4。调用它的行是:
[ ${BASH_VERSINFO[0]} -ge 4 ] && shopt -s autocd
Run Code Online (Sandbox Code Playgroud)
我还发现在我的PS1提示中包含目录信息以显示前三个(当前)目录和后两个目录以及时间、名称机器和 git 分支很有帮助,如

我通过在我的 .bashrc
git_branch () { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'; }
HOST='\033[02;36m\]\h'; HOST=' '$HOST
TIME='\033[01;31m\]\t \033[01;32m\]'
LOCATION=' \033[01;34m\]`pwd | sed "s#\(/[^/]\{1,\}/[^/]\{1,\}/[^/]\{1,\}/\).*\(/[^/]\{1,\}/[^/]\{1,\}\)/\{0,1\}#\1_\2#g"`'
BRANCH=' \033[00;33m\]$(git_branch)\[\033[00m\]\n\$ '
PS1=$TIME$USER$HOST$LOCATION$BRANCH
Run Code Online (Sandbox Code Playgroud)
请注意回车符,以便长 PS1 提示不会将光标推到右侧。
我喜欢 nautilus 中的这些,但避免在命令行中访问或使用它们。我不想处理可能涉及的同步问题;我使用 OSX(以及 Ubuntu),它在那里没有用;命令行中的上述别名策略更适合我;无论如何,我只喜欢 gui 侧面板中的 6-12 个书签,因此即时创建并不难(<1 分钟的一次性任务)。
就我个人而言,我从未理解成熟的文件管理器的使用。我非常喜欢coreutils用于文件管理。因此,我对此的解决方案是建议使用目录管理实用程序。其中有无数,我个人从未发现它们的用途,因此我无法提出个人建议。但是,以下是一些您可以探索的示例:
这是显而易见的是,许多这些工具都是由同一个人设计(即j,j2,z和v)。但是,我想他们都有足够的差异来证明不同的项目是合理的。
我想这意味着我对您的主要建议实际上是coreutils. 它似乎不是一种替代方法。但实际上所有文件管理器实际上只是coreutils.
但是,因为你是欢迎所有替代鹦鹉螺,我会增加一个终端为基础的替代(TUI,虽然,FTW诅咒接口!) mc。Midnight Commander(或mc)是一种基于终端的可视化文件管理解决方案。就个人而言,我发誓coreutils,但我知道很多人对mc.
我的最终建议深深植根于我是一名弓箭手——“试试看”[你更喜欢哪个]!用那个!