Linux 基礎(chǔ)教程 12-基本命令ln

ln(link)命令用于在文件或目錄之間創(chuàng)建同步鏈接。當(dāng)我們需要在多個目錄中,使用到相同的文件時,通常我們會選擇在這些不同的目錄中將需要用到的文件都復(fù)制一份,這種做法會帶來兩個問題:

  • 當(dāng)原始文件被更改后,需要再次為每個目錄重新復(fù)制一份,否則會造成同一文件存在多個版本
  • 同一個文件被復(fù)制多份,會占用額外的磁盤空間

針對這種情況,我們引用Linux中一個非常重要的命令ln。

鏈接分類

在Linux中,鏈接可分為兩類:硬鏈接(Hard Link)符號鏈接(Symbolic Link),亦稱軟鏈接。默認的類型為硬鏈接。

硬鏈接(Hard Link)

硬鏈接就像一個文件有多個文件名,以文件副本的形式存在。硬鏈接主要的特性如下:

  • 不能在不同的文件系統(tǒng)之間創(chuàng)建硬鏈接,即鏈接文件和被鏈接文件必須在同一文件系統(tǒng)中
  • 硬鏈接無法引用目錄
  • 只能對已經(jīng)存在的文件夾進行創(chuàng)建
  • 刪除硬鏈接文件并不影響被鏈接的文件

符號鏈接(Symbolic Link)

符號鏈接是為了克服硬鏈接的局限性而創(chuàng)建的。通過創(chuàng)建一個特殊的文件,該文件指向另一個文件的位置,所有的讀寫文件內(nèi)容的命令被用于符號鏈接時,將沿著鏈接方向前進訪問實際文件。類似于Windows中的快捷方式。

  • 符號鏈接可以跨文件系統(tǒng)
  • 符號鏈接可以對文件或目錄創(chuàng)建
  • 可對不存在的文件或目錄創(chuàng)建鏈接
  • 刪除符號鏈接并不影響被指向的文件,但若被指向的原文件被刪除,則相關(guān)的符號鏈接會成為死鏈接,若被指向的路徑文件被重新創(chuàng)建,則死鏈接可以恢復(fù)為正常的鏈接

兩者聯(lián)系與區(qū)別

  • 1.ln命令會保持每一處鏈接文件的同步性,即無論更改哪一個位置,其它的文件都會發(fā)生相同的變化
  • 2.兩者都是一種映射,硬鏈接映射到inode,符號鏈接僅是鏈接到一個路徑。

簡單的說,符號鏈接就像是快捷方式,而硬鏈接就像是備份。符號鏈接可以做跨分區(qū)的鏈接,而硬鏈接由于inode的緣故,只能是本分區(qū)中做鏈接,因此符號鏈接使用的頻率要高一些。

基本語法

ln [參數(shù)] [源文件/目錄] [目標文件/目錄]

詳細參數(shù)解釋如下所示:

參數(shù) 功能
-f 如果在目標位置存在與鏈接名相同的文件,則刪除該文件
-s 符號鏈接
-d 允許系統(tǒng)管理員創(chuàng)建目錄的硬鏈接
-b 對在鏈接時會被覆蓋或刪除的文件進行備份

示例

  • 1、新建硬鏈接,并將原文件刪除,再查看結(jié)果,示例如下:


    12- ln示例-1_c2i.jpg

從示例中可以看到,使用硬鏈接會產(chǎn)生一個內(nèi)容相同的文件firstbak.txt,效果相當(dāng)于復(fù)制。因此當(dāng)刪除first.txt時,并不會影響到firstbak.txt

  • 2、新建符號鏈接,并將原文件刪除,再查看結(jié)果,示例如下:


    12-2 ln示例-2_c2i.jpg

從示例中可以看到,使用符號鏈接僅產(chǎn)生一個指向來源文件的鏈接文件,當(dāng)原文件被刪除后,鏈接文件也跟著失敗,是不是覺得跟Windows快捷方式很像?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 13,179評論 2 33
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語言,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢閱讀 100,585評論 9 468
  • 葛朗臺喜歡半夜里把自己一個人關(guān)在密室之中,愛撫、把玩、欣賞他的金幣,我雖達不到他的境界,但是數(shù)著自己的一筆筆存款,...
    如水年華閱讀 684評論 4 49
  • 1.有序列表、無序列表、自定義列表如何使用?寫個簡單的例子。三者在語義上有什么區(qū)別?在哪些情況下使用哪種(重要)?...
    泰格_R閱讀 463評論 0 0

友情鏈接更多精彩內(nèi)容