我如何爱上终端

2025-06-08

我如何学会爱上终端

命令行的介绍。

熟悉命令行有很多好处。稍加练习,你就能用命令行比用其他工具更快地完成许多任务。

命令行几乎随时可用,不像某些 GUI 工具那样需要安装。您可以将常用命令保存为别名,从而节省时间。当您忘记如何操作时,bash 历史记录至少能帮您一次忙。当您通过 SSH 连接到远程计算机(例如您的工作站或云端虚拟机)时,您可以使用命令行,而不必使用缓慢的 GUI。

这里有一些技巧可以使命令行工作变得更加容易。

使用快捷方式代替输入完整命令

使用向上箭头向下箭头键来遍历最后使用的命令。 

使用Tab 键补全命令、目录、文件,甚至一些参数。输入一个或两个命令字符,然后按两次 Tab 键。如果出现多个选项,请再输入几个字母,然后再次按 Tab 键。切勿输入完整的文件名。积极使用 Tab 键。如果你想快速输入命令行,你需要建立肌肉记忆。

如果您记得某个命令的一部分,但不一定记得开头,可以使用反向搜索 (reverse-i-search)来搜索该命令。要使用反向搜索,请按下 Ctrl+R 组合键,然后开始输入该命令。如果有与您输入的内容匹配的命令,您会看到一条建议。您可以继续输入以进一步优化搜索结果,或者再次按下 Ctrl+R 组合键以相反的顺序循环显示与您的搜索查询匹配的命令。 

导航

用于cd ..向上导航至上一级目录。用于cd跳转到主目录。这与 相同cd ~/。用于cd /跳转到根目录并cd - 返回上一级目录。 

使用Ctrl ACtrl E跳转到行首和行尾。您可以使用选项箭头向左选项箭头向右逐字移动。

当你意识到输入了错误的命令时,可以使用Ctrl C重新输入。这比逐个字符地删除命令要快得多。  

隐藏的配置文件

要查看隐藏文件(即以点开头的文件名),请使用ls -la。查看主目录中隐藏的 .gitconfig 文件。或者编辑 git 项目中的 .gitignore 文件,将文件从源代码管理中排除。您可以通过点文件配置许多工具。许多工具遵循以 rc(“运行命令”)结尾的配置文件名的惯例,例如 npm 配置设置的 .npmrc 文件。 

配置您的终端

配置文件 .bash_profile 决定了你的终端(更具体地说是 bash)的行为¹。.bash_profile 文件位于你的主目录 ( ~/) 中。在这个文件中,你可以执行以下操作:

  • 使用以下方式指定快捷方式alias
  • 配置你的提示
  • 设置环境变量。

命令行上的 Git

如果您在命令行上使用 git,有一些技巧可以让您的操作更轻松。您可以启用 git 的 Tab 键补全功能,并配置自定义快捷键,例如git cofor git checkout。对我来说,最重要的功能是始终能够看到自己当前所在的分支。 

提示符显示当前目录和 git 分支的终端

如果我在 git 目录中,我的 bash 会显示当前目录和当前所在的分支。我使用.bash_profile以下几行配置了此行为:

# The next line enables git autocompletion
. ~/.git-completion.bash

# The next lines configures a fancy prompt
. ~/.git-prompt.sh
export GIT_PS1_SHOWDIRTYSTATE=1
export PS1='\[\e[35m\]\w$(__git_ps1 " (%s)")\$\[\e[0m\] '
Enter fullscreen mode Exit fullscreen mode

从 git 源代码镜像下载脚本并按照说明操作:   .git-prompt.sh和 .git-completion.bash。您可以自定义提示符的颜色。我在不同的机器上使用不同的颜色,以便轻松查看我 ssh 到的是哪台机器。

最重要的是 

勇于尝试。别让终端吓到你!掌握一些基础知识后,你就能轻松高效地使用命令行。在StackOverflow上搜索一些技巧,让操作更简单。阅读其他人的配置文件(我的配置文件在这里)。去探索并尝试一些方法。很多技巧都很有用,你只需要找到适合自己的。

¹ .bash_profile 是 MacOS 上 bash 的默认配置。在 Linux 上,请使用 .bashrc。

非常感谢 Amy Unruh、Sofia Leon、ErinMcKean、Sandra Friesen 和 Sarah Clark 的深思熟虑的评论和意见。

鏂囩珷鏉ユ簮锛�https://dev.to/fhinkel/how-i-learned-to-love-the-terminal-27n3
PREV
Laravel Service Classes Explained Table of Content Project Codes The Scenario Understanding Business Logic Service Classes to the Rescue Action Re-usability Closing Thoughts
NEXT
链表、队列和堆栈 - 数据结构与算法 第一部分