AIWords 4353Read time11 min

终端命令行入门:从 ls、cd、mkdir 到 Bash、Git 与 AI 工具部署

一篇面向零基础用户的终端命令行入门教程,解释 Terminal、Shell、Bash、Zsh、路径、ls、cd、mkdir、git clone、npm run dev 等基础概念。

终端命令行入门:从 ls、cd、mkdir 到 Bash、Git 与 AI 工具部署

很多人第一次接触终端命令行时,都会觉得它像一个“黑客窗口”:没有按钮、没有图标,只有一行行英文命令。尤其是在使用 GitHub、Vercel、Node.js、Python、Claude Code、Codex 或各种 AI Agent 项目时,教程里经常出现 lscdmkdirgit clonenpm installnpm run dev 这样的命令,新手很容易被劝退。

但命令行并没有那么神秘。它本质上只是另一种操作电脑的方式:你平时用鼠标点击文件夹、创建文件、移动文件、打开项目,而命令行是用文字命令完成类似操作。

这篇文章会用尽量直白的方式,解释终端、Shell、Bash、Zsh、路径、常见命令,以及它们和 GitHub、Vercel、Python、Node.js、AI 工具部署之间的关系。理解这些概念后,你再看开源项目说明、网站部署教程、AI 工具文档时,就会轻松很多。

一、终端、Shell、Bash、Zsh 分别是什么?

在学习命令行之前,先区分几个容易混淆的概念。

名称可以怎么理解说明
Terminal / 终端输入命令的窗口你在 Mac、Linux 或 Windows 里打开的命令行界面
Shell解释命令的程序负责理解你输入的命令,并交给系统执行
Bash一种常见 Shell很多 Linux 教程默认使用 Bash
Zsh另一种 ShellmacOS 现在默认更常见的是 Zsh
PowerShellWindows 常见 ShellWindows 上更现代的命令行环境之一
Git BashWindows 上模拟类 Unix 命令的环境安装 Git for Windows 后常见,适合运行很多 GitHub 教程里的命令

简单理解就是:

txt 你在 Terminal 里输入命令,Shell 负责理解命令,然后操作系统执行命令。

所以很多教程里说“打开 Bash 执行命令”,对新手来说可以先理解为:

txt 打开终端,然后输入这些命令。

需要注意的是,不同系统的命令行环境略有差异。Mac 和 Linux 教程里常见的 lscdmkdirrm 等命令,在 Windows 的 PowerShell 里不一定完全相同;但如果你使用 Git Bash、WSL 或类 Unix 环境,这些命令通常更接近 Mac/Linux 教程。

二、Bash 到底是什么?为什么教程总提它?

Bash 全称是 Bourne Again Shell,是一种非常常见的命令语言解释器。很多 Linux 服务器、部署教程、开源项目 README,默认都会使用 Bash 或接近 Bash 的 Shell 语法。

你在教程里看到的这些写法,很多都和 Bash 习惯有关:

bash cd my-project && npm install

bash export OPENAI_API_KEY="your_api_key"

bash python main.py --input data.txt

Bash 的作用不是“写代码那么复杂”,而是帮助你把多个系统操作串起来。例如进入项目目录、安装依赖、设置环境变量、运行脚本、查看日志、部署项目。

对于初学者来说,不需要一开始系统学习 Bash 脚本。你只要先掌握下面几类内容就够了:

  • 如何切换目录;
  • 如何查看文件;
  • 如何创建、复制、移动、删除文件;
  • 如何运行程序;
  • 如何理解参数和选项;
  • 如何看懂 &&|>>> 这类符号;
  • 如何知道一条命令是否危险。

等这些基础熟悉后,再学习变量、循环、条件判断、脚本文件也不迟。

三、命令行的基本结构

一条完整的命令通常由三个部分组成:

bash command [options] [arguments]

例如:

bash ls -la ~

可以拆成:

部分示例含义
命令 Commandls要执行什么操作
选项 Options-la修改命令的行为
参数 Arguments~命令作用的目标

再举一个例子:

bash mkdir -p images/icons

意思是:创建 images/icons 这个文件夹路径,如果中间的 images 文件夹不存在,也一起创建。

很多新手害怕命令行,是因为把整行命令当成一串无法理解的英文。其实只要拆开看,通常都能读懂:

bash python main.py --input data.txt --output result.md

