成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Linux絕對路徑與相對路徑的概念是什么

本篇內(nèi)容介紹了“Linux絕對路徑與相對路徑的概念是什么”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

吳橋網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,吳橋網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為吳橋1000多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的吳橋做網(wǎng)站的公司定做!

在Linux中,絕對路徑是指始終從根目錄“/”開始寫起的文件路徑,相對路徑是從當前所在的工作目錄開始寫起的文件路徑。絕對路徑是相對于根路徑“/”的,只要文件不移動位置,那么它的絕對路徑是恒定不變的;而相對路徑是相對于當前所在目錄而言的,隨著程序的執(zhí)行,當前所在目錄可能會改變,因此文件的相對路徑不是固定不變的。

Linux中什么是相對路徑

路徑是Linux中最基本的概念之一,這是每個Linux用戶都必須知道的。

在 Linux 中,路徑是指文件和目錄的引用方式;它給出了文件或目錄在 Linux 目錄結(jié)構(gòu)中的位置,由名稱和斜杠組成。簡單的理解一個文件的路徑,指的就是該文件存放的位置。例如, /home/cat 就表示的是 cat 文件所存放的位置。只要我們告訴 Linux 系統(tǒng)某個文件存放的準確位置,那么它就可以找到這個文件。

作為一個系統(tǒng)用戶,當您想要訪問某個文件或目錄,或者必須為命令或腳本指定文件或目錄的位置時,就會使用路徑。

cat /home/abhishek/scripts/my_script.sh

請記住,如果路徑以斜杠“/”開頭,則第一個斜杠表示根,路徑中的其余斜線只是分隔符。初學者經(jīng)?;煜备芎头指舴备?。

Linux絕對路徑與相對路徑的概念是什么

在上圖中,第一個路徑是以根路徑(/)開始的,第二個路徑不是以 / 開始的。這兩種寫法都是正確的,第一個是絕對路徑,第二個是相對路徑。

絕對路徑與相對路徑是什么

指明一個文件存放的位置,有 2 種方法,分別是使用絕對路徑和相對路徑。

我們知道,Linux 系統(tǒng)中所有的文件(目錄)都被組織成以根目錄“/”開始的倒置的樹狀結(jié)構(gòu),如圖 1 所示。

Linux絕對路徑與相對路徑的概念是什么
圖 1 Linux系統(tǒng)文件組織結(jié)構(gòu)示意圖

絕對路徑

絕對路徑一定是由根目錄 / 開始寫起,比如:

/home/abhishek/scripts/my_scripts.sh

使用絕對路徑的表示方式指明 bin 文件所在的位置,該路徑應(yīng)寫為 /usr/bin,測試代碼如下:

[root@localhost ~]# bin
bash: bin: command not found   <-- 沒有找到
[root@localhost ~]# /usr/bin
bash: /usr/bin: is a directory   <-- 是一個文件

可以看到,如果僅傳遞給 Linux 系統(tǒng)一個文件名,它無法找到指定文件;而當將 bin 文件的絕對路徑傳遞 Linux 系統(tǒng)時,它就可以成功找到。

相對路徑

和絕對路徑不同,相對路徑不是從根目錄 / 開始寫起,而是從當前所在的工作目錄開始寫起。使用相對路徑表明某文件的存儲位置時,經(jīng)常會用到前面講到的 2 個特殊目錄,即當前目錄(用 . 表示)和父目錄(用 .. 表示)。

舉個例子,當我們使用 root 身份登錄 Linux 系統(tǒng)時,當前工作目錄默認為 /root,如果此時需要將當前工作目錄調(diào)整到 root 的子目錄 Desktop 中,當然可以使用絕對路徑,示例代碼如下:

[root@localhost ~]# pwd     <-- 顯示當前所在的工作路徑
/root
[root@localhost ~]# cd /root/Desktop
[root@localhost Desktop]# pwd
/root/Desktop

可以看到,通過使用絕對路徑,我們成功地改變了當前工作路徑。但除此之外,使用相對路徑的方式會更簡單。因為目前處于 /root 的位置,而 Desktop 就位于當前目錄下,所以:

[root@localhost ~]# pwd    <-- 顯示當前所在的工作路徑
/root
[root@localhost ~]# cd ./Desktop
[root@localhost Desktop]# pwd
/root/Desktop

此代碼中,./Desktop 表示的就是 Destop 文件相對于 /root 所在的路徑。

再舉一個例子,如果以 root 身份登錄 Linux 系統(tǒng),并實現(xiàn)將當前工作目錄由 /root 轉(zhuǎn)換為 /usr 目錄,有以下 2 種方式:

#使用絕對路徑
[root@localhost ~]# pwd <-- 顯示當前所在的工作路徑
/root
[root@localhost ~]# cd /usr
[root@localhost ~]# pwd
/usr
#使用相對路徑
[root@localhost ~]# pwd <-- 顯示當前所在的工作路徑
/root
[root@localhost ~]# cd ../usr <-- 相對 root,usr 位于其父目錄 /,因此這里要用到 ..
[root@localhost ~]# pwd
/usr

總之,絕對路徑是相對于根路徑 / 的,只要文件不移動位置,那么它的絕對路徑是恒定不變的;而相對路徑是相對于當前所在目錄而言的,隨著程序的執(zhí)行,當前所在目錄可能會改變,因此文件的相對路徑不是固定不變的。

絕對路徑和相對路徑之間的差異

我們都知道Linux中目錄結(jié)構(gòu)是一個樹,從根(/)開始,然后產(chǎn)生分支。

假設(shè)我們現(xiàn)在目錄abhishek中,并且希望訪問文件my_scripts.sh,如下圖所示兩種路徑的表示:

Linux絕對路徑與相對路徑的概念是什么

假設(shè)我們使用 ls 命令查看 my_script.sh 的文件信息,那么使用絕對路徑:

ls -l /home/abhishek/scripts/my_script.sh

然后,相對路徑:

ls -l scripts/my_script.sh

那么,以上兩種方式,除了文件路徑不一樣以外,其他的完全一樣:

Linux絕對路徑與相對路徑的概念是什么

注:在Linux中,文件名區(qū)分大小寫??梢杂写髮憽⑿?、數(shù)字、點、中劃線、下劃線以及除了斜杠(/)之外的大多數(shù)字符。斜杠(/)作為保留字符,用于根目錄和用于分割路徑中的目錄。

使用帶有 . 和 .. 目錄的相對路徑

有兩種特殊的相對路徑:

  • .(一個點):表示路徑中的當前路徑;

  • ..(兩個點):表示父目錄,即上一級目錄。

如下圖,我們要從 abhishek 目錄中,到 prakash 目錄中去。

Linux絕對路徑與相對路徑的概念是什么

切換目錄,使用 cd 命令。如果使用絕對路徑,可以這樣:

cd /home/prakash

使用相對路徑的話 ,需要用到特殊的相對路徑 .. :

cd ../prakash

為什么要使用 .. 呢?因為相對路徑要從當前目錄開始,我們需要告訴 cd 命令向上一級,將我們帶到 /home 目錄,然后從那里在進入到 prakash 目錄。

絕對路徑始終以 / 開始,并且與當前位置無關(guān);相對路徑取決于當前的位置。

絕對路徑和相對路徑,應(yīng)該使用哪個呢?

老實說,這個問題沒有直截了當?shù)拇鸢浮_@要視情況而定。

如果你當前所在的目錄層次結(jié)構(gòu)比較深,并且需要向上或者向下一級移動,那么使用相對路徑會更簡單。

假設(shè)你位于

/home/username/programming/project/interface/src/header 目錄中,并且需要訪問 /home/username/programming/project/interface/bin 目錄中的某些內(nèi)容。使用相對路徑可以避免鍵入所有冗長的目錄名,只需在此處使用.././bin即可。

但是,如果你要從 /home/username/programming/project/interface/src/header目錄訪問 /usr/bin 目錄中的某些內(nèi)容,那么使用 ../../../../../../usr/bin 會比較麻煩,這個時候使用絕對路徑更方便。

另一種情況,是在腳本或者程序中使用路徑。如果位置是確定的,那么就使用絕對路徑;如果項目中有多個文件夾,并且需要在其中之間切換,那么此處需要使用相對路徑,因為你不確定最終用戶會將程序放在什么地方。

“Linux絕對路徑與相對路徑的概念是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

標題名稱:Linux絕對路徑與相對路徑的概念是什么
新聞來源:http://jinyejixie.com/article48/iepdhp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、定制網(wǎng)站網(wǎng)站導航、用戶體驗、面包屑導航域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
曲阳县| 巴彦县| 伊吾县| 宿迁市| 印江| 方城县| 韶关市| 商南县| 静海县| 西乌珠穆沁旗| 论坛| 论坛| 陵水| 丰台区| 塘沽区| 赤水市| 南康市| 邵阳县| 南通市| 湄潭县| 康平县| 沾益县| 昌吉市| 闽侯县| 石阡县| 博野县| 江阴市| 仁化县| 麟游县| 宁安市| 罗山县| 达孜县| 庆阳市| 留坝县| 轮台县| 贡觉县| 建水县| 凯里市| 金沙县| 涟源市| 太仓市|