阅读 143

Dotfiles - 什么是Dotfile以及如何在Mac和Linux中创建它

Dotfiles是重要的文件,将在你作为一个软件开发者的职业生涯中发挥不可或缺的作用。

首先,它们可以帮助你提高生产力。但不仅如此--你将能够在任何机器上拥有你为自己创造的生产性设置。

这篇文章是关于如何开始使用dotfiles的介绍。

你将了解到它们是什么,如何在你的系统中找到它们,以及如何创建几个简单的点阵文件。此外,我还会给你一些建议和资源,说明如何定制你的设置和扩展你的知识。

让我们开始吧!

什么是dotfiles?

许多计算机软件程序将它们的配置设置存储在普通的、基于文本的文件或目录中。

点阵文件是各种程序的配置文件,它们帮助这些程序管理其功能。

将它们与普通文件和目录区分开来的是它们的前缀。

Dotfiles之所以这样命名,是因为每个文件和目录都以点开头 (.)

在基于Unix的系统中,点文件默认被操作系统隐藏。

常用点文件的例子

大多数程序默认将它们的配置存储在你的主目录中。

你可能听说过或使用过的一些常见的点文件是。

  • 如果你使用Bash shell,你可能有一个.bash_profile.bashrc 文件,这两个文件都包含了每次启动新的终端会话和配置shell时加载的脚本。

  • 如果你使用Zsh shell,它是MacOS的新的默认版本,你会有(或已经创建了)一个.zshrc 文件,用于配置和定制shell。

  • 如果你使用命令行代码编辑器 Vim,你会把它的配置保存在.vimrc 文件中。

  • 在你的本地机器上设置和配置了Git之后,你会有一个.gitconfig 文件,其中包含你所有的信息和设置。

  • 许多程序,不是把它们的配置存储在你的主目录中,而是把它们存储在你系统中隐藏的.config 目录(文件夹)中。

如何找到Dotfiles

在Finder中,你的主目录的根可能看起来像这样。

Screenshot-2021-10-20-at-7.11.45-PM

但你已经看到,计算机系统中还存储有许多默认隐藏的文件。

要在Finder中查看点状文件,请进入你的主目录的根部,同时按住Command Shift . ,然后再按住键。

你很快就会看到各种点状文件,这些文件要么是你自己创建的,要么是在你安装某个软件时创建的。

Screenshot-2021-10-20-at-7.12.04-PM

要从命令行查看dotfiles(这是你最常使用和与它们互动的地方),你又得在你的搜索中增加一些额外的步骤。

列表命令,ls ,列出了当前目录下的所有文件和目录,默认情况下不显示点阵文件--尽管它们就在那里。

首先,导航到你的主目录。如果你还没有到那里,你可以使用cd 命令来帮助你到达那里。

然后使用带有-a 标志的ls 命令,它代表all ,像这样。

ls -a 复制代码

如果你想看到关于你的文件的一些额外信息,你也可以使用-l 标志,它以长格式列出文件和目录,包括关于它们被创建的日期和时间、它们的大小等细节。

ls -la 复制代码

在输出中,你会看到你当前的主目录中的所有文件和目录--包括所有隐藏的文件和目录。

Screenshot-2021-10-19-at-1.37.15-PM

每个以句号/点开头的文件和目录都是一个点文件。

为什么要使用点阵文件?

你的点阵文件是你个人的。

你花了足够多的时间来微调你的设置。你策划了最适合你的工作流程、审美和偏好的配置和设置。而你最终拥有一个能帮助你个人提高生产力的开发环境。

如果在你花了那么多时间之后,你现在不得不切换到一个新的、不同的机器上呢?这是否意味着你必须从头再来?

你怎么会记得你所用的确切设置和命令呢?

或者,如果你有第二台机器,而你希望你的设置在两个系统上完全一样,那该怎么办?

开发者的主要目标之一是使重复性的工作自动化。

当你想设置一台新的电脑并安装你为前一台电脑创建的完全相同的设置时,创建一个由源代码控制并托管在GitHub上的dotfile仓库将节省你的时间。

这样,你的所有设置和偏好都可以在其他机器上重复使用并保持一致。

如何创建Dotfiles

如何设置一个文件夹来存放你的dotfiles

把你所有的dotfiles放在自己的文件夹里是一个好的做法。

为了简单起见,我将展示一个例子,说明如何在你的主目录根部创建一个文件夹。但你可以把文件夹添加到对你来说更方便的地方。

另外,我将展示如何创建.zshrc.vimrc 文件的例子,但类似的想法适用于你创建的任何其他点文件。

导航到你的主目录 (cd) 并建立一个名为dotfiles 的目录,该目录将存放你所有的配置文件。

mkdir dotfiles 复制代码

要创建dotfiles,你可以使用touch 命令,并将文件名作为参数传给该命令。文件名前面会有一个句号。

要在dotfiles 目录中创建一个.zshrc 和一个.vimrc 文件,请这样做。

touch ~/dotfiles/.zshrc  ~/dotfiles/.vimrc 复制代码

如果这些文件已经存在于你的系统中,你想把它们移到dotfiles 目录中,你可以使用mv 命令把它们移到那里。

mv ~/.zshrc ~/dotfiles/ 复制代码

第一个参数是文件的当前路径--斜体字(~)代表主目录(home direcory)。默认情况下,大多数隐藏的配置文件都位于这里。

第二个参数是你想把文件移到的路径。在这个例子中,你想把它移到位于主目录中的dotfiles目录。

