使用GNU stow统一管理用户目录下那些隐藏的配置文件

命令行工具们有一个约定俗成的习惯:把配置文件写到用户的Home目录下面的隐藏文件里。系统用的时间一长,这样的文件就有一堆,有些你编辑过了,有些没有,并且你都不知道里面有些什么。先来看一下你有多少个这样的文件吧:

也许你已经想到了一千种方法来折腾它们。在用户目录下面 git init 一下?这可不是什么好主意。把它们手工复制到某个地方然后手工 ln -s 回来?这也太麻烦了。然而我们现在有个叫stow的工具可以自动化处理这一切。

GNU stow本来是为了用于管理软件包安装以及多版本共存的一个程序。它做的主要工作就是根据目录来自动建立软链接。这样就正好满足了我们的需求。首先把所有的配置文件复制到某个文件夹去,然后运行一下 stow ,它们就自动链接好了。

这样还是有些太烦了。所以我写了个Bash函数来自动处理这一切。

比如我们要处理来自vim的配置文件,只需要运行 dotfiles-init vim ,一切就自动完成。想用Git管理配置文件?没问题,去 $DOTFILES 下面 git init 一下。想用网盘同步?没问题,把 $DOTFILES 设置到你的网盘目录下面。想移动你的存放目录,或者在另一台机器上恢复配置?没问题,改下 $DOTFILES 然后运行 dotfiles-rebuild * 就好(如果你关掉了Shell并且没链接配置文件,那么祝贺你作死成功……)。

这样是不是干净多了呢?

An image showing all dotfiles are linked by stow

参考:

使用GNU stow统一管理用户目录下那些隐藏的配置文件》上有1条评论

发表评论