Linux怎么顯示文件完整路徑

顯示路徑的方法:1、使用readlink命令獲取文件路徑,語法“readlink -f filename”;2、使用realpath命令獲取文件的完整路徑,語法“realpath filename”;3、使用find命令獲取文件絕對路徑,語法“find $(pwd) -name filename”;4、使用ls命令打印完整路徑,語法“ls -l $PWD/filename”。

Linux怎么顯示文件完整路徑

本教程操作環境:linux7.3系統、Dell G3電腦。

我們都知道,在命令行可以使用 pwd 命令來獲取當前目錄的完整路徑(絕對路徑):

pwd

那么,如何獲取文件的絕對路徑呢?有下列幾種方法,可以打印文件的完整路徑:

  • readlink
  • realpath
  • find
  • ls 和 pwd 組合使用
$?readlink?-f?sample.txt?/home/gliu/sample.txt? $?realpath?-s?sample.txt?/home/gliu/sample.txt? $?find?$(pwd)?-name?sample.txt?/home/gliu/sample.txt

下面我們來詳細介紹一下這些命令。不過在此之前,我建議先了解一下絕對路徑和相對路徑概念相關的基礎知識。

使用 readlink 獲取文件路徑

readlink 的最初用途是解析符號鏈接,不過我們可以用它來顯示文件的完整路徑,如下為其語法結構:

readlink?-f?filename

如下為一個例子:

$?readlink?-f?sample.txt /home/gliu/sample.txt

使用 realpath 獲取文件的完整路徑

realpath 原用于解析絕對文件名,在這里我們也可以用它來顯示文件的完整路徑:

realpath?filename

下面是一個例子:

$?realpath?sample.txt /home/gliu/sample.txt

如果使用符號鏈接,它將顯示原始文件的實際路徑。你可以強制它不跟隨符號鏈接(即顯示當前文件的路徑):

realpath?-s?filename

下面是一個示例,默認情況下它顯示了源文件的完整路徑,然后我強制它顯示符號鏈接,而不是原始文件:

$?realpath?linking-park /home/gliu/Documents/ubuntu-commands.md  $?realpath?-s?linking-park /home/gliu/linking-park

使用 find 命令獲取文件絕對路徑

下面是使用 find 命令獲取文件路徑的方法。

在 find 命令中,如果給定的路徑是一個點 . ,那么它將顯示相對路徑;如果給定的是一個絕對路徑,那么就可以獲取搜索文件的絕對路徑。 使用命令占位符與 find 命令一起使用,如下:

find?$(pwd)?-name?filename

我們可以使用這種方式來獲取單一文件的絕對路徑:

$?find?$(pwd)?-name?sample.txt /home/gliu/sample.txt

或者,可以使用匹配模式(比如星號 *)來獲取一組文件的路徑:

$?find?$(pwd)?-name?"*.pdf" /home/gliu/Documents/eBooks/think-like-a-programmer.pdf /home/gliu/Documents/eBooks/linux-guide.pdf /home/gliu/Documents/eBooks/absolute-open-bsd.pdf /home/gliu/Documents/eBooks/theory-of-fun-for-game-design.pdf /home/gliu/Documents/eBooks/Ubuntu?1804?english.pdf /home/gliu/Documents/eBooks/computer_science_distilled_v1.4.pdf /home/gliu/Documents/eBooks/the-art-of-debugging-with-gdb-and-eclipse.pdf

使用 ls 命令打印完整路徑

使用 ls 命令來獲取文件的絕對路徑,稍微優點復雜。 我們可以在 ls 命令中使用環境變量PWD來顯示文件和目錄的絕對路徑,如下:

ls?-ld?$PWD/*

使用上述命令,會得到如下輸出:

$?ls?-ld?$PWD/* -r--rw-r--?1?gliu?gliu?0?Jul?27?16:57?/home/gliu/test/file2.txt drwxrwxr-x?2?gliu?gliu?4096?Aug?22?16:58?/home/gliu/test/new

要使用上述命令打印某個文件的完整路徑,可以如下使用:

ls?-l?$PWD/filename

這雖然不是最好的解決方案,但是很有效,看下面的例子:

$?ls?-l?$PWD/sample.txt -rw-r--r--?1?gliu?gliu?12813?Sep?7?11:50?/home/gliu/sample.txt

以上我們介紹了在 Linux 中獲取文件完整路徑的4種方法,其中 find 和 ls 命令的方式最常見,而 realpath 和 readlink 這兩種方法對許多新用戶來說可能還清楚,不過任何事情總有第一次,能學習到新的東西總是好的。

相關推薦:《Linux視頻教程

? 版權聲明
THE END
喜歡就支持一下吧
點贊10 分享