你可以对.vimrc 文件做同样的处理。

mv ~/.vimrc ~/dotfiles/ 复制代码

要查看文件。

ls -a dotfiles  .         ..     .vimrc    .zshrc 复制代码

有了这些文件,你就可以在那里添加所有你喜欢的配置。

如何设置配置

下面是一些想法,可以帮助你启动你创建的点阵文件的配置。

如何使你的Zsh提示符个性化

在设置了.zshrc 文件后,任何添加到该文件中的东西都会影响你的Zsh shell程序的定制。

现在可能是自定义你的shell提示符的时候了。这将是你个人的口味,但这里有一些资源可以让你开始。

  • 如何像专家一样定制你的zsh提示符

  • 在七个步骤中使你的zsh终端变得更漂亮

  • 更多自定义zsh提示符的想法

  • 如何在macOS终端中自定义zsh提示符

如何定制Vim

在创建了.vimrc 文件之后,你可以自定义命令行文本编辑器Vim。这里有一些资源可以帮助你开始这个过程。

  • Vimrc配置指南

  • 如何使Vim看起来更漂亮:5个Vim定制技巧

什么是别名和函数

改善你的工作流程和提高你的生产力的方法之一,是减少你经常使用的命令的输入时间。你可以通过创建快捷方式来实现这一点。

别名是终端命令的快捷方式。它们是一个长命令的简短版本。

作为一个开发者,你会经常使用Git,所以创建Git别名是个好主意,可以帮助你节省冗长、重复的Git命令的时间。请阅读FreeCodeCamp的文章,了解一些最有用的别名。

另一个节省时间的方法是简化流程。

你可以通过创建一个孤立的行为来完成一个特定的工作,从而将两个命令合并成一个。你可以通过创建函数来做到这一点。

创建的一个有用的函数是将创建一个新目录的命令(mkdir )与改变目录的命令(cd )结合起来。

通过这种方式,你将创建一个新的文件夹,并立即进入该文件夹--所有这些都在一个步骤中。

这样做的函数看起来像这样。

function mkcd() {   mkdir -p "$@" && cd "$_"; } 复制代码

要想了解Zsh和函数,请看这篇关于Scripting OS X的文章,其中包括Zsh的别名和函数。

你可以把别名和函数都添加到你的.zshrc 文件中,或者你可以创建单独的.aliases.functions dotfiles。

如何连接你的Dotfiles

你可能已经注意到,你添加到dotfiles 文件夹中的设置对你的系统没有任何影响。

如前所述,一个程序的配置文件是隐藏的,默认情况下存储在主目录中。这是程序将寻找和读取其设置的地方。

这是一个好主意,将dotfiles 目录中的文件与你创建的其他文件一起,与它的默认主目录中的文件进行符号链接(或创建一个符号链接-a指针),你在这里存储了你的首选设置。

这就像该文件将同时出现在两个地方!

该文件将同时出现在dotfiles 目录中,在主目录中也会有一个 "副本"。

要创建一个链接,你可以使用ln (代表链接)命令和-s 参数(代表符号)。

下面是如何将.zshrc.vimrc 文件进行符号链接。

ln -s ~/dotfiles/.vimrc  ~/.vimrc ln -s ~/dotfiles/.zshrc  ~/.zshrc 复制代码

这将使你使用的程序知道它们的配置文件通常在哪里--回到主目录中。

ls -l ~/.zshrc  lrwxr-xr-x  1 dionysialemonaki  staff  39 Oct 21 18:30 /Users/dionysialemonaki/.zshrc -> /Users/dionysialemonaki/dotfiles/.zshrc 复制代码

看一下.zshrc 文件的细节,它显示位于主目录的文件指向dotfiles目录的文件。-> 表示符号链接。

手动链接你所有的dotfiles是一个繁琐的过程,当你在文件夹中添加更多的dotfiles时,会很快变得令人厌烦和重复的。

为了使这个过程更容易,你可以创建一个shell脚本,在你创建的dotfiles上自动调用ln -s ,或者使用一个工具来完成这个工作。

如何版本控制你的dotfiles

对文件进行版本控制,可以帮助你跟踪你对文件所做的所有修改,也可以让你在GitHub上分享它们。

请确保将目录换成dotfiles 目录(cd dotfiles)。

按照以下步骤,在 git 仓库中组织你的文件。

  1. 初始化仓库。

git init 复制代码

  1. 添加所有你到目前为止创建的文件。

git add . 复制代码

  1. 提交修改并添加提交信息。

git commit -m "Added dotfiles" 复制代码

如何在GitHub上托管你的dotfiles

确保你已经登录了你的GitHub账户。

然后,创建一个新的仓库。

Screenshot-2021-10-21-at-5.21.59-PM

给它起个名字,点击 "Create repository"。

接下来,在命令行中,添加。

git remote add origin url   #where 'url',the GitHub url of the repository you previously created #ending in .git 复制代码

最后。

git push -u origin main 复制代码

现在你就可以在线分享你的dotfiles了!

总结

你已经知道了--你现在知道了dotfiles的基础知识!我希望你觉得这个教程很有帮助。

你的dotfiles项目很可能会伴随你的整个职业生涯,并且会随着你对dotfiles本身的了解而增长。它也会随着你通过大量的试验和错误了解你喜欢和不喜欢的工作流程和开发环境设置而改变。


作者:迪鲁宾
链接:https://juejin.cn/post/7023216265825107981

文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