【基础篇 04】第一次使用终端:命令在哪里输入,电脑现在又“站”在哪里?

YOLO从零到论文:模型改进与科研实战全攻略

YOLO基础篇 · A04

作者:迪菲赫尔曼

大家好,我是迪菲赫尔曼。

上一篇,我们在 VS Code 里保存了 hello.py 和 notes.txt。

今天先不运行 Python。咱们把下方那个能输入命令的窗口用明白。

你以后安装软件、启动训练、查找文件,都会遇到终端。很多时候,一条命令本身并不长,但同学复制过去以后,就是和教程结果不一样。

原因可能不是命令错了,而是输入的位置不对,或者终端当前所在的目录不对。

这一篇,我们就用前面已经建立的文件,实际走一遍"看看自己在哪里 → 进入图片目录 → 找到图片 → 回到外层"。每一步都有可以核对的结果。


1. 开始之前,先把文件对上

在 VS Code 中打开你自己的 yolo-study。左侧应该有:

text 复制代码
yolo-study
├── images
│   └── bus.jpg
├── hello.py
└── notes.txt

如果左侧只有一个 images 文件夹,先检查是不是打开了内层目录。我们要打开直接包含 images、hello.py 和 notes.txt 的那一层。

这篇不需要下载安装新的 Python,也不用先准备显卡。下面查看、切换目录的命令,由系统的 Shell 处理。


2. 终端、Shell、命令行,分别是什么?

这些词经常一起出现,咱们先用一个实际画面来分。

你在 VS Code 顶部点击:

text 复制代码
终端 → 新建终端
Terminal → New Terminal

下方出现一个面板,里面能输入文字,按回车后会有反应。

这个提供输入、输出界面的地方,是终端。

但真正接收并解释我们接下来这些命令的,是里面运行的 Shell。

Windows 上常见 PowerShell、命令提示符 cmd;macOS、Linux 上常见 zsh、bash。它们都是需要区分的具体环境,命令写法不一定全部相同。

"命令行"通常指通过输入文字命令来操作的方式。你暂时不用纠结每个词的所有技术细节,先能分清:

text 复制代码
VS Code:我们使用的编辑器
    ↓
编辑器中的终端:显示输入和输出的窗口
    ↓
终端里运行的 Shell:接收和执行命令

终端也可以运行 Python 解释器。到那时,接收你输入内容的程序就可能变了。这是后面第 9 节要特别区分的地方。

2.1 Windows 同学,这篇统一用 PowerShell

在终端面板里,找到新建终端的 + 附近的下拉菜单。

如果能直接选择 PowerShell ,点它新建一个终端。某些电脑显示的是 Windows PowerShell,本篇这些目录操作也可以使用。

如果需要设置默认项,可以选择:

text 复制代码
选择默认配置文件 / Select Default Profile
    ↓
PowerShell 或 Windows PowerShell
    ↓
再新建一个终端

改默认项以后,请新建终端,不要以为旧终端里的 Shell 会跟着自动更换。

如果列表里没有这个选项,先记录当前终端的名称和显示内容,不要为了本篇随意复制网上的安装、卸载命令。

选择终端配置的操作,可对照 VS Code 官方终端配置说明。

2.2 Mac 同学

继续使用新建终端里默认的 zsh 或 bash 即可。本篇主体使用的 pwd、ls、cd,在这两种 Shell 下也能完成对应操作。

不过,终端显示的格式和 Windows 不同。下面会分别给出提示符示意,不要求你把自己的窗口改成一模一样。

本篇 Windows 路线指 PowerShell。不要把后面的 ls 直接套到 cmd,再因为找不到命令就认为软件坏了。


3. 先看懂提示符:哪一段是电脑给你的?

Windows PowerShell 中,可能看到:

text 复制代码
PS C:\Users\XiaoMing\Documents\yolo-study>

这一行叫作提示符。它在提醒你:现在可以输入下一条命令了。

拆开看:

提示中的内容 这里怎么理解
PS 此示例处于 PowerShell
C:\Users\XiaoMing\Documents\yolo-study 提示中显示的当前目录
最后的 > 提示符的一部分,不是让你输入的命令

这里的用户名和路径都是示例。你可能在其他磁盘、OneDrive 目录或者不同用户名下面,这是正常的。

Mac 可能显示成:

text 复制代码
xiaoming@MacBook yolo-study %

% 也是提示符示意。提示符可以自定义,所以后面我们还要用命令查看实际目录,不能只靠显示样式猜。

3.1 看到文章里的命令,到底复制哪一段?

本篇要输入的命令会单独写出来,例如:

powershell 复制代码
pwd

