主頁(yè) > 知識(shí)庫(kù) > Linux 相對(duì)路徑和絕對(duì)路徑的使用

Linux 相對(duì)路徑和絕對(duì)路徑的使用

熱門標(biāo)簽:福州語(yǔ)音電銷機(jī)器人招商 滴滴急救中心地圖標(biāo)注 外呼線路隨意切換嗎 網(wǎng)絡(luò)電話外呼系統(tǒng)開發(fā) 艾澤拉斯地圖標(biāo)注 北海智能電銷機(jī)器人公司 申請(qǐng)400電話收費(fèi)標(biāo) 菏澤自動(dòng)電銷機(jī)器人公司 淘寶辦理400電話是多少

01. 概述

絕對(duì)路徑和相對(duì)路徑在shell環(huán)境中經(jīng)常遇到,各有用處。有時(shí)候相對(duì)路徑比較方便,有時(shí)候絕對(duì)路徑比較方便。

02. 絕對(duì)路徑(Absolute Pathname)

絕對(duì)路徑必定由**/**開頭

絕對(duì)路徑是為檔案/文件的所在位置做指向

在任何時(shí)候,都可以用絕對(duì)路徑來(lái)找到我們想要的文件

舉例說(shuō)明

示例一:
/home/deng

示例二:
/usr/share/man

03. 相對(duì)路徑(Relative Pathnames)

相對(duì)路徑不由**/**開頭

相對(duì)路徑是相對(duì)于現(xiàn)在目前所在的位置,為目的地指向

通常相對(duì)路徑比絕對(duì)路徑短一點(diǎn),可以當(dāng)成我們迅速找到文件/檔案的捷徑

示例一:
../test/itcast

示例二:
./test

04. 相對(duì)路徑的用途

那么相對(duì)路徑與絕對(duì)路徑有什么了不起呀?喝!那可真的是了不起了!假設(shè)你寫了一個(gè)軟件, 這個(gè)軟件共需要三個(gè)目錄,分別是 etc, bin, man 這三個(gè)目錄,然而由于不同的人喜歡安裝在不同的目錄之下, 假設(shè)甲安裝的目錄是 /usr/local/packages/etc, /usr/local/packages/bin 及 /usr/local/packages/man ,不過(guò)乙卻喜歡安裝在 /home/packages/etc, /home/packages/bin, /home/packages/man 這三個(gè)目錄中,請(qǐng)問(wèn)如果需要用到絕對(duì)路徑的話,那么是否很麻煩呢?是的! 如此一來(lái)每個(gè)目錄下的東西就很難對(duì)應(yīng)的起來(lái)!這個(gè)時(shí)候相對(duì)路徑的寫法就顯的特別的重要了!

此外,如果你跟鳥哥一樣,喜歡將路徑的名字寫的很長(zhǎng),好讓自己知道那個(gè)目錄是在干什么的,例如: /cluster/raid/output/taiwan2006/smoke 這個(gè)目錄,而另一個(gè)目錄在 /cluster/raid/output/taiwan2006/cctm ,那么我從第一個(gè)要到第二個(gè)目錄去的話,怎么寫比較方便? 當(dāng)然是cd …/cctm比較方便羅!對(duì)吧!

05. 絕對(duì)路徑的用途

但是對(duì)于文檔名的正確性來(lái)說(shuō),『絕對(duì)路徑的正確度要比較好~』。 一般來(lái)說(shuō),鳥哥會(huì)建議你,如果是在寫程序 (shell scripts) 來(lái)管理系統(tǒng)的條件下,務(wù)必使用絕對(duì)路徑的寫法。 怎么說(shuō)呢?因?yàn)榻^對(duì)路徑的寫法雖然比較麻煩,但是可以肯定這個(gè)寫法絕對(duì)不會(huì)有問(wèn)題。 如果使用相對(duì)路徑在程序當(dāng)中,則可能由于你運(yùn)行的工作環(huán)境不同,導(dǎo)致一些問(wèn)題的發(fā)生。

06. 思維發(fā)散

問(wèn)題: 在給出相對(duì)路徑時(shí),系統(tǒng)如何識(shí)別其相應(yīng)的絕對(duì)路徑呢?

事實(shí)上,相對(duì)路徑是根據(jù)PATH環(huán)境變量來(lái)查找絕對(duì)路徑的。

舉例來(lái)說(shuō),我目前在 /home/itcast 這個(gè) itcast使用者的家目錄中,我想要看看里面的 .bashrc 這個(gè)檔案的數(shù)據(jù),使用的是 more 這個(gè)指令,而這個(gè)指令在 /bin/more 當(dāng)中。通常的命令寫法是:

[itcast@localhost ~]$ more .bashrc

而由于PATH變量的值為:

[deng@localhost ~]$ echo $PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/deng/.local/bin:/home/deng/bin
[deng@localhost ~]$ 

在執(zhí)行more命令時(shí),shell會(huì)根據(jù)PATH變量的路徑中順序查找,一旦查找匹配到(此例匹配到的應(yīng)該是/bin/more),便執(zhí)行/bin/more .bashrc。這便是執(zhí)行命令時(shí)由相對(duì)路徑查找絕對(duì)路徑的過(guò)程。

所以我們就可以理解為什么執(zhí)行當(dāng)前目錄下的可執(zhí)行程序應(yīng)該用的格式是:

[deng@localhost ~]$ ./test.sh

而不是直接用test.sh了。因?yàn)橥ǔATH變量不包含當(dāng)前路徑。如果不加./會(huì)導(dǎo)致相對(duì)路徑格式的命令找不到絕對(duì)路徑。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:資陽(yáng) 混顯 賀州 丹東 延安 滄州 亳州 三沙

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux 相對(duì)路徑和絕對(duì)路徑的使用》,本文關(guān)鍵詞  Linux,相對(duì),路徑,和,絕對(duì),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux 相對(duì)路徑和絕對(duì)路徑的使用》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Linux 相對(duì)路徑和絕對(duì)路徑的使用的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章