自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux 中如何獲取文件的絕對路徑

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

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

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

使用 readlink 獲取文件路徑

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

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 命令來獲取文件的絕對路徑,稍微優(yōu)點復(fù)雜。 我們可以在 ls 命令中使用環(huán)境變量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 這兩種方法對許多新用戶來說可能還清楚,不過任何事情總有第一次,能學習到新的東西總是好的。

關(guān)于其他的任何想法,歡迎討論。

責任編輯:龐桂玉 來源: TIAP
相關(guān)推薦

2010-06-23 17:26:01

2022-11-16 10:13:29

Linux相對路徑絕對路徑

2022-08-29 14:11:10

Linux絕對路徑相對路徑

2010-03-18 08:48:30

Python入門

2011-06-23 15:33:24

SEO

2011-07-11 13:29:03

JAVA

2015-03-30 15:45:41

javascripta標簽絕對路徑方法

2009-08-06 18:31:57

C#相對路徑絕對路徑

2014-11-10 11:49:01

QCMSQCMS漏洞安全漏洞

2023-10-22 08:39:13

Linux目錄切換

2009-08-07 13:38:18

C#文件相對路徑

2009-10-28 13:44:40

linux庫文件路徑

2020-09-23 08:53:48

父文件夾模塊Python

2009-12-09 16:28:32

PHP路徑函數(shù)

2019-08-30 09:54:39

LinuxC語言文本編輯器

2010-03-05 13:31:02

Linux進程文件路徑

2021-05-19 20:20:56

Oracle歸檔修復(fù)

2010-11-08 14:02:40

SQL Server系

2009-08-27 10:40:56

Java路徑

2022-08-26 13:56:30

模塊JavaScript
點贊
收藏

51CTO技術(shù)棧公眾號