第 02 模块 · 2 节

常用 CLI 命令与管道

《Claude Code 基础入门》02 终端与命令行基础 · 本节时长 26 分钟

命令之间能「接起来」

终端里有个很强大的概念叫管道|):把一个命令的输出,接给下一个命令当输入。就像流水线,上一个工序的产物喂给下一个工序。

命令1 | 命令2 | 命令3

管道让简单命令组合出强大功能,也是 Claude Code 在终端里分析项目时常借助的工具。

贯穿项目我们 todo-app 里的待办就存在一个文本文件里。用 wc 数行数、用 grep 搜内容、用 ls | wc -l 数文件——这些管道操作正是 todo 工具将来处理数据的底层方式。

先认识几个常用命令

数行数:wc

wc -l 统计行数:

wc -l package.json
# 42 package.json

看文件开头/结尾:head / tail

head -20 app.js     # 看前 20 行
tail -10 app.js     # 看最后 10 行

搜索:grep

grep "TODO" src/     # 在 src 里找含 TODO 的行

用管道把它们接起来

例子:想知道 src 目录下有多少个文件。

ls src | wc -l
# 命令1:ls src 列出文件
# 命令2:wc -l 数这些行数

再看一个:找出代码里所有 console.log 的位置。

grep -r "console.log" src/ | head -20
# 先搜出所有 console.log,再只取前 20 条

为什么要懂这些

你可能想「这些我自己用得少,为什么还要学」:

  1. Claude Code 会自己用——你看得懂它的操作,才知道它干了什么
  2. 你可以让它用管道查东西——比如「帮我统计有多少行代码」
  3. 自己排查时,一条管道命令常常比翻半天文件快

理解「输出 → 输入」这条线,比死记命令更重要。


落地练习:数一数 todo-app 里的「料」

回到我们上节建的 todo-app 目录,用管道干点真事。先手动造点内容,再统计:

  1. todo-app 里建一个文件,写几行字:
echo "买牛奶" > todo.txt
echo "交房租" >> todo.txt
echo "写周报" >> todo.txt
  1. 看它有多少行:wc -l todo.txt,应该输出 3
  2. 找出含「买」的行:grep "买" todo.txt
  3. 数目录下有几个文件:ls | wc -l

怎么判断做对了?——wc -l 返回 3,grep "买" 只显示「买牛奶」那一行。你亲手用管道把数据「接」了起来,这就是 todo 工具将来干活的方式。

卡住了怎么办? >>> 的区别忘了?> 覆盖、>> 追加,按上面命令照抄即可。grep 没输出?可能文件里没这个字,cat todo.txt 看下内容。


常见坑:把 |> 搞混

新手常把管道符 | 和重定向符 > 弄混。

  • | 管道:把上一条命令的输出接给下一条命令当输入(两个命令都参与)
  • > 重定向:把上一条命令的输出写进文件(写盘,第二个不是命令而是文件)

一句话记法:| 接命令、> 写文件。写错的话行为差很多——> 会新建/清空文件,容易误删内容。


小结

这一节掌握了管道的思路:命令的输出可以是下一条命令的输入。配合 wcheadgrep,就能用简单命令组合出有用的结果,并已经在 todo-app 里用管道干了真事。下一节,我们正式和 Claude Code 对话。