主题
Linux路径表示与特殊路径符
课程介绍
接下来我们来学习Linux的路径表示。有绝对路径(从根目录开始)和相对路径(从当前目录开始)两种。还会学到三个特殊符号:.表示当前目录,..表示上一级,~表示home目录。掌握这些,你就能灵活地定位文件了。
1. 路径表示概述
基本概念
在Linux系统中,路径是用于定位文件或目录的字符串,有两种基本表示方式:
- 绝对路径:以根目录(/)为起点的完整路径
- 相对路径:以当前工作目录为起点的路径
路径分隔符
- Linux系统使用正斜杠(/)作为路径分隔符
- Windows系统使用反斜杠(\)作为路径分隔符
示例对比
假设当前工作目录是/home/yege,要切换到桌面目录:
绝对路径方式
bash
cd /home/yege/桌面相对路径方式
bash
cd 桌面2. 绝对路径详解
定义
绝对路径是以**根目录(/)**为起点,完整描述文件或目录位置的路径表示方式。
特点
- 路径描述完整,从根目录开始
- 无论当前工作目录在哪里,绝对路径都能准确指向目标
- 路径长度较长,但准确性高
写法示例
bash
# 根目录
/
# 根目录下的home目录
/home
# 根目录下的home目录中的yege目录
/home/yege
# 根目录下的home目录中的yege目录中的桌面目录
/home/yege/桌面
# 根目录下的etc目录中的passwd文件
/etc/passwd适用场景
- 需要精确定位文件或目录时
- 在脚本或程序中引用文件时
- 分享文件路径给他人时
3. 相对路径详解
定义
相对路径是以当前工作目录为起点,描述文件或目录位置的路径表示方式。
特点
- 路径描述简洁,从当前工作目录开始
- 路径长度较短,使用方便
- 依赖于当前工作目录,不同工作目录下可能指向不同目标
写法示例
假设当前工作目录是/home/yege:
bash
# 当前目录下的桌面目录
桌面
# 当前目录下的文档目录下的report.txt文件
文档/report.txt
# 当前目录的上一级目录
..
# 当前目录的上一级目录中的var目录
../var适用场景
- 在当前工作目录附近操作文件时
- 日常命令行操作中
- 路径较短且容易理解时
4. 特殊路径符
概述
Linux系统中有一些特殊的路径符,用于简化路径表示:
| 特殊路径符 | 含义 | 示例 |
|---|---|---|
. | 当前目录 | cd ./桌面 |
.. | 上一级目录 | cd .. |
~ | 用户的home目录 | cd ~ |
详细说明
. - 当前目录
- 表示当前工作目录
- 通常可以省略,但在某些情况下需要显式使用
使用示例:
bash
# 切换到当前目录下的桌面目录(与cd 桌面效果相同)
cd ./桌面
# 执行当前目录下的脚本文件
./script.sh.. - 上一级目录
- 表示当前目录的父目录
- 可以组合使用表示多级父目录
使用示例:
bash
# 切换到上一级目录
cd ..
# 切换到上两级目录
cd ../..
# 切换到上一级目录下的var目录
cd ../var~ - 用户的home目录
- 表示当前登录用户的home目录
- 等同于
/home/用户名
使用示例:
bash
# 切换到用户的home目录
cd ~
# 切换到home目录下的下载目录
cd ~/下载
# 查看home目录下的文件
ls ~/程序员文化延伸
- 常见的程序员文化T恤上印有"CD ~"的图案
- "CD ~"的含义是"我要回家"(下班了不要找我)
- 体现了程序员的幽默文化
5. 命令行实操演示
演示1:绝对路径与相对路径对比
bash
# 查看当前工作目录
pwd
# 使用绝对路径切换到桌面目录
cd /home/yege/桌面
pwd
# 返回home目录
cd
pwd
# 使用相对路径切换到桌面目录
cd 桌面
pwd演示2:特殊路径符使用
bash
# 查看当前工作目录
pwd
# 使用.切换到当前目录下的文档目录
cd ./文档
pwd
# 使用..切换到上一级目录
cd ..
pwd
# 使用~切换到home目录
cd ~
pwd
# 使用~直接进入home目录下的下载目录
cd ~/下载
pwd演示3:多级目录导航
bash
# 从home目录开始
cd ~
pwd
# 使用相对路径进入文档目录
cd 文档
pwd
# 使用..返回上一级目录
cd ..
pwd
# 使用../..返回两级目录
cd /home/yege/文档
cd ../..
pwd6. 路径表示最佳实践
选择原则
- 日常操作:优先使用相对路径,简洁方便
- 脚本编写:优先使用绝对路径,确保准确性
- 分享路径:使用绝对路径,避免误解
注意事项
- 路径区分大小写(Linux是大小写敏感的)
- 路径中不要包含空格,如需包含空格请使用引号或转义符
- 避免使用过于复杂的相对路径,以免引起混淆
路径中包含空格的处理
bash
# 方法1:使用引号包裹
cd "My Documents"
# 方法2:使用转义符
cd My\ Documents课程总结
这节课我们学了两种路径和三个特殊符号。
绝对路径从根目录/开始,比如/home/yege/桌面。 相对路径从当前目录开始,比如在/home/yege下直接用桌面。
三个特殊符号:
.- 当前目录..- 上一级目录~- home目录
日常操作用相对路径方便,写脚本用绝对路径更准确。
课后练习
练习1(基础)
请写出以下场景的相对路径和绝对路径:
- 当前工作目录是/home/yege,要访问桌面目录
- 当前工作目录是/home/yege,要访问文档目录下的report.txt文件
- 当前工作目录是/home/yege/桌面,要访问上一级目录
练习2(进阶)
请解释以下路径的含义:
./test/file.txt../test/file.txt~/test/file.txt/home/yege/test/file.txt
练习3(拓展)
请在Linux终端中执行以下操作:
- 从当前目录切换到根目录
- 从根目录切换到/home目录
- 从/home目录切换到用户的home目录
- 从用户的home目录切换到上一级目录
- 使用特殊路径符直接进入home目录下的下载目录
练习4(挑战)
请根据以下描述写出对应的相对路径:
- 当前工作目录内有一个test文件夹,文件夹内有一个hello.txt文件
- 当前工作目录的上级目录有一个test文件夹,文件夹内有一个hello.txt文件
- 用户的home目录内有一个test文件夹,文件夹内有一个hello.txt文件(使用~符号)
练习5(实践)
请尝试:
- 使用绝对路径和相对路径两种方式访问同一个文件
- 使用特殊路径符导航到系统中的不同目录
- 比较不同路径表示方式的优缺点