你只需要输入 pwd,然后按回车。

不要复制成下面这样:

text 复制代码
PS C:\Users\XiaoMing\Documents\yolo-study> pwd

这整行是"提示符加命令"的展示形式。前半段是电脑本来就有的提示,不属于你要输入的内容。

代码块旁边如果有复制按钮,也要先看清代码块是"命令",还是"显示示例"。我们这篇会把输出和错误例子明确写出来。


4. 第一条命令:先问"我在哪里?"

用鼠标点一下下方终端,确认光标在提示符后面闪烁。然后输入:

powershell 复制代码
pwd

按回车。

在 PowerShell 中,pwd 是 Get-Location 的别名,可以先理解为"查看当前位置"。它显示当前工作位置,见微软 Get-Location 文档。

本篇使用文件系统目录,所以我们把它叫作当前工作目录,也简称当前目录。

PowerShell 的显示可能类似:

text 复制代码
Path
----
C:\Users\XiaoMing\Documents\yolo-study

Mac 上则可能直接显示:

text 复制代码
/Users/xiaoming/Documents/yolo-study

这些是格式示意,实际路径使用你自己的。

4.1 结果里最重要的是看哪里?

检查当前目录是否就是前面建好的 yolo-study。

不要只看末尾名字。电脑上如果有两份同名目录,还要通过完整位置区分。

如果当前显示的是自己的用户目录,而不是学习目录,先别继续输入 cd images。下一节我们先把位置调正确。

4.2 为什么一开始就查看目录?

因为第二篇讲过,相对路径必须有出发点。

一会儿输入 cd images 时,Shell 要从当前目录去找 images。如果你站在错误的位置,当然可能找不到。

这和模型结构、显卡、Python 版本都没有关系。先查位置,往往比重新安装软件有用。


5. 不在学习目录里,怎么回到正确位置?

这里给大家两种方法。第一次跟着做,优先用第一种。

5.1 从 VS Code 的文件夹入口打开终端

在左侧资源管理器里,找到最外层 yolo-study 文件夹名称,点击右键,寻找:

text 复制代码
在集成终端中打开
Open in Integrated Terminal

如果最外层名称没有显示,先展开或检查是否已经打开整个文件夹。

通过这个入口打开后,再执行一次:

powershell 复制代码
pwd

检查输出是不是自己的 yolo-study。

这一步的目的,是让终端从你选定的文件夹开始工作。不要只因为点过菜单就跳过核对,最终以实际输出为准。

VS Code 的集成终端和打开目录的入口,见官方终端入门。

5.2 使用 cd 加实际路径

cd 用来切换目录。

先在文件管理器里打开自己的 yolo-study,复制它的文件夹路径,再回终端输入 cd、一个空格,然后放入路径。

假设有位 Windows 同学的实际位置如下,那么命令会是:

text 复制代码
cd "C:\Users\XiaoMing\Documents\yolo-study"

Mac 示例:

text 复制代码
cd "/Users/xiaoming/Documents/yolo-study"

这两条中的路径必须换成你自己实际复制的路径,不要照抄 XiaoMing。

双引号要把整段路径包起来。如果复制时已经带了一对引号,就不要再额外套一对。

为什么加引号?如果路径中有空格,比如某层叫 YOLO Study,我们希望 Shell 把整段当成一个路径参数,而不是按空格拆开。

cd、后面的空格、引号里的路径,各有作用:

text 复制代码
cd       "实际的文件夹路径"
命令     告诉命令要去哪里

执行后再输入 pwd 检查。命令没有明显输出,并不一定表示没执行;切换目录是否成功,要看新的当前位置。


6. 第二条命令:看看当前位置里有什么

确认已经在 yolo-study,输入:

powershell 复制代码
ls

按回车。

PowerShell 中,ls 是 Get-ChildItem 的别名,用来列出当前位置的子项;它可以显示文件和目录。参见微软 Get-ChildItem 文档。

Mac 的 zsh、bash 环境里,ls 也能列出当前目录内容,但显示格式可能不同。

我们现在关心的,是输出中应该能找到这些名字:

text 复制代码
images
hello.py
notes.txt

PowerShell 还可能显示修改时间、大小等列;名字顺序也未必和上面一致。不要求你把每列都弄懂,先找到这三个名称。

6.1 ls 会自动打开图片吗?

不会。它只是列出目录里的内容,不会因此打开 bus.jpg,也不会运行 hello.py。

而且,现在站在外层目录,通常先看到的是 images 这个文件夹,并不是把里面每层的内容全部列出来。

想找里面的图片,我们下一步进入 images 再查看。

