如何打印不同目录中文件的路径

如何打印不同目录中文件的路径

我知道如果您有一个文件one.txt,那么~/Documents您将打印:cd ~/Documentsrealpath one.txt

~/Documents/one.txt

但是,如果您想打印不同目录中文件的路径该怎么办?例如,目录中cd a/b有一个文件,那么人们如何通过传递给命令来打印绝对路径。two.txta2/b2two.txttwo.txt

希望realpath two.txt在不同的目录中做类似的事情。

答案1

只需给出realpath当前目录的相对路径:

$ pwd
/home/myself/local/build/shell-toolbox
$ realpath ../../../.profile
/home/myself/.profile

如果我没有提示它所在的位置,GNUrealpath实用程序将无法找到我的文件,或生成它的绝对路径。.profile在您的情况下,您可能有任意数量的名为 的文件two.txt,因此realpath必须至少给出当前目录的相对路径,以便能够给出文件的绝对路径名。

在 Unix 文件系统中,一个文件由一个唯一标识路径名(相对或绝对)。 A文件名无法唯一标识除当前目录中的文件之一之外的任何文件。

two.txt要找到主目录中或主目录下调用的所有常规文件,并获取它们相对于 的路径名$HOME

find "$HOME" -type f -name two.txt

相关内容