關于軟硬鏈接那些事兒

       小編這周接觸到了鏈接,那么重點來了,啥是鏈接呢關于軟硬鏈接那些事兒關于軟硬鏈接那些事兒小編覺得鏈接簡單來說就是一種共享的方式,比如我們去逛超市,超市的入口就是‘鏈接’。在Linux中,鏈接又分為軟連接和硬鏈接,想要了解他倆,就得先了解幾個基本概念。

一:Inode

      我們知道文件包含數據和元數據,它的數據都存在block(“塊”)中,那它的元數據,比如說它的文件類型、權限、時間戳、連接數等也需要地方存儲呀,所以inode(中文索點)來了,他來存儲文件的這些元數據。下面我們可以通過stat命令查看一個文件的inode信息

關于軟硬鏈接那些事兒

這里我們查看了/etc/passwd文件的元數據信息。ls -l命令也會列出一些文件的元數據信息,如下圖所示:

關于軟硬鏈接那些事兒

由左至右分別為:權限、硬鏈接數、屬主、屬組、文件大小、最近更改時間、文件名)

其實最初當我們在安裝虛擬機創建分區并創建文系統的時候,就已經在文件系統的固定區域保留了inode節點區。我們可以通過下面的df -i命令查看某文件系統inode節點區域的大小及使用情況:

關于軟硬鏈接那些事兒

二:目錄項

       雖然每個文件對應了唯一的inode號,但當文件經過我們刪刪改改之后,inode號就會變得雜亂無章,不利于我們的記憶。但我們人跟計算機不同,我們愛取名字,中華文化博大精深,家里的寵物什么的都不僅僅只有一個名字呢,關于軟硬鏈接那些事兒所以我們給文件取了名字之后,再建立文件名跟inode號之間的對應,就引出了目錄項這個概念,強大的Linux把所有的文件和目錄構建成了一個倒立的樹狀結構,從根開始。所以我們只要確定了根目錄的inode號,就可以掌控整個文件系統關于軟硬鏈接那些事兒關于軟硬鏈接那些事兒畫個圖來表達的更簡單一些:

關于軟硬鏈接那些事兒

三:硬鏈接

      一般情況下,文件名和inode號碼是一一對應關系,每個inode號碼對應一個文件名。但是當多個文件名指向同一個inode號的這種情況就被稱為”硬鏈接”,小編覺得硬鏈接其實就是給現有的文件起了一個別名關于軟硬鏈接那些事兒

【1】創建硬鏈接

命令:ln 源文件 硬鏈接文件

關于軟硬鏈接那些事兒

2】硬鏈接具體作用如下:

1.節省硬盤空間。同樣的文件,只需要維護硬連接關系,無需進行多重拷貝,大大節省硬盤空間。
2.重命名文件。重命名文件并不需要打開該文件,只需改動某個目錄項的內容就可以了。
3.刪除文件。刪除文件只需將相應的目錄項刪除,該文件的鏈接數減1,如果刪除目錄項后該文件的鏈接數為零,這時系統才把真正的文件從磁盤上刪除。
4.文件更新。先下載好一個新版本,然后修改里面同名文件的硬鏈接就行。

舉例作用3,小編覺得硬鏈接刪除文件在這里還是有必要提一下的,畢竟它不是像別的文件那樣刪除一個就可以徹底刪除的哦

關于軟硬鏈接那些事兒

