工欲善其事,必先利其器,这篇文章将从 CLI 工具这个方面向你介绍“如何提高在 CLI 环境下的工作效率”。
Shell
Shell 是一个用来提供与操作系统内核(Kernel)交互的软件。
常见的 Shell 分为两种:
- Command Line Interface (CLI) 命令行界面
- Graphic User Interface (GUI) 图形用户界面
通常情况下,Shell 主要是指 CLI 程序,常见的 CLI shell 有 Bash、Zsh、Fish、PowerShell、Cmd 等。
为什么会有 CLI Shell ?
早期的计算机主机存放在专门的机房中,用户想要操作计算机需要通过终端(Terminal)连接,终端就是计算机的输入输出设备。最早的终端无法显示图像,只能通过屏幕跟键盘展示、输入字符,所以最早的 Shell 软件就以 CLI 的形式问世了。
随着技术的进步发展,只能用来传输文本的终端设备几乎都被显示器替代了,GUI 取代了 CLI 的在人机交互方面的主要地位。
CLI 优势
CLI 最大的优势在于可编程,CLI shell 通常也是一个脚本语言解释器,可以通过编写 Shell 脚本来自动化完成一些复杂、重复的操作,这是 GUI 难以比拟的。
在 GUI 成为主要人机交互界面的今天,终端模拟器(Terminal Emulator)是我们操作 CLI 的必备工具。一个优秀的终端模拟器通常会提供下面几个功能:
- 多 Tab 切换
- 窗口分屏
- 搜索命令行输出(ScrollBack)
- 自动识别链接
这些功能也是提高 CLI 使用效率的必备功能,如果你的终端模拟器不支持这些功能,我推荐你使用下面的这些软件:
- Windows
- Windows Terminal
- ConEmu
- macOS
- iTerm2
- Linux
- Konsole
- Kitty
我非常建议你设置 Tab 切换跟窗口分屏快捷键,这些操作可以极大地提升你使用 CLI 时的工作效率。
设置一个用户友好的 CLI Shell
Fish Shell 是一个智能的、用户友好的 Shell 程序。相比 Bash,它有如下优点:
- 自动补全
- 简单易学的脚本语法
- 基于 Man 的智能提示与补全
- 开箱即用,只要安装上就能够获得生产力的提升
安装 Fish
不建议将默认 Shell 修改为 Fish,因为 Fish 不遵循 POSIX Shell 规范,不一定跟其他的程序兼容,更好的做法是将兼容 POSIX 的 Shell 作为默认 Shell,然后在终端模拟器中将默认启动的 Shell 设置为 Fish。
CLI 好伙伴
进一步提升 Fish 的易用性
fzf
通过 fisher 安装 PatrickF1/fzf.fish
ctrl+r
搜索历史ctrl+alt+f
从当前目录开始搜索文件,按 Tab 可以多选
更多快捷键可以查看 GitHub Readme
常用快捷键
function fish_user_key_bindings
# 使用 Ctrl + F 补全整行
bind -M insert \cf accept-autosuggestion
bind \cf accept-autosuggestion
end
- alt+. 将上个命令的最后一部分填到当前命令行末尾
- alt+s 用 sudo 执行上条命令
更多快捷键请查看文档
私人订制,打造合适自己的 CLI 工具
alias 给常用的命令设置别名,方便快速输入。
funced/funcsave/function function 比 alias 更加完善,可以用来封装更加复杂的操作。
发表回复