我有一个文件。我想在终端中显示它的完整路径。
哪个命令会?
答案1
使用readlink
标志-e
。它不仅提供文件的完整路径,还提供符号链接的真实路径
$ readlink -e ./out.txt
/home/xieerqi/out.txt
每当需要获取文件的完整路径时,我个人都会在自己的脚本中使用它
答案2
我找到了:
sudo apt-get install realpath
然后:
realpath MY_FILE
答案3
如果您不知道文件的位置,请使用find
命令。
find / -name MY_FILE
它将打印MY_FILE
从 开始的完整路径/
。
或者您可以使用
find $PWD -name MY_FILE
在当前目录中搜索。
如果你知道位置,MY_FILE
则转到包含的文件夹MY_FILE
并使用
pwd
命令打印的完整路径MY_FILE
。
答案4
这是一个显示文件路径的函数,您可能只需要“fpath=....”部分?
pathtofile () { : "gives full path to files given in parameters.";
for f in "$@"; do
fpath="$(
cd -P "$(dirname "$f")" && \
printf '%s\n' "$(pwd)/$(basename "${f}")" || \
{ echo "__An error occured while determining path to file: '${f}'."\
"Maybe your user can't access its directory, most likely?__"
} )"
printf "Full path to: %s\n is: %s\n" "'${f}'" "'${fpath}'";
done
}
使用方式:
pathtofile file1 ../file2 /some/pathwithsymlink/file3
重要的部分:cd -P somedir:显示 somedir 的完整“真实”路径。