这条命令可以理解为:

  • python:用 Python 运行程序;
  • main.py:要运行的脚本文件;
  • --input data.txt:输入文件是 data.txt
  • --output result.md:输出文件是 result.md

四、路径:命令行世界里的“地址”

路径就是文件或文件夹在电脑里的位置。

例如在 Mac 上:

txt ~/GitHub/LamjinlabWebsite

这就像一个文件夹地址:

txt 用户主目录 ~ └── GitHub └── LamjinlabWebsite

常见路径符号如下:

符号含义示例
/路径分隔符,也可以表示根目录/Users/yourname
~当前用户的主目录~/Desktop
.当前目录./package.json
..上一级目录cd ..

例如:

bash cd ..

意思是回到上一级文件夹。

再比如:

bash cd ~/GitHub/LamjinlabWebsite

意思是进入主目录下的 GitHub/LamjinlabWebsite 文件夹。

如果路径中有空格,建议用引号包起来:

bash cd "My Projects"

或者使用反斜杠转义空格:

bash cd My\ Projects

对新手来说,引号更直观,也更不容易出错。

五、常用基础命令

下面这些命令是新手最应该先掌握的内容。

1. pwd:查看当前位置

pwd = print working directory,意思是打印当前所在目录。

bash pwd

示例输出:

txt /Users/yourname/GitHub/LamjinlabWebsite

当你不知道自己现在在哪个文件夹时,先输入 pwd

2. ls:列出文件和文件夹

ls = list,意思是列出当前目录里的内容。

bash ls

常见写法:

bash ls -l

显示详细信息。

bash ls -a

显示隐藏文件。

bash ls -la

同时显示详细信息和隐藏文件。

隐藏文件通常以 . 开头,例如:

txt .env .gitignore .DS_Store

其中 .env.env.local 文件经常用于保存 API Key、数据库地址等敏感配置,不应该随便上传到 GitHub。

3. cd:切换目录

cd = change directory,意思是切换到另一个文件夹。

bash cd Desktop

进入桌面目录。

bash cd ..

回到上一级目录。

bash cd ~

回到当前用户的主目录。

bash cd -

回到上一次所在的目录。

这一点在项目之间来回切换时很方便。

4. mkdir:创建文件夹

mkdir = make directory,意思是创建文件夹。

bash mkdir images

创建一个叫 images 的文件夹。

更常见、更安全的写法是:

bash mkdir -p images/icons

-p 的作用是:如果中间路径不存在,就自动创建;如果文件夹已经存在,也不会报错。

例如:

bash mkdir -p ~/ai-agent-workflow-ppt/images

意思是创建这个路径:

txt ~/ai-agent-workflow-ppt/images

如果 ai-agent-workflow-ppt 不存在,也会一起创建。

5. touch:创建空文件

touch 常用于创建一个空文件。

bash touch README.md

这会创建一个名为 README.md 的文件。

在网站项目中,你可能会看到:

bash touch .env.local

这通常表示创建本地环境变量文件,用来保存 API Key、数据库地址等配置。

6. catlessheadtail:查看文件内容

cat 可以快速查看文本文件内容。

bash cat README.md

如果文件很短,用 cat 很方便;如果文件很长,可以用 less 分页查看:

bash less README.md

常用操作是:按空格翻页,按 q 退出。

如果只想看文件开头,可以用:

bash head README.md

如果只想看文件末尾,可以用:

bash tail README.md

查看日志时,tail 很常见。例如:

bash tail -f app.log

-f 表示持续跟踪文件变化,常用于观察程序运行日志。

7. cp:复制文件或文件夹

cp = copy,意思是复制。

复制文件:

bash cp a.txt b.txt

复制文件夹通常需要加 -r

bash cp -r images images-backup

-r 表示递归复制,也就是把文件夹里面的内容一起复制。

8. mv:移动或重命名

mv = move,意思是移动。

重命名文件:

bash mv old.md new.md

移动文件:

bash mv article.md content/posts/ai/

所以 mv 有两个常见用途:移动文件,以及重命名文件。

9. rm:删除文件或文件夹

rm = remove,意思是删除。

删除文件:

bash rm test.txt

删除文件夹:

bash rm -r test-folder

新手一定要谨慎使用 rm,尤其是下面这种命令:

bash rm -rf some-folder

-r 表示递归删除,-f 表示强制删除。这个命令不会像图形界面那样把文件放进废纸篓,而是直接删除,因此执行前一定要确认路径。

10. echo:输出文字

