<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          基本命令學習 -(4)鏈接文件:ln命令

          共 2834字,需瀏覽 6分鐘

           ·

          2021-03-02 22:00

          關(guān)注「開源Linux」,選擇“設(shè)為星標”
          回復「學習」,有我為您特別篩選的學習資料~

          前言

          在Windows系統(tǒng)中,快捷方式是指向原始文件的一個鏈接文件,原文件一旦被刪除或剪切到其他地方,會導致鏈接文件失效。

          而Linux中的鏈接文件是不同于Windows的快捷方式,Linux的鏈接文件分為軟鏈接與硬鏈接。

          硬鏈接

          可以把硬鏈接理解為“指向原始文件inode的指針”,系統(tǒng)不為它分配獨立的inode和文件。硬鏈接文件與原文件其實是同一個文件,只是名稱不同。

          下面我們舉個例子:

          [root@qll ~]# ll -i /etc/passwd
          67544416 -rw-r--r--. 1 root root 882 2月   5 11:50 /etc/passwd

          使用ln命令在當前目錄下創(chuàng)建/etc/passwd文件的硬鏈接,然后觀察其文件屬性:


          [root@qll ~]# ln /etc/passwd passwd_test
          [root@qll ~]# ll -i /etc/passwd passwd_test
          67544416 -rw-r--r--. 2 root root 882 2月   5 11:50 /etc/passwd
          67544416 -rw-r--r--. 2 root root 882 2月   5 11:50 passwd_test

          可以看出,這兩個文件名關(guān)聯(lián)的inode號完全相同,都是67544416,所以它們指向的是同一個文件。

          觀察上面輸出的第二個字段中的第一位,它們都是“-”,說明文件類型為普通文件,鏈接類型為硬鏈接。

          觀察第三個字段,由1變成了2。這個字段叫作“鏈接數(shù)”,它說明有多少個文件名鏈接到同一個文件的inode。

          硬鏈接的特點及局限性

          • 幾乎不額外占用空間

            硬鏈接只是在目錄中添加一條包含文件名和對應(yīng)inode的記錄,所以它幾乎不會額外占用磁盤容量

          • 只要還有一個文件名引用著文件,文件就不會被真正刪除

          • 由于技術(shù)局限性,不能跨文件系統(tǒng)創(chuàng)建硬鏈接

          • 不能鏈接目錄

          軟鏈接

          僅僅包含所鏈接文件的路徑名,因此能鏈接目錄,也可以跨越文件系統(tǒng)進行鏈接。但是,當原始文檔被刪除后,鏈接文件也將失效,從這一點上來說與Windows系統(tǒng)中的“快捷方式”具有一樣的性質(zhì)。

          還拿 /etc/passwd 文件舉例子,這次創(chuàng)建一個軟鏈接并查看其文件屬性:

          [root@qll ~]# ln -s /etc/passwd passwd_soft
          [root@qll ~]# ll -i /etc/passwd passwd_soft
           67544416 -rw-r--r--. 1 root root 882 2月   5 11:50 /etc/passwd
          100663362 lrwxrwxrwx. 1 root root  11 2月  19 17:51 passwd_soft -> /etc/passwd
          • 第一列可以出來,兩個文件名對應(yīng)的inode不同,說明這是兩個文件。

          • 第二列顯示的文件權(quán)限也不一樣,這一點和硬鏈接完全不同。注意文件類型被標記為“l(fā)”,說明這是一個軟鏈接文件。

          • 第三列,觀察兩個文件的鏈接數(shù)量,都是1。說明創(chuàng)建軟鏈接并不增加原文件的鏈接數(shù)。

          • 第六列是文件大小,注意新建的軟鏈接文件大小為11Bytes,也就是字符串“/etc/passwd”的長度。

          • 最后一列顯示軟鏈接文件指向的源文件。

          ln 命令

          1. 硬鏈接

          [root@qll tmp]# ln /tmp/data.txt data2.txt #創(chuàng)建硬鏈接
          [root@qll tmp]# rm -rf /tmp/data.txt       #刪除源文件
          [root@qll tmp]# cat data2.txt              #刪除源文件后,鏈接文件仍可以正常使用

          2. 軟鏈接

          [root@qll tmp]# ln -s /tmp/te.txt /tmp/te2.txt #創(chuàng)建文件軟鏈接
          [root@qll tmp]# ln -s /bin testbin             #創(chuàng)建目錄軟鏈接
          [root@qll tmp]# rm -rf /tmp/te.txt             #刪除源文件
          [root@qll tmp]# cat /tmp/te2.txt               #刪除源后,軟鏈接無法使用
          cat: te2.txt: 沒有那個文件或目錄

          關(guān)注「開源Linux」加星標,提升IT技能

          瀏覽 48
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产视频一区在线播放 | 国产无码在线诱惑视频 | 久久久久久久三级片 | 亚州最大操B网站 | 国产无码久久久 |