插件窝 干货文章 在Linux中如何查看文件的绝对路径

在Linux中如何查看文件的绝对路径

路径 filename readlink 绝对 871    来源:    2025-04-10

在Linux中,查看文件的绝对路径有以下几种常用方法:


1. 使用 pwd 结合文件名

如果文件在当前目录下,可以结合 pwd(打印当前工作目录)和文件名获取绝对路径:

echo "$(pwd)/filename"

示例

$ echo "$(pwd)/test.txt"
/home/user/documents/test.txt

2. 使用 readlink 命令

readlink 可以直接解析文件的绝对路径(包括符号链接):

readlink -f filename

参数说明: - -f:递归解析所有符号链接,最终显示完整绝对路径。

示例

$ readlink -f test.txt
/home/user/documents/test.txt

3. 使用 realpath 命令

realpath 是专门用于获取绝对路径的工具(需确保系统已安装):

realpath filename

示例

$ realpath test.txt
/home/user/documents/test.txt

4. 通过 find 命令搜索

如果不知道文件具体位置,可以用 find 搜索并显示绝对路径:

find / -type f -name "filename" 2>/dev/null

说明: - /:从根目录开始搜索。 - 2>/dev/null:忽略权限错误提示。

示例

$ find / -type f -name "test.txt" 2>/dev/null
/home/user/documents/test.txt

5. 使用 ls 和符号链接展开

对于符号链接文件,ls 可以显示其指向的绝对路径:

ls -l filename

输出中的 -> 会显示链接目标路径


6. 通过 dirnamebasename 组合

获取文件所在目录的绝对路径:

dirname "$(readlink -f filename)"

获取文件名本身:

basename "$(readlink -f filename)"

常见问题解决

  • 命令不存在?
    如果 realpathreadlink 不可用,可能是未安装核心工具包(如 coreutils),可通过包管理器安装:

    sudo apt install coreutils  # Debian/Ubuntu
    sudo yum install coreutils  # RHEL/CentOS
    
  • 符号链接如何处理?
    使用 readlink -frealpath 会自动解析符号链接的最终路径。


总结

场景 推荐命令
快速获取绝对路径 readlink -f filename
需要安装工具时 realpath filename
文件位于当前目录 echo "$(pwd)/filename"
搜索未知位置文件 find / -name "filename"

选择适合你场景的方法即可!