echo 用来输出一段文字,经常配合 >>> 写入文件。

bash echo "hello"

输出:

txt hello

写入文件:

bash echo "hello" > test.txt

这会把 hello 写入 test.txt

六、常见交互技巧

1. Tab 自动补全

输入部分命令或文件名后,按 Tab 键,终端会尝试自动补全。

例如你当前目录下有一个文件夹叫:

txt LamjinlabWebsite

你可以输入:

bash cd Lam

然后按 Tab,系统可能会自动补全成:

bash cd LamjinlabWebsite

2. 上下箭头查看历史命令

可以找回上一条命令,按 可以往后翻。

这在反复运行命令时非常有用,例如:

bash npm run dev

如果刚才执行过,直接按 就可以找回来,不需要重新输入。

3. Ctrl + C 中断程序

如果某个命令一直运行,或者你想停止当前程序,可以按:

txt Ctrl + C

例如本地开发服务器、Python 脚本、Node.js 程序都可以用它停止。

4. clear 清屏

如果终端内容太多,可以输入:

bash clear

这样可以清空当前显示区域,让界面更干净。

5. history 查看历史命令

有时你想找回之前执行过的命令,可以输入:

bash history

它会列出一批历史命令。新手可以用它复盘自己刚才到底做了什么。

七、常见符号解释

1. &&:前一个命令成功后再执行下一个

例如:

bash mkdir -p images && ls

意思是:先创建 images 文件夹,如果创建成功,再执行 ls 查看当前目录内容。

2. ;:不管前面是否成功,都继续执行下一个

例如:

bash mkdir images; ls

意思是:先尝试创建 images 文件夹,然后执行 ls。即使前一个命令失败,后一个命令也可能继续执行。

因此,新手在安装依赖、部署项目时,更推荐看懂 && 的含义,因为它更强调“前一步成功,才进入下一步”。

3. |:管道符

管道符会把前一个命令的输出交给后一个命令处理。

例如:

bash ls | grep "mdx"

意思是:先列出当前目录内容,再从结果里筛选包含 mdx 的行。

4. >>>:重定向输出

> 会把输出写入文件,并覆盖原内容:

bash echo "hello" > test.txt

>> 会把输出追加到文件末尾:

bash echo "world" >> test.txt

新手要注意:> 会覆盖文件内容,使用前要确认。

5. *:通配符

* 表示匹配多个字符。

例如:

bash ls *.md

意思是列出当前目录下所有以 .md 结尾的文件。

再比如:

bash rm *.log

意思是删除当前目录下所有 .log 文件。这个命令有删除风险,执行前一定要确认自己所在目录。

八、结合真实例子理解命令

例如你看到这样一条命令:

bash mkdir -p ~/ai-agent-workflow-ppt/images && ls ~/ai-agent-workflow-ppt/

可以拆成两部分:

bash mkdir -p ~/ai-agent-workflow-ppt/images

意思是创建项目里的 images 文件夹。

bash ls ~/ai-agent-workflow-ppt/

意思是查看 ai-agent-workflow-ppt 文件夹下有什么内容。

中间的 && 表示:

txt 前面的创建命令成功后,才执行后面的查看命令。

所以整条命令的意思就是:

txt 先创建 images 文件夹,然后查看项目目录内容。

这类命令通常是安全的,因为它只是创建文件夹和查看目录,不涉及删除。

九、命令行和 GitHub 有什么关系?

GitHub 是很多开源项目的托管平台,而 Git 是版本控制工具。你在 GitHub 上看到的项目,通常需要用 Git 下载到本地。

最常见的命令是:

bash git clone https://github.com/example/project.git

这条命令的意思是:把远程 GitHub 仓库复制一份到你的电脑上。

下载后一般会进入项目目录:

bash cd project

然后查看项目文件:

bash ls

很多开源项目 README 中会写:

bash git clone https://github.com/example/project.git cd project npm install npm run dev

新手不要一口气复制运行。更好的方式是逐行理解:

1. git clone:下载项目; 2. cd project:进入项目文件夹; 3. npm install:安装依赖; 4. npm run dev:启动开发服务器。

这样你就知道每一步在做什么,也更容易定位错误。

十、命令行和 Node.js、npm 有什么关系?

很多网站项目、前端项目、Next.js 项目、Vercel 项目都会用到 Node.js 和 npm。

npm 可以理解为 Node.js 生态里的包管理工具。它常见用途包括安装依赖、运行脚本、启动开发服务器、打包项目。

