精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

介紹在Linux中獲取文件完整路徑的4種方法

冬至子 ? 來源:TIAP ? 作者:劉光錄 ? 2022-11-15 16:40 ? 次閱讀

我們都知道,在命令行可以使用 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系統
    +關注

    關注

    4

    文章

    592

    瀏覽量

    27357
收藏 人收藏

    評論

    相關推薦

    查看Linux系統內存使用情況的幾種方法

    Linux系統,內存監控是優化系統性能的關鍵。本文為你介紹12種方法,幫助你全面掌握Linux
    的頭像 發表于 11-13 09:30 ?1.3w次閱讀
    查看<b class='flag-5'>Linux</b>系統內存使用情況的幾<b class='flag-5'>種方法</b>

    linux查看目錄的方法概述

    linux如何只列出目錄?下面介紹種方法列出當前路徑下的目錄,大家參考使用吧
    發表于 07-17 07:24

    linux下查看網卡流量的六種方法

    本文介紹linux下查看網卡流量的六種方法linux系統中使用nload、iftop、iostat等工具查看網卡流量,需要的朋友參考下。
    發表于 07-25 06:29

    香橙派PC Plus電腦開發板獲取CPU溫度的三種方法

    下文將給大家介紹PC Plus獲取CPU溫度的三種方法:1、shell操作 先通過shell操作熱身一下,登錄系統之后使用指令查看CPU溫度,依次輸入以下指令: # 進入目錄 cd
    發表于 07-31 17:48

    Android系統linux下控制GPIO的方法

    1、rk3128控制GPIO  linux控制GPIO基本上有兩種方法,一是通過pinctrl體系,直接使用/sys下的文件進行控制,另一就是編寫驅動,
    發表于 10-12 16:52

    如何獲取LED.h的完整路徑

    1.將keil mdk的工程導入到rt-thread studio2.main.c引入了LED.h查看LED.h 的內容如何獲取LED.h的
    發表于 02-15 10:25

    獲取關聯程序啟動路徑方法與實現

             本文介紹了安裝可執行程序修改注冊表建立文件關聯鏈表的過程,提出了一基于文件類型
    發表于 09-09 08:59 ?23次下載

    keil添加STC型號的3種方法

    keil添加STC型號的3種方法
    發表于 09-09 16:22 ?76次下載

    如何使用Linux視頻驅動接口V4L2進行視頻采集編程?

    Linux系統,視頻設備被當作一個設備文件來看待,設備文件存放在 /dev目錄下,完整路徑的設備文件
    發表于 09-17 08:00 ?18次下載

    Java如何獲取文件路徑

    Java 開發我們經常要獲取文件路徑,比如讀取配置文件等等。今天我們就關于文件
    的頭像 發表于 02-22 15:03 ?5337次閱讀

    Python、PyQt如何從獲取文件路徑中提取文件路徑

    。 解決辦法: ? ?使用self.openfile= QFileDialog.getOpenFileNames(),獲取文件后,再使用os.path.dirname()從文件路徑
    的頭像 發表于 06-20 21:05 ?3539次閱讀

    Linux + C語言】C語言獲取文件大小的方法都在這

    Linux + C語言】C語言獲取文件大小的方法都在這
    的頭像 發表于 08-31 12:49 ?3446次閱讀
    【<b class='flag-5'>Linux</b> + C語言】C語言<b class='flag-5'>獲取</b><b class='flag-5'>文件</b>大小的<b class='flag-5'>方法</b>都在這

    C語言獲取文件長度的兩種方法

    C語言中沒有直接獲取文件長度的接口,但是我們可以使用標準庫提供的函數來間接的獲取文件長度。這里提供兩種方法
    的頭像 發表于 10-10 16:15 ?1307次閱讀
    C語言<b class='flag-5'>獲取</b><b class='flag-5'>文件</b>長度的兩<b class='flag-5'>種方法</b>

    linux網絡配置的3種方法

    Linux是一流行的操作系統,廣泛應用于服務器和網絡設備Linux系統提供了多種方法來配置網絡連接,使得網絡設置更加靈活和可定制。本文
    的頭像 發表于 11-27 14:33 ?4283次閱讀

    Linux系統文件比較工具集合

    Linux系統文件比較是一常見的任務,用于比較兩個文件之間的差異。
    的頭像 發表于 01-02 13:53 ?664次閱讀