在Linux系统中,有几种方法可以获取相对路径:
realpath
命令realpath --relative-to=/base/path /target/path
例如:
realpath --relative-to=/home/user /home/user/docs/file.txt
# 输出: docs/file.txt
readlink
命令readlink -f /path/to/file # 先获取绝对路径
然后可以手动计算相对路径
base="/home/user"
target="/home/user/docs/file.txt"
relative="${target#$base/}"
python3 -c "import os.path; print(os.path.relpath('/target/path', '/base/path'))"
perl -e 'use File::Spec; print File::Spec->abs2rel("/target/path", "/base/path") . "\n";'
假设当前目录是/home/user/projects
,你想获取/home/user/docs/report.txt
的相对路径:
realpath --relative-to=. /home/user/docs/report.txt
# 输出: ../docs/report.txt
realpath
在较旧系统中可能不可用)希望这些方法能帮助你获取所需的相对路径!