文件、目录与路径
学习目标
完成本章学习后,你应该能够:
- 理解 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 选项,可跨越多层子目录进行递归匹配。