6.2 只有 images,没有另外两个文件?

先回左侧检查 hello.py、notes.txt 有没有保存到外层。

再对照 pwd 的完整路径,确认终端和编辑器是否指向同一份学习目录。

左侧能看见某个文件,不等于当前这个终端也恰好站在它所在的文件夹里。


7. 第三条命令:进入 images,再自己走回来

现在从 yolo-study 出发,输入:

powershell 复制代码
cd images

这里,cd 是切换目录,空格后面的 images 是要进入的目录名称。

因为当前目录下面就有 images,所以这里可以用相对路径。

7.1 切换后,先验证

输入:

powershell 复制代码
pwd

当前位置应该在原来路径末尾多了一层 images。比如:

text 复制代码
C:\Users\XiaoMing\Documents\yolo-study\images

再输入:

powershell 复制代码
ls

这次应该能看到:

text 复制代码
bus.jpg

你看,现在没有改动图片,只是改变了我们查看文件的位置。

7.2 回到上一级目录

输入:

powershell 复制代码
cd ..

注意,cd 后有一个空格,后面是两个英文句点。

第二篇讲过,.. 表示上一级目录。因此,这条命令会从 images 回到 yolo-study。

再分别输入:

powershell 复制代码
pwd
powershell 复制代码
ls

应该回到熟悉的外层,并重新看见 images、hello.py、notes.txt。

这就是一次完整的目录练习:

text 复制代码
yolo-study
   │
   │ cd images
   ↓
images
   │
   │ cd ..
   ↓
yolo-study

这张图里,文件一直留在原处,变化的只有终端当前所在的位置。

固定文件树中的两个工作目录,以及从各起点访问同一张图片的相对路径。

左侧点开 hello.py 只是查看文件;终端的出发点仍要用 pwd 确认。

cd 在 PowerShell 中对应 Set-Location,可以参考微软切换位置说明。

7.3 是不是切换一次,就把文件搬走了?

没有。cd 改变的是当前工作位置,不是移动文件。

你在楼里从一个房间走到另一个房间,不代表房间里的桌子也被搬走。目录切换也是类似的意思。

同样,pwd 只是查看位置,ls 只是列出内容。本篇这三个命令不会修改你的代码和图片内容。


8. 当前工作目录,和编辑器打开的文件,有什么关系?

现在左侧打开 hello.py,然后点开 images/bus.jpg。

再回到终端执行:

powershell 复制代码
pwd

仅仅切换编辑区里的文件标签,不代表这个已存在的终端就会自动切到那个文件的目录。

以后运行程序时,这一点尤其重要:

text 复制代码
编辑器打开了谁:你现在正在看哪一份文件
终端站在哪里:你接下来输入命令时的出发点

这两个问题可以相关,但不能当成同一件事。

后面读到 images/bus.jpg 这种相对路径时,我们会检查程序实际使用的工作目录。有些运行方式可以配置工作目录,有些程序也会自行改变位置,所以最终还要在程序里查看。

现在先养成一个习惯:遇到找不到文件,先检查当前目录和目标路径,不要只看代码文件放在哪里。


9. 为什么有的窗口前面是 >>>?

以后你可能在教程里看到:

text 复制代码
>>> print("你好")
你好

这是 Python 交互式解释器的展示示例。>>> 表示它在等待 Python 代码;下面的"你好"是运行输出。

这和本篇的 PowerShell 提示符不是一回事。

你看到的环境 通常在等什么 例子
PowerShell、zsh、bash Shell 命令 pwd、cd images
Python 的 >>> Python 语句或表达式 print("你好")
VS Code 中间编辑区 文件内容 保存到 .py 的代码
VS Code 顶部命令面板 编辑器的功能命令 Configure Display Language

把这几个入口放在一起看,先认接收这段文字的程序,再决定粘贴什么。

四种入口的职责与输入示例;这是教学示意,不是界面截图。

看到 >>> 时,先确认自己在 Python 里;要输入 pwd、cd images 这类命令,应回到 Shell。

Python 官方教程也会使用这种交互式提示符展示方式。

9.1 为什么不能看到文字框就直接粘贴?

因为接收文字的程序不同。

你把 Shell 命令写到 Python 的 >>> 后面,Python 会尝试按 Python 语法理解它,当然可能报语法错误。

你把 Python 代码直接贴到 PowerShell,也不能假定它会按 Python 运行。

所以每次复制前先问:这段要求写进文件,还是输入 Shell,还是输入 Python 交互窗口?

本篇还没要求启动 Python。这里只提前认这个标记,避免后面把窗口混在一起。

9.2 如果我已经意外进入了 >>>?

