首頁 > 運維 > linux運維 > Linux怎麼顯示檔案完整路徑

Linux怎麼顯示檔案完整路徑

青灯夜游
發布: 2023-02-14 10:07:18
原創
11108 人瀏覽過

顯示路徑的方法: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影片教學

以上是Linux怎麼顯示檔案完整路徑的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板