常见命令如下:

bash npm install

安装项目依赖。它通常会读取当前目录下的 package.json 文件。

bash npm run dev

运行 package.json里定义的 dev 脚本,通常用于启动本地开发服务器。

bash npm run build

运行构建脚本,通常用于生成生产环境版本。

bash npm start

运行启动脚本,具体行为取决于项目在 package.json 中如何定义。

所以,当你看到 npm run dev 时,不要只背命令。你可以打开项目里的 package.json,查看类似下面的内容:

json { "scripts": { "dev": "next dev", "build": "next build", "start": "next start" } }

这说明:

  • npm run dev 实际执行的是 next dev
  • npm run build 实际执行的是 next build
  • npm start 实际执行的是 next start

理解这一点后,你看前端项目教程会清楚很多。

十一、命令行和 Python、AI 工具有什么关系?

如果你只是浏览网页,可能永远用不到命令行。但如果你想使用更多 AI 工具、开源项目和自动化工作流,命令行几乎绕不开。

例如:

bash python main.py

用于运行 Python 脚本。

bash python -m venv .venv

用于创建 Python 虚拟环境。

bash pip install -r requirements.txt

用于安装 Python 项目依赖。

bash vercel deploy

用于部署网站项目。

bash claude

可能用于启动 Claude Code 这类命令行工具,具体取决于你的安装方式。

很多 AI Agent、Claude Code、Codex、Cursor、Next.js、FastAPI、Vercel 项目,本质上都是通过命令行完成安装、运行、调试和部署的。

所以学习命令行不是为了“装专业”,而是为了真正掌控自己的项目。

十二、新手最容易犯的错误

1. 不知道自己在哪个目录

解决办法:

bash pwd

先确认当前位置。

2. 路径写错

解决办法:多用 Tab 自动补全,少手打长路径。

3. 忘记文件名大小写

很多系统里,文件名大小写可能会影响命令执行。

例如:

txt README.md readme.md

它们可能被视为不同文件。

4. 误用删除命令

尤其是:

bash rm -rf

执行前一定要确认路径,不要复制陌生命令后直接运行。

5. 复制陌生命令后直接执行

这是新手最危险的习惯之一。任何命令在执行前,都应该至少看懂三个问题:

  • 它会不会删除文件?
  • 它会不会覆盖文件?
  • 它会不会把敏感信息上传到外部?

如果命令里出现 rm -rfsudocurl ... | bashchmod 777> 这类内容,更要谨慎。

6. 不看错误提示

很多错误提示其实已经告诉你问题在哪里。例如:

txt No such file or directory

通常表示文件或文件夹不存在,可能是路径写错了。

txt Permission denied

通常表示没有权限执行或访问。

txt command not found

通常表示命令不存在,可能是工具没有安装,或者环境变量没有配置好。

txt EADDRINUSE

常见于本地开发服务器,意思是端口已经被占用。比如 3000 端口已经有一个项目在运行。

十三、建议学习顺序

如果你是零基础,我建议按照这个顺序学习:

1. 先学会 pwdlscd,理解自己在哪里; 2. 再学会 mkdirtouchcpmv,理解如何创建和移动文件; 3. 然后谨慎学习 rm,知道如何删除文件,但不要乱用; 4. 再学习 catlessheadtail,学会查看文件和日志; 5. 接着学习 &&|>>>,理解命令之间如何组合; 6. 最后学习 git clonenpm installnpm run devpython main.py,把命令行用于真实项目。

只要掌握这些内容,大多数 GitHub 项目 README 里的基础命令你就能看懂一大半。

十四、总结

命令行不是玄学,也不是只有程序员才能使用的高级工具。它只是另一种操作电脑的方式。

你可以把它理解为:

txt 图形界面是用鼠标和按钮操作电脑; 命令行是用文字和指令操作电脑。

当你掌握 lscdmkdirpwdgit clonenpm run dev 这些基础命令后,再去学习 GitHub、Vercel、Python、Node.js、Claude Code、AI Agent 项目,就会顺畅很多。

真正重要的不是一次性背下所有命令,而是在实际操作中逐渐熟悉它们。遇到不懂的命令,先拆开看:它要做什么?选项是什么?作用目标是谁?这样命令行就会从一堆陌生字符,变成你能理解、能控制、能复用的工具。

参考来源

评论

Share

分享这篇文章