用 rcm 管理隐藏文件-隐藏文件
许多 GNU/Linux 程序的一个特点是有个易于编辑的配置文件。几乎所有常见的自由软件都将配置设置保存在纯文本文件中,通常采用结构化格式,如 JSON、YAML 或 “类似 ini” 的文件中。这些配置文件经常隐藏在用户的主目录中。但是,基本的 ls 不会显示它们。UNIX 标准要求以点开头的任何文件或目录名称都被视为“隐藏”,除非用户特意要求,否则不会列在目录列表中。例如,要使用 ls 列出所有文件,要传递 -a 选项。
随着时间的推移,这些配置文件会有很多定制配置,管理它们变得越来越具有挑战性。不仅如此,在多台计算机之间保持同步是大型组织所面临的共同挑战。最后,许多用户也对其独特的配置感到自豪,并希望以简单的方式与朋友分享。这就是用到 rcm 介入的地方。
rcm 是一个 “rc” 文件管理套件(“rc” 是命名配置文件的另一种约定,它已被某些 GNU/Linux 程序采用,如 screen 或 bash)。 rcm 提供了一套命令来管理和列出它跟踪的文件。使用 dnf 安装 rcm。
开始使用
默认情况下,rcm 使用 ~/.dotfiles 来存储它管理的所有隐藏文件。一个被管理的隐藏文件实际保存在 ~/.dotfiles 目录中,而它的符号链接会放在文件原本的位置。例如,如果 ~/.bashrc 由 rcm 所管理,那么详细列表将如下所示。
[link@localhost ~]$ ls -l ~/.bashrc
lrwxrwxrwx. 1 link link 27 Dec 16 05:19 .bashrc -> /home/link/.dotfiles/bashrc
[link@localhost ~]$
rcm 包含 4 个命令:
- mkrc – 将文件转换为由 rcm 管理的隐藏文件
- lsrc – 列出由 rcm 管理的文件
- rcup – 同步由 rcm 管理的隐藏文件
- rcdn – 删除 rcm 管理的所有符号链接
在两台计算机上共享 bashrc
如今用户在多台计算机上拥有 shell 帐户并不罕见。在这些计算机之间同步隐藏文件可能是一个挑战。这里将提供一种可能的解决方案,仅使用 rcm 和 git。
首先使用 mkrc 将文件转换成由 rcm 管理的文件。
[link@localhost ~]$ mkrc -v ~/.bashrc
Moving...
'/home/link/.bashrc' -> '/home/link/.dotfiles/bashrc'
Linking...
'/home/link/.dotfiles/bashrc' -> '/home/link/.bashrc'
[link@localhost ~]$
接下来使用 lsrc 验证列表是否正确。
[link@localhost ~]$ lsrc
/home/link/.bashrc:/home/link/.dotfiles/bashrc
[link@localhost ~]$
现在在 ~/.dotfiles 中创建一个 git 仓库,并使用你选择的 git 仓库托管设置一个远程仓库。提交 bashrc 文件并推送一个新分支。
[link@localhost ~]$ cd ~/.dotfiles
[link@localhost .dotfiles]$ git init
Initialized empty Git repository in /home/link/.dotfiles/.git/
[link@localhost .dotfiles]$ git remote add origin git@github.com:linkdupont/dotfiles.git
[link@localhost .dotfiles]$ git add bashrc
[link@localhost .dotfiles]$ git commit -m "initial commit"
[master (root-commit) b54406b] initial commit
1 file changed, 15 insertions(+)
create mode 100644 bashrc
[link@localhost .dotfiles]$ git push -u origin master
...
[link@localhost .dotfiles]$
在第二台机器上,克隆这个仓库到 ~/.dotfiles 中。
[link@remotehost ~]$ git clone git@github.com:linkdupont/dotfiles.git ~/.dotfiles
...
[link@remotehost ~]$
现在使用 rcup 更新受 rcm 管理的符号链接。
[link@remotehost ~]$ rcup -v
replacing identical but unlinked /home/link/.bashrc
removed '/home/link/.bashrc'
'/home/link/.dotfiles/bashrc' -> '/home/link/.bashrc'
[link@remotehost ~]$
覆盖现有的 ~/.bashrc(如果存在)并重启 shell。
就是这些了!指定主机选项 (-o) 是对上面这种情况的有用补充。如往常一样,请阅读手册页。它们包含了很多示例命令。
via: https://fedoramagazine.org/managing-dotfiles-rcm/
作者: Link Dupont 选题: lujun9972 译者: geekpi 校对: wxy
本文由 LCTT 原创编译, Linux中国 荣誉推出
点击“了解更多”可访问文内链接
相关内容
为什么金蝶计提折旧用不了|金蝶软件固定资产折
为什么金蝶计提折旧用不了|金蝶软件固定资产折旧管理怎么用,,1...
金蝶担保机构业务管理系统
金蝶担保机构业务管理系统,,1.金蝶财务软件怎么使用?软件使用...
金蝶进销存教程软件|金蝶进销存管理软件最便宜
金蝶进销存教程软件|金蝶进销存管理软件最便宜的多少钱?都是...
鼠标右键怎么管理啊?电脑桌面的右键怎么管理
鼠标右键怎么管理啊?电脑桌面的右键怎么管理,右键,右键菜单,本...
金蝶系统管理员删除|金蝶用户管理员删了怎么办
金蝶系统管理员删除|金蝶用户管理员删了怎么办,,1.金蝶用户管...
联想笔记本电脑主板颜色|联想笔记本颜色配置文
联想笔记本电脑主板颜色|联想笔记本颜色配置文件,,联想笔记本...
金蝶cloud如何添加报表|金蝶cloud怎样进行报表
金蝶cloud如何添加报表|金蝶cloud怎样进行报表管理,,1.金蝶clo...
Win7任务管理器显示不全怎么办?
Win7任务管理器显示不全怎么办?,不全,任务管理器,Win7电脑用户...
Win11任务管理器固定到任务栏方法教程|win11怎
Win11任务管理器固定到任务栏方法教程|win11怎么把应用固定...
指纹锁需用电脑管理吗|指纹锁需用电脑管理吗知
指纹锁需用电脑管理吗|指纹锁需用电脑管理吗知乎,,1. 指纹锁需...
win7电脑高清晰音频管理器|笔记本电脑高清晰音
win7电脑高清晰音频管理器|笔记本电脑高清晰音频管理器,,1. 笔...
想查金蝶本总支出|金蝶标准版查管理费用明细账
想查金蝶本总支出|金蝶标准版查管理费用明细账怎么查,,1.金蝶...
微信群群设置在哪里|微信群群管理在哪里设置
微信群群设置在哪里|微信群群管理在哪里设置,,微信群群管理在...
电脑桌面分类管理|电脑桌面怎么分类管理
电脑桌面分类管理|电脑桌面怎么分类管理,,1. 电脑桌面怎么分类...
财务费用二级科目设置|会计科目管理费用二级科
财务费用二级科目设置|会计科目管理费用二级科目,,1. 会计科目...