在 Linux 系统中,路径(Path)是文件或目录在文件系统层次结构中的位置标识,理解路径对于日常操作、脚本编写和系统管理至关重要。
以下是关于 Linux 路径的详细指南:
两种基本路径类型
A. 绝对路径 (Absolute Path)
- 定义:从根目录 开始,完整描述文件位置的路径。
- 特点:无论当前工作目录在哪里,绝对路径始终指向同一个位置。
- 示例:
/home/user/documents/report.txt /etc/nginx/nginx.conf /usr/bin/python3
B. 相对路径 (Relative Path)
- 定义:相对于当前工作目录(Current Working Directory)的路径。
- 特点:依赖于你当前所在的目录。
- 示例:
- 如果你当前在
/home/user,documents/report.txt指向/home/user/documents/report.txt。 ../etc/passwd表示上级目录中的etc/passwd。
- 如果你当前在
特殊符号与缩写
| 符号 | 含义 | 示例说明 |
|---|---|---|
| 根目录 | 路径的起点 | |
| 当前目录 | ./script.sh 表示执行当前目录下的 script.sh |
|
|
上级目录 | cd .. 返回上一级目录 | |
| 用户主目录 | ~/Documents 等价于 /home/username/Documents | |
| 上一个工作目录 | cd - 返回你上次所在的目录 |
注意: 是 shell 的扩展功能,它会被自动替换为当前用户的主目录路径(由
$HOME环境变量决定)。
常用路径命令
查看当前工作目录
pwd # 输出示例: /home/user/projects
切换目录
cd /path/to/directory cd .. # 返回上级 cd ~ # 返回主目录 cd - # 返回上一个目录
ls /path/to/directory ls -la /etc # 显示详细信息,包括隐藏文件
复制/移动/删除
cp source.txt /dest/path/ mv file.txt /new/location/ rm /path/to/file
环境变量中的路径:PATH
在 Linux 中,PATH 是一个非常重要的环境变量,它告诉系统在哪里查找可执行命令。
- 查看 PATH:
echo $PATH # 输出示例: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
- 工作原理:
当你输入ls或
python时,系统会依次在$PATH中定义的目录中搜索对应的可执行文件。 - 添加自定义路径到 PATH:
如果你想让系统识别自己编写的脚本,可以将其所在目录添加到 PATH:export PATH=$PATH:/home/user/my_scripts
建议将此命令添加到
~/.bashrc或~/.zshrc文件中,以便每次登录时自动生效。
常见系统目录结构(FHS 标准)
Linux 遵循文件系统层次结构标准(Filesystem Hierarchy Standard, FHS),常见目录含义如下:
| 目录 | 用途 |
|---|---|
| 根目录,所有其他目录的起点 | |
/bin |
基本用户命令(如 ls, cp) |
/sbin |
系统管理命令(需 root 权限,如 fdisk) |
/etc |
系统配置文件 |
/home |
普通用户的主目录 |
/root |
root 用户的主目录 |
/usr |
用户程序和数据(如 /usr/bin, /usr/lib) |
/var |
可变数据,如日志(/var/log)、缓存等 |
/tmp |
临时文件,重启后通常会被清空 |
/dev |
设备文件(如硬盘、终端) |
/proc |
进程和内核信息(虚拟文件系统) |
路径相关技巧
路径补全(Tab 键)
在终端中输入路径时,按 Tab 键可以自动补全路径或文件名,极大提高效率。
处理空格和特殊字符
如果路径中包含空格或特殊字符,请使用引号包裹:
cd "My Documents" cp "file name.txt" backup/
检查路径是否存在
if [ -d "/path/to/dir" ]; then
echo "目录存在"
else
echo "目录不存在"
fi
获取文件所在目录
dirname /path/to/file.txt # 输出: /path/to basename /path/to/file.txt # 输出: file.txt
- 绝对路径以 开头,始终唯一。
- 相对路径依赖当前目录,使用 和 。
- 代表用户主目录,
$PATH决定命令查找范围。 - 熟练使用
pwd、cd、ls和Tab补全是高效操作 Linux 的基础。
如有具体场景(如编写 Shell 脚本处理路径),欢迎进一步提问!
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/478879.html



