问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

命令行入门教程:像专业人士一样使用终端

创作时间:
作者:
@小白创作中心

命令行入门教程:像专业人士一样使用终端

引用
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 呢?原因有以下几点:

  1. 效率:很多任务在 GUI 中需要多次点击,但在 CLI 上可以用一个命令完成。
  2. 自动化:通过编写脚本,可以自动化重复性任务。
  3. 必要性:有时 CLI 是与计算机互动的唯一方式,比如在云服务器上。
  4. 酷炫感:就像电影中的黑客一样,使用 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:查看文件的结尾部分。
  • --helpman:获取命令的帮助信息。
  • 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 的脚本来实践一下:

  1. 创建一个 .sh 文件,例如 newGhRepo.sh
  2. 在第一行写上 shebang #! /bin/sh
  3. 编写脚本内容:
#! /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
  1. 通过 chmod u+x newGhRepo.sh 赋予脚本执行权限。
  2. 运行脚本 ./newGhRepo.sh <repoName>

为了更方便地使用这个脚本,可以创建一个 bash 别名:

alias newghrepo="dash /path/to/newGhRepo.sh"

这样,无论在哪个目录下,都可以通过 newghrepo 命令快速创建新的 GitHub repo。

总结

虽然终端可能看起来有些复杂,但掌握它能够极大地提高工作效率。希望这篇文章能帮助你更好地理解命令行,并开始使用它来优化你的开发工作流程。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号