學習一個 Linux 命令:realpath 命令
轉(zhuǎn)自:戀貓大鯉魚
鏈接:https://dablelv.blog.csdn.net/article/details/90710645
1.命令簡介
realpath 用于獲取指定目錄或文件的絕對路徑。
編寫 Shell 腳本中,通常會使用相對路徑來指明文件,但有時候,我們需要用到絕對路徑,此時可以使用 realpath 來獲取。
2.命令格式
realpath [OPTIONS] FILES
3. 選項說明
-e, --canonicalize-existing
文件 FILE 的所有組成部件必須都存在
-m, --canonicalize-missing
文件 FILE 的組成部件可以不存在
-L, --logical
在軟鏈接之前解析父目錄 ..
-P, --physical
解析軟鏈接,默認動作
-q, --quiet
靜默模式輸出,禁止顯示大多數(shù)錯誤消息
--relative-to=DIR
相對于目錄 DIR 的路徑
--relative-base=DIR
如果文件在基目錄 DIR下,打印結果會省去基目錄,否則打印絕對路徑
-s, --strip, --no-symlinks
不擴展軟鏈接
-z, --zero
不分隔輸出,即所有的輸出均在一行而不是單獨每行
--help
顯示幫助信息
--version
顯示版本信息
4.常用示例
(1)打印指定文件的絕對路徑。執(zhí)行命令時當前工作目錄為 /data/test/src。
realpath ./hello.tgz
/data/test/src/hello.tgz
(2)顯示軟鏈接指向的目標文件的絕對路徑。執(zhí)行命令時當前工作目錄為 /data/test。
ll
total 4
-rw-r--r-- 1 root root 0 Feb 1 07:26 foo
lrwxrwxrwx 1 root root 13 Feb 1 07:05 hello.sln -> src/hello.tgz
drwxr-xr-x 2 root root 4096 Feb 1 07:19 src
realpath ./hello.sln
/data/test/src/hello.tgz
可見,即便使用相對路徑創(chuàng)建的軟鏈接,realpath 也能順利解析。
(3)打印某個文件相對于另外一個目錄的路徑。執(zhí)行命令時當前工作目錄為 /data/test。
realpath --relative-to=./src ./foo
../foo
(4)打印某個文件相對于基目錄的路徑,如果文件在基目錄下,則會省去基目錄。執(zhí)行命令時當前工作目錄為 /data/test。
realpath --relative-base=/data/test ./foo
foo
參考文獻
[1] realpath manual
評論
圖片
表情


