讲解

Linux 的文件系统是一棵从根目录 / 长出来的树:/home 下是各用户的家目录,/etc 放系统配置,/var/log 放日志,/tmp 放临时文件。你在树中的位置叫「当前工作目录」,用 pwd(print working directory)查看。描述位置有两种方式:绝对路径从 / 写起(如 /home/alice/notes.txt),无论你在哪里都有效;相对路径从当前目录写起(如 docs/doc1.txt),短小但依赖你所处的位置。

有三个特殊路径缩写要烂熟于心:. 表示当前目录,.. 表示上一级目录,~ 表示当前用户的家目录。所以 cd .. 是「回上一层」,cd ~ 或直接 cd 是「回家」,cd - 是「回到刚才所在的目录」,非常实用。

ls 列出目录内容,是使用频率最高的命令之一。常用选项:ls -l 以长格式显示权限、所有者、大小、修改时间;ls -a 连隐藏文件(以 . 开头的文件,如 .bashrc)一起显示;ls -lh 把文件大小显示成 K/M/G 这样的易读单位;ls -lt 按修改时间排序。选项可以组合,顺序随意。macOS 的 ls -l 时间格式与 Linux 略有不同,属正常现象。

示例

# 我在哪?这里有什么?
pwd
ls

# 长格式 + 易读大小 + 包含隐藏文件
ls -lh
ls -a
# 进入子目录看看,再回来
cd projects/web
pwd
ls

# 一次上两级,进入 backup
cd ../../backup
pwd
ls

常见坑

  • 路径里的空格:my docs 必须写成 "my docs" 或 my\ docs,否则 shell 会把空格后的部分当成另一个参数。命名文件和目录时尽量只用字母、数字、-、_。
  • 打错路径全靠手敲:长路径用 Tab 补全,既快又不会打错。补全不出来多半是路径本身写错了。
  • cd 到不存在的目录:报错 No such file or directory。先用 ls 确认名字,再 cd。
  • 相对路径想当然:在 scripts/ 里执行 cat notes.txt 找不到文件,因为 notes.txt 在上一层。动手前 pwd 一下,想清楚相对谁。

小结

pwd 定位、ls 看内容、cd 移动,配合 .、..、~ 三个缩写可以在目录树里来去自如。记住 ls -lha 这个高频组合。下一节学习复制、移动和删除文件。