跳到内容

元数据卡

  • 前置知识:第1章,ch02-first-commands
  • 预计时间:8 分钟
  • 阅读模式:边读边试

你连自己在哪都不知道

你成功对着终端说了一句话——whoami,它回了你的名字。

但现在你站在一片黑暗中,连自己站在哪都不知道。

就像刚进一座巨大的地下工坊,你听到回声,但看不到脚下的路。你摸着墙壁走了两步——"我这是在工坊的哪个角落?"

"你的当前目录在哪?"——这是在终端里永远要知道的第一个问题。

文件系统是一棵树。根是 /,然后分叉出 homeusretcvar…… 每个分叉又可以继续分。

你的当前位置,就是你在树上挂着的那个节点。

pwd:你到底在哪

bash
# 打印当前工作目录(Print Working Directory)
pwd

# 预期输出:
# /home/steven

语言:Shell (Bash/Zsh) 如何运行:打开终端,输入 pwd,回车 预期输出:你所在目录的完整路径 你试试:先输入 cd /tmp,再输入 pwd,看看路径怎么变

还记得提示符里的 ~ 吗?它代表 /home/steven——你的家目录。~ 是快捷键,pwd 告诉你完整地址。

ls:环顾四周

知道自己站哪了,总得看看周围有些什么吧?

bash
# 列出当前目录的文件和子目录
ls

# 连隐藏文件一起看(以 . 开头的文件)
ls -a

# 详细信息模式
ls -l

# 最常用的组合:人类可读的详细列表
ls -lh

语言:Shell (Bash/Zsh) 如何运行ls 不加参数 = 看当前目录;ls /tmp = 看指定目录 预期输出:文件名列表,或带权限、大小、时间的详细列表 你试试ls -la 同时显示隐藏文件和详细信息;ls / 看看根目录里有什么

cd:移动起来

现在你可以到处走了。

bash
# 切换到 /tmp 目录
cd /tmp

# 看看到了没
pwd
# /tmp

# 回到上一级目录
cd ..

# 回到刚才的目录(终端会记住你上一个位置)
cd -

# 直接回老家
cd ~
# 或者直接输入 cd 不带参数,效果一样
cd

# 一次跳多级也是可以的
cd /usr/local/bin

语言:Shell (Bash/Zsh) 如何运行cd <路径> 不需要输出,用 pwd 验证 预期输出:(无)——cd 成功时什么都不说,失败了会报错 你试试:用 cd 在各个目录间来回跳,每次用 pwd 确认你在哪


绝对路径 vs 相对路径

去一个地方通常有两种说法:

  • 绝对路径:从根 / 开始描述。就像说"从世界地图的东经116°北纬40°开始找"。
  • 相对路径:从当前位置开始描述。就像说"往前三步,左转"。
bash
# 绝对路径——不管你在哪,都能到
cd /home/steven/projects

# 相对路径——从当前位置出发
cd projects          # 当前目录下的 projects
cd ../steven          # 上一层目录里的 steven
cd ../../tmp          # 往上两层,然后进 tmp

两个特殊目录名:

  • . — 当前目录
  • .. — 上一级目录

Tab 补全:省一半的时间

这个技巧会让你觉得之前的自己都在浪费生命:

你打出路径的前几个字符,按 Tab 键,Shell 自动帮你补全剩下的部分。

bash
# 假如 /usr/local/bin 下面有 file、find、finger
cd /usr/loc<Tab>
# 自动变成:cd /usr/local/

如果有多个匹配,再按一次 Tab 会列出所有选项:

bash
cd /usr/local/b<Tab>
# (第一次按,没反应,说明有多个)
# 再按一次 Tab
# bin/  boot/

养成按 Tab 的习惯。除非你喜欢逐个字母敲。


旅人笔记

文件系统是树,/ 是根。
pwd 确认位置,ls 环顾四周,cd 移动。
绝对路径从根开始;相对路径从当前位置开始。
. 是这里,.. 是上一层。
Tab 补全——敲几个字母,按它,省时间。


→ 下一步:动手——文件操作

你知道自己在哪,也知道怎么走了。但工坊的主人是让你干活的——不是光站着看的。

前往 → 触摸这个世界——文件操作

Built with VitePress | Software Systems Atlas