1. 介绍
CLI Command-line interface也叫command-line shell,指通过命令和软件交互的工具,是GUI(graphical user interface)诞生前的主要交互手段,当下仍然是多低硬件资源低和服务器的主要手段
1.1. CLI 是如何工作的?
命令行界面(CLI)是基于文本的界面,可以在其中输入与计算机操作系统交互的命令。CLI 在默认 Shell 的帮助下运行,该 Shell 位于操作系统和用户之间。
1.1.1. CLI Shell
Shell 是指在用户和操作系统之间起中介作用的程序。示例包括 Bash、cmd.exe、PowerShell 以及其他用于更具体功能的示例。
Shell 负责处理各种任务,例如命令解析、环境管理和流程执行。Shell 还支持以下功能:
- 命令历史记录,可以在其中使用箭头键或其他快捷键访问以前输入的命令
- 输入和输出重定向
- Piping(将一条命令的输出作为另一条命令的输入)和环境变量管理
此外,还可以自定义 Shell 环境。为此,可以设置环境变量、定义别名(较长命令的快捷方式)以及为自动化或重复任务创建 Shell 脚本。
1.1.2. 命令的工作原理
在 CLI 中输入命令时,系统会执行以下步骤:
- Shell 命令行解释器解析输入的命令以了解其结构,并且分离命令名称、选项和参数。
- Shell 在其可用命令列表中查找命令名称。命令名称代表用户希望操作系统执行的操作。
- Shell 搜索系统的 PATH 变量(系统文件所在的目录列表),以查找与该命令关联的相应文件。
- CLI Shell 会调用相应的文件,并且传递任何指定的选项和参数作为输入。
- 操作系统执行所需的操作。
- 此操作可能会生成输出,例如信息性消息、错误消息、请求的数据或操作结果。
- CLI Shell 会显示输出,因此可以看到命令的结果。
CLI Shell 循环运行,等待输入另一条命令。当您与 CLI shell 交互时,命令输入、解析、执行和输出显示的过程会重复。这为基于命令的交互提供连续的接口。
1.2. 常见的系统CLI
每种主流操作系统访问命令行界面(CLI)的方式略有不同。
1.2.1. Windows
以下是在 Windows 8 或更高版本的 Windows 中打开 CLI 的方式:
- 同时按下 Windows 键和“S”
- 在搜索栏中输入“cmd”
- 右键单击“命令提示符”,然后选择“以管理员身份运行”
- 现在可以输入命令提示符
1.2.2. Mac
以下是在 Mac 上打开 CLI 的方式:
- 找到 Finder 应用程序,它通常位于工具栏上
- 浏览/应用程序/实用工具
- 选择“终端”
- 现在可以输入命令提示符
1.2.3. Linux
Linux 提供一种简单的方法来访问 CLI:使用快捷方式 CTRL+ALT+T。
或者,可以使用 ALT+F2,然后输入“gnome-terminal”。
1.3. 参考
Command-line interface - Wikipedia
2. 常见CLI 指令
命令行界面(CLI)为不同类型的任务提供了许多不同的命令。不同操作系统的此类命令略有区别。接下来给出几个不同的命令示例。
2.1. 文件系统命令
CLI 命令 | Windows | Linux |
更改目录 | cd | cd |
最近的文件 | dir | ls |
创建目录 | mkdir | mkdir |
移除目录 | rmdir | rmdir |
复制文件 | copy | cp |
移动文件 | move | mv |
重命名文件 | ren | mv |
显示文件 | 类型 | cat |
删除文件 | del | rm |
更改权限 | cacls/chmod | chmod |
2.2. 网络命令
CLI 命令 | Windows | Linux |
Ping | ping | ping |
追踪路由 | tracert | traceroute |
网络配置 | ipconf | ifconfig |
路由表 | route | route |
DNS 查询 | nslookup | nslookup |
网络诊断 | netsh | netstat |
2.3. 信息命令
CLI 命令 | Windows | Linux |
列出进程 | tasklist | ps |
结束进程 | taskkill | kill |
系统信息 | systeminfo | uname -a |
磁盘使用情况 | wmic/fsutil | df |
系统监控 | perfmon | top/htop |
3. 常用CLI工具
3.1. MobaXterm
MobaXterm 是终端集成软件,可以打开多种shell窗口,同时支持SSH和SFTP,有免费和收费版,免费版基本够用,使用也简单
官网
MobaXterm free Xserver and tabbed SSH client for Windows
3.2. VSCode CLI
3.2.1. 打开最近一个会话
code后面不带任何选项或参数执行,会打开VSCode最近一个会话。比如,如果你最近打开了projectA,无论现在projectA是否被其他窗口覆盖或者你已经退出VSCode,下面的命令都能快速打开projectA:
$ code
如果你正在使用shell,这个命令应该能帮助你迅速打开VSCode或者定位到刚才编辑的文件。
3.2.2. 跳转到文件的行列
code -g ::命令可以快速跳转到文件某一行的某个字符。比如,下面这个命令会打开index.ts文件,光标定位到第18行,index为8的字符前面的位置。
$ code -g /project-path/src/index.ts:18:8
3.2.3. 文件对比
如果你想快速对比两个文件,可以使用以下命令:
$ code -d file-path-a file-path-b
3.2.4. 插件操作
- code --list-extensions --show-versions:以.@的形式罗列所有已安装的插件;
- code --install-extension :安装插件,可以加上--force选项防止弹窗提示;
- code --uninstall-extension :卸载插件。
3.2.5. 引用
浅析VSCode CLI工具,原来它这么有用!-VSCode-PHP中文网
浙公网安备 33010602011771号