Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

文件、目录与路径

学习目标

完成本章学习后,你应该能够:

  • 理解 Linux 文件系统的基本结构;
  • 理解绝对路径和相对路径的区别;
  • 使用 pwd、ls、cd 进行目录定位;
  • 使用 cp、mv、rm 等命令管理文件。

Linux 文件系统结构

路径

相对路径

从当前工作目录开始算起,通常更短;使用 . 代表当前目录,.. 代表上一级父目录。

绝对路径

从根目录(/)开始,不受当前工作目录变化影响,在系统的任何位置均能唯一定位资源。

目录

查看当前目录

pwd
ls
ls -l
ls -a
ls -la

切换目录

cd /tmp
cd ..
cd ~
cd -

创建文件和目录

touch test.txt

更新文件时间戳;若文件不存在则直接创建空文件(常用功能)。

mkdir):用于新建目录;绝大多数文件操作命令对目录同样适用。

复制和移动

cp 复制文件或目录;mv 既可移动文件,也常用于对文件或目录重命名。

删除文件和目录

rm / rmdir):命令行删除不可逆;rmdir 仅能删除空目录,删除非空目录需用 rm -rf。

判断文件的类型

file filename

重点说明:

  • Linux 不完全依赖扩展名判断类型
  • .jpg 文件不一定真的是图片
  • 无扩展名文件也可能是可执行程序或压缩包

文件名或者目录名中包含 空格

  • 在空格前加上反斜杠(\),告诉 Shell 将空格视为文件名的一部分而非分隔符。
  • 双引号包裹 (""):将整个路径或文件名用双引号(推荐)或单引号括起来,强行让 Shell 读取字面值。

最佳实践是避免在文件名和目录名中使用空格,建议用连字符(-)或下划线(_)代替;若无法避免,则须通过转义符或双引号处理。

通配符

  • 星号通配符 (*):匹配当前目录/路径段中的零个或多个非分隔符字符。

  • 问号通配符 (?):仅精确匹配任意单个字符,用于更严格的限制搜索。

  • 跨目录扩展 (**):结合 globstar 选项,可跨越多层子目录进行递归匹配。