确认确实是 Python 的 >>>,可以输入:

text 复制代码
exit()

按回车,退出交互式解释器,再确认是否回到原来的 Shell 提示符。

这个例子里的 exit() 是给 Python 交互窗口用的,不是让你不看环境就输入。以后学习环境配置时,我们会亲自演示进入和退出。


10. 下面几种情况,按什么顺序检查?

10.1 输入 cd images,提示找不到路径

先执行 pwd,确认当前是不是 yolo-study;再执行 ls,看看里面是否真的有 images。

如果当前已经在 images,再输入 cd images,就等于去找内层另一个 images。第二篇画过这个错误层级,现在可以对应起来了。

也检查拼写,images 和 image 不是同一个名字。

10.2 输入 cd hello.py,为什么不行?

hello.py 是文件,cd 要切换到的是目录。

想打开代码,就在左侧点文件;想执行代码,要在后续配置好解释器后使用运行命令。不要用 cd 承担这两件事。

10.3 按了回车,没有看到结果

像 cd 这样的命令,成功时可能只是重新显示提示符。继续用 pwd 验证。

如果光标还留在原行,也可能没有点进终端,或者没有真正提交输入。先看看光标在哪个区域。

如果提示符变成了等待续行的样子,检查是不是只输入了半个引号、括号。对于本篇没有执行破坏操作的输入,可以按 Ctrl + C 取消当前输入,再重新按完整的一行输入。

10.4 屏幕有红字,是不是所有东西都坏了?

先看最近一次执行了什么,再读错误信息。

"命令无法识别"和"路径不存在"不是同一种问题:前者先检查命令拼写和 Shell,后者先检查出发点与目录名称。

不要一看到红字就整段重新运行,也不要把网上不理解的修复命令全部粘上去。

10.5 命令一直在运行,我想中断

在常见的交互终端里,Ctrl + C 用来请求中断当前前台操作;它和文件复制快捷键在不同界面下承担的作用不同。

具体程序如何退出还取决于程序本身,不能保证所有子进程都会立刻结束。

本篇 pwd、ls、cd 一般很快返回。以后启动训练会出现持续日志,我们再讲怎么判断正在运行、正常结束和报错退出。


11. 今天的小练习:不用跟着代码块连复制

先自己完成,卡住再回头看正文。

  1. 在 VS Code 中打开自己的 yolo-study。
  2. 打开 PowerShell;Mac 使用 zsh 或 bash。
  3. 查看实际当前目录,确认是自己的学习目录。
  4. 列出当前内容,找到 images、hello.py、notes.txt。
  5. 进入 images,再次查看位置和内容,找到 bus.jpg。
  6. 回到上一层,确认又能看到 hello.py。
  7. 打开 notes.txt,记录这次查看到的实际学习目录路径,保存。

本篇只需要记住这三条:

命令 这次实际做了什么
pwd 查看当前在哪里
ls 查看这里有什么
cd 切换到另一个目录

再试着回答:如果终端在 images,左侧点开 hello.py,终端是否必然自动回到外层?

答案是不一定,也不能据此假定已经切换。用 pwd 检查,才有实际依据。

下一篇回到编辑区,咱们拆开最小的 Python 代码。等环境配置好,再用今天认识的终端把它执行起来。🍀

上一篇:基础篇 03|第一次使用 VS Code

下一篇:基础篇 05|读懂第一份 Python 代码

相关推荐
qianbo_insist1 小时前
# 在 Qwen3.5-2B 上把 GDN-1 无损换成 GDN-2:一次完整的架构手术实验(负结果)
人工智能·pytorch·python·架构
专注仿真3 小时前
Agentic RAG算法详解
人工智能·python·大模型训练·控制算法
学习论之费曼学习法3 小时前
无人值守AI内容矩阵实战(8):标题 A/B 实验的 6 个工程实现细节,隔日对比与自动判胜
人工智能·python·算法·矩阵·自动化·a/b测试·内容矩阵
东哥16883 小时前
我用 DeepSeek 做了 4 个零依赖的赚钱小工具,全部开源
python·开源·deepseek
Carl_奕然3 小时前
【机器视觉】最强算法之:3D高斯泼溅(3D Gaussian Splatting)
人工智能·python·算法·目标检测·计算机视觉·3d
代码山河3 小时前
OpenCV进阶:鼠标事件的回调函数使用方法
目标检测·计算机视觉
小亮_money4 小时前
Agent开发工程师-Python环境搭建
人工智能·python
isfox4 小时前
Python3 线程:多任务并发编程详解
python
Michelle80234 小时前
第1周摸底测试
python