Linux 中獲取檔案完整路徑的4種方法介紹
我們都知道,在 行可以使用 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 -f filename
如下為一個例子:
$ readlink -f sample.txt /home/gliu/sample.txt
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 $(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 命令中使用環境變數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 這兩種方法對許多新使用者來說可能還清楚,不過任何事情總有第一次,能學習到新的東西總是好的。
關於其他的任何想法,歡迎討論。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2926616/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java中獲取JAR檔案中資源路徑的三種方法JavaJAR
- 五種方法,教你如何在Mac上檢視檔案完整路徑Mac
- linux獲取docker容器中的檔案路徑怎麼表示LinuxDocker
- Java中獲取URI最後一個路徑段的4種方法Java
- Linux 中獲取硬碟分割槽或檔案系統的 UUID 的七種方法Linux硬碟UI
- 獲取Linux系統中目錄檔案大小的方法Linux
- Java中的獲取檔案的物理絕對路徑,和讀取檔案Java
- SpringBoot 中獲取專案的路徑和檔案流Spring Boot
- 7種Linux中獲取CPU速度的方法Linux
- python獲取程式執行檔案路徑的方法其一Python
- 通過可寫檔案獲取 Linux root 許可權的 5 種方法Linux
- Linux系統安裝執行.AppImage檔案的兩種執行方法介紹LinuxAPP
- linux 檔案屬性介紹及改變方法Linux
- PHP 獲取檔案 副檔名 的常用方法小結【五種方式】PHP
- 獲取絕對路徑 【檔案找不到】
- Unity 編輯器中獲取選中的資料夾、檔案路徑Unity
- 獲取當前js檔案被引用的路徑JS
- FileUpload 上傳的檔案獲取相對路徑
- 一種自主學習 Office Open XML 檔案格式的方法介紹XML
- Linux 檔案系統基本介紹Linux
- PG獲取檔案大小的幾種方式
- Linux中的檔案種類Linux
- Java之獲取隨機數的4種方法Java隨機
- Linux檢視日誌檔案寫入速度的4種方法Linux
- 5招輕鬆獲取Mac檔案路徑Mac
- Android中讀取assets目錄下的檔案詳細介紹Android
- PHP獲取檔案基本屬性的方法PHP
- 通過反射獲取上傳檔案方法引數中的檔名反射
- 簡單介紹在 Linux 上建立和使用交換檔案的方法Linux
- Linux 搜尋檔案和資料夾的 4 種簡單方法Linux
- Springboot 獲取jar包中的檔案Spring BootJAR
- Python最常用的讀取指定路徑檔案的方法!Python
- Xamarin Essentials教程獲取路徑檔案系統FileSystem
- Python如何獲取當前執行檔案路徑?Python
- 如何獲取 vue 單檔案自身原始碼路徑Vue原始碼
- python讀取大檔案的幾種方法Python
- C# 獲取程式路徑的幾種方法及其區別【WPF】C#
- Python中4種方法實現 xls 檔案轉 xlsxPython