小編覺得我們可以把文件比作一個超市,那么硬鏈接就是他的后門,只有把前后門都關掉,超市才會停止運營,也就是我們的文件才被徹底刪除,如下圖所示(簡單形象不關于軟硬鏈接那些事兒

關于軟硬鏈接那些事兒

3 硬鏈接特點 

1. 只能對已存在的文件進行創建,否則就是下圖的no such file or directory!

關于軟硬鏈接那些事兒

2. 不能交叉文件系統進行硬鏈接的創建

關于軟硬鏈接那些事兒

3. 不能對目錄進行創建,只能對文件創建硬鏈接

關于軟硬鏈接那些事兒

4. 刪除一個硬鏈接并不影響其他具有相同inode號的文件

 關于軟硬鏈接那些事兒

  四:軟鏈接(symbolic link)

      我們把軟鏈接也稱為符號鏈接,類似于Windows的快捷方式。它不直接使用inode號作為文件指針,而是使用文件路徑名作為指針。鏈接有自己的inode,并在磁盤上有一小片空間存放路徑名。因此,軟鏈接能夠跨文件系統,也可以和目錄鏈接。

【1】軟連接原理:

關于軟硬鏈接那些事兒

【2】創建軟連接命令:ln -s 源文件 軟鏈接文件

【3】軟連接特點 

1. 軟鏈接有自己的文件屬性及權限等

關于軟硬鏈接那些事兒

 2. 軟鏈接可以對不存在的文件或目錄創建

關于軟硬鏈接那些事兒

3. 軟鏈接可以交叉文件系統

關于軟硬鏈接那些事兒

 5. 創建軟鏈接時,鏈接計數不會增加

關于軟硬鏈接那些事兒

 6. 刪除軟鏈接不會影響被指向的文件,但若指向的原文件被刪除,則成死鏈接。

關于軟硬鏈接那些事兒

       小編總結:軟鏈接沒有硬鏈接那么多的限制,因而現在更為廣泛使用,它具有更大的靈活性,甚至可以跨越不同機器、不同網絡對文件進行鏈接。但是軟鏈接的缺點在于:因為鏈接文件包含有原文件的路徑信息,所以當原文件從一個目錄下移到其他目錄中,再訪問鏈接文件,系統就找不到了,而硬鏈接就沒有這個缺陷,你想怎么移就怎么移。關于軟硬鏈接那些事兒好啦,以上就是小編講的軟硬鏈接那些事兒,講的不好關于軟硬鏈接那些事兒還望各位看官多多包涵。同時,你們也可以通過下方評論來指出小編的不足之處,來吧來吧,讓暴風雨來的更猛烈一些吧!




原創文章,作者:Qianzhihe,如若轉載,請注明出處:http://www.www58058.com/82074

(0)
QianzhiheQianzhihe
上一篇 2017-07-22
下一篇 2017-07-22

相關推薦

  • 馬哥教育網絡班21第五周練習作業

    1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; [root@localhost ~]# grep "^[[:space:]]\+" /boot/grub2/grub.cfg   2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空…

    Linux干貨 2016-08-08
  • 17 正則表達式及作業

    17 正則表達式及作業     因為正則表達式類型較多且比較重要,因此單獨拿出一篇進行陳述。 正則表達式是各種文本處理工具的基礎,也是shell編程必須牢牢掌握的知識,其重要性不言而喻。 一、雜項知識整理 1、一個[:space:]包括一個tab。 2、區分好文件名通配(globing)和文件內容通配(正則表達式)。 …

    Linux干貨 2016-08-05
  • VIM編輯器入門

    VIM簡介 VIM是一個類似于Vi的著名的功能強大、高度可定制的文本編輯器,在Vi的基礎上改進和增加了很多特性。VIM是純粹的自由軟件。 VIM的使用 在介紹基本使用前,先了解下VIM的基本模式 基本模式可分為三種:命令模式、輸入模式、末行模式 命令模式:Vim啟動后的默認模式,通過輸入指令完成對應的編輯操作。輸入模式和末行模式從命令模式進入&nb…

    Linux干貨 2016-04-05
  • 一起學DNS系列(十四)DNS查詢工具之DIG的使用(2)

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://jeffyyko.blog.51cto.com/28563/240243    上節談到了利用DIG的+trace參數追蹤域名解析的過程,其實除此之外,DIG還有一些其他的參數,這節會涉及到這…

    2015-03-17
  • Centos6啟動流程詳解

    一、名詞解釋 POST: Power-On-Self-Test,加電自檢,是BIOS功能的一個主要部分。負責完成對CPU、主板、內存、硬盤子系統、顯示子系統、串并行接口、鍵盤、CD-ROM光驅等硬件情況的檢測。 BIOS:Basic Input andOutput System,保存著有關計算機系統最重要的基本輸入輸出程序,系統信息設置、開機加電自檢程序和系…

    2017-03-28
  • linux系統安裝流程

    CnetOS6及CnetOS7 系統具體安裝流程

    Linux干貨 2018-03-27
欧美性久久久久