跳转到内容

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 ../..
pwd

6. 路径表示最佳实践

选择原则

  • 日常操作:优先使用相对路径,简洁方便
  • 脚本编写:优先使用绝对路径,确保准确性
  • 分享路径:使用绝对路径,避免误解

注意事项

  • 路径区分大小写(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(实践)

请尝试:

  • 使用绝对路径和相对路径两种方式访问同一个文件
  • 使用特殊路径符导航到系统中的不同目录
  • 比较不同路径表示方式的优缺点

评论区

专业的Linux技术学习平台,从入门到精通的完整学习路径