是否有一种简单的方法可以打印file.txt的完整路径?

file.txt = /nfs/an/disks/jj/home/dir/file.txt

<命令>

dir> <command> file.txt  

应该打印

/nfs/an/disks/jj/home/dir/file.txt

当前回答

这将为您提供文件的绝对路径:

find / -name file.txt 

其他回答

使用指向:

readlink -f file.txt

这将适用于文件和文件夹:

getAbsolutePath(){
    [[ -d $1 ]] && { cd "$1"; echo "$(pwd -P)"; } || 
    { cd "$(dirname "$1")" || exit 1; echo "$(pwd -P)/$(basename "$1")"; }
}

在Windows上:

按住Shift键,在Windows资源管理器中右键单击一个文件,会出现一个名为“复制为路径”的选项。 这将复制文件的完整路径到剪贴板。

在Linux上:

您可以使用realpath yourfile命令来获得其他人建议的文件的完整路径。

您可以使用此功能。如果给出的文件名没有相对路径,则假定它在当前工作目录中:

abspath() { old=`pwd`;new=$(dirname "$1");if [ "$new" != "." ]; then cd $new; fi;file=`pwd`/$(basename "$1");cd $old;echo $file; }

用法:

$ abspath file.txt
/I/am/in/present/dir/file.txt

使用相对路径:

$ abspath ../../some/dir/some-file.txt
/I/am/in/some/dir/some-file.txt

文件名中有空格:

$ abspath "../../some/dir/another file.txt"
/I/am/in/some/dir/another file.txt

我知道这是一个老问题了,但在这里补充一下信息:

Linux命令,可用于查找命令文件的文件路径。

$ which ls
/bin/ls

这里有一些注意事项;请参见https://www.cyberciti.biz/faq/how-do-i-find-the-path-to-a-command-file/。