一)概述
文件和目录是操作系统的构建块。作为Linux用户,我们对文件和目录执行各种操作。其中一个操作是查找文件的完整路径。文件的完整路径也称为其绝对路径或规范路径。
在本教程中,我们将讨论多种查找文件完整路径的方法。
二)设置
让我们创建文件和目录结构作为示例:
cd /tmp mkdir -p dir1/dir2/dir3/dir4/dir5 touch dir1/dir2/file2.txt touch dir1/dir2/dir3/dir4/file4.txt touch dir1/dir2/dir3/dir4/dir5/file5.txt tree /tmp/dir1/ /tmp/dir1/ └── dir2 ├── dir3 │ └── dir4 │ ├── dir5 │ │ └── file5.txt │ └── file4.txt └── file2.txt 4 directories, 3 files
三)使用 readlink
命令
四)使用 realpath
命令
另外,我们可以使用 realpath
命令来获取文件的绝对路径:
cd /tmp/dir1/dir2/dir3/dir4/ realpath file4.txt /tmp/dir1/dir2/dir3/dir4/file4.txt
五)使用 basename
和 dirname
命令的组合
我们可以使用这两个命令的组合来查找文件的完整路径。让我们为此创建一个简单的 shell 脚本:
cat get_full_path.sh ! /bin/bash echo "$(cd "$(dirname "$1")" && pwd -P)/$(basename "$1")" chmod +x get_full_path.sh ./get_full_path.sh file4.txt /tmp/dir1/dir2/dir3/dir4/file4.txt
首先,我们使用 dirname
命令查找文件所在的目录。然后使用 cd
命令切换到该目录。
接下来,我们使用 pwd
命令打印当前工作目录。在这里,我们应用了 -P
选项以显示物理位置而不是符号链接。
最后,我们使用 basename
命令打印不带目录的文件名。
六)使用 find
命令
find
命令在目录层次结构中搜索文件。我们可以使用此命令打印文件的绝对路径:
cd /tmp/dir1/ find $PWD -type f -name file4.txt /tmp/dir1/dir2/dir3/dir4/file4.txt
七)结论
在本文中,我们讨论了多种查找文件绝对路径的实用示例。首先,我们讨论了 readlink
和 realpath
命令的用法。然后,我们使用了 basename
和 dirname
命令的组合。最后,我们看到了 find
命令的示例。我们可以在日常生活中使用这些命令来提高我们的工作效率。
除教程外,本网站大部分文章来自互联网,如果有内容冒犯到你,请联系我们删除!