命令行入门教程:像专业人士一样使用终端
创作时间:
作者:
@小白创作中心
命令行入门教程:像专业人士一样使用终端
引用
1
来源
1.
https://www.freecodecamp.org/chinese/news/command-line-for-beginners/
命令行(CLI)是开发者必备的工具之一,掌握它能够极大地提高工作效率。本文将从基础概念到实际操作,手把手教你如何使用终端,像专业人士一样高效完成日常工作。
控制台、终端、命令行(CLI)和 shell 之间的区别
在开始之前,让我们先明确几个基本概念:
- 控制台(console):允许你与计算机互动的物理设备,通俗地说,就是你的电脑屏幕、键盘和鼠标。
- 终端(terminal):是一个文本输入和输出环境,作为包装器的程序,允许我们输入计算机处理的命令。简单来说,它是一个“窗口”,你在其中输入计算机将处理的实际命令。
shell:是一个程序,作为命令行解释器。它处理命令并输出结果。不同的 shell 有不同的语法和特点,例如 Bash、Zsh、Fish 等。
命令行(CLI):一个界面,我们在其中输入命令供计算机处理。这实际上与终端(terminal)是一样的。
大多数操作系统都有两种不同类型的界面:
- CLI:将命令作为输入,使计算机执行任务。
- GUI(图形用户界面):用户可以看到屏幕上的东西并点击它们,计算机将通过执行相应的任务对这些事件作出反应。
为什么我要关心终端
你可能会想,既然有图形用户界面,为什么还要学习这个复杂的终端(terminal)/cli/shell 呢?原因有以下几点:
- 效率:很多任务在 GUI 中需要多次点击,但在 CLI 上可以用一个命令完成。
- 自动化:通过编写脚本,可以自动化重复性任务。
- 必要性:有时 CLI 是与计算机互动的唯一方式,比如在云服务器上。
- 酷炫感:就像电影中的黑客一样,使用 CLI 更显专业。
不同的 shell
不同的 shell 有不同的语法和功能,常见的 shell 包括:
- Bash:使用最广泛的,在 Mac 和 Linux 上默认安装。
- Zsh:与 Bash 非常相似,但有一些改进。
- Fish:有自动完成和语法高亮等内置功能,但不是 Posix 兼容。
- Ash/Dash:Posix shell 的精简版本,执行速度更快。
推荐初学者使用 Bash,因为它是最标准和最常用的。
最常用且最有用的命令
下面是一些常用的命令及其用法:
- echo:在终端打印出我们传递给它的任何参数。
- pwd:打印出当前工作目录的位置。
- ls:显示当前目录的内容,
ls -a
可以显示隐藏文件。 - cd:切换目录,
cd ..
可以返回上一级目录。 - mkdir:创建新目录。
- rmdir:删除目录。
- touch:创建空文件。
- rm:删除文件。
- cp:复制文件或目录。
- mv:移动文件或目录。
- head:查看文件的开头部分。
- tail:查看文件的结尾部分。
- --help 或 man:获取命令的帮助信息。
- code:打开默认代码编辑器。
- edit:在默认命令行文本编辑器中打开文件。
- ctrl+c:退出终端正在运行的当前进程。
- clear:清除终端上的所有内容。
- exit:关闭终端。
Git 命令
作为开发者,使用终端与 Git 和线上仓库交互是最常见的场景之一:
- git init:创建一个新的本地版本库。
- git add:将文件添加到暂存区。
- git commit:提交修改。
- git status:查看当前状态。
- git clone:克隆远程仓库。
- git remote add origin:设置远程仓库 URL。
- git pull:从远程仓库拉取代码。
- git push:将本地修改推送到远程仓库。
- git branch:列出所有分支。
- git checkout:切换分支。
- git merge:合并分支。
- git log:查看提交历史。
我们的第一个脚本
让我们通过创建一个 GitHub repo 的脚本来实践一下:
- 创建一个
.sh
文件,例如newGhRepo.sh
。 - 在第一行写上 shebang
#! /bin/sh
。 - 编写脚本内容:
#! /bin/sh
repoName=$1
while [ -z "$repoName" ]
do
echo 'Provide a repository name'
read -r -p $'Repository name:' repoName
done
echo "# $repoName" >> README.md
git init
git add .
git commit -m "First commit"
curl -u <yourUserName> https://api.github.com/user/repos -d '{"name": "'"$repoName"'", "private":false}'
GIT_URL=$(curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/<yourUserName>/"$repoName" | jq -r '.clone_url')
git branch -M main
git remote add origin $GIT_URL
git push -u origin main
- 通过
chmod u+x newGhRepo.sh
赋予脚本执行权限。 - 运行脚本
./newGhRepo.sh <repoName>
。
为了更方便地使用这个脚本,可以创建一个 bash 别名:
alias newghrepo="dash /path/to/newGhRepo.sh"
这样,无论在哪个目录下,都可以通过 newghrepo
命令快速创建新的 GitHub repo。
总结
虽然终端可能看起来有些复杂,但掌握它能够极大地提高工作效率。希望这篇文章能帮助你更好地理解命令行,并开始使用它来优化你的开发工作流程。
热门推荐
长高的锻炼方法
六道冬季暖心菜,食材便宜又应季,简单易做全家爱
火龙果的皮发霉了还能吃吗
看清ABCD,识别降压药物
粉瘤发炎红肿怎么控制?医生给出6个实用建议
上海市提篮桥监狱完成整体搬迁,闹市中的百年监狱旧址何去何从?
夫妻间有情绪时如何沟通
从电影《英雄》中探究张艺谋导演的角色塑造手法
婴儿居住证办理指南:所需材料、流程及常见问题解析
正确的握笔姿势:预防近视,助力书写
高温炒菜会破坏营养吗
悲催!恒大海花岛业主躲过了烂尾楼,却避不开咸水海砂楼
北京青少年心理疏导专家:女孩子早恋怎么正确引导
箫的指法训练和操控气息的基本方法
Docker如何指定Pull源:配置Daemon、环境变量和命令行参数详解
Docker查看镜像源的多种方法详解
理财投资期限的设定依据是什么?不同理财投资期限的影响有哪些?
动物界最强大的咬合力
智能楼宇系统方案及最新案例解析!
低血糖的症状及处理方法
草莓是怎么传播种子的
从生物学角度解读“桃”的种类和生长特征
中国蔷薇属植物分类学研究获重大进展
《三国杀》如何让传统文化与现代游戏完美融合?
都江堰二日游路线:精华景点与行程推荐
如何在短信中发送网址链接
美国留学全额奖学金的比例有多少
教科书得改?江苏太湖才是中国最大淡水湖
什么是统一内存(UMA)? 它如何在 Apple Silicon 上运作?
路由器管理地址在哪里查看?一文详解路由器网址和IP地址