tft每日頭條

 > 科技

 > linux中什麼是硬連接和軟連接

linux中什麼是硬連接和軟連接

科技 更新时间:2024-12-27 07:52:44

在Linux系統中,有些常見的硬連接和軟連接,你知道嗎?今天就帶大家來認識一下!先從Linux系統中的文件系統說起。

1. 在Linux中一切皆為文件

在Linux中有且隻有一個根目錄,它就是 / (斜杠),它的子目錄有如下這些:

bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var

下面我們來解釋一些比較重要目錄的各自意義:

bin:表示二進制文件,包含了會被所有用戶使用的可執行程序

因bin目錄下的子目錄過多,這裡隻截取一部分展示)

[hduser@localhost bin]$ ls [

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)1

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)2

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)3

boot:表示啟動文件的意思,包含了與Linux系統啟動相關的文件

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)4

dev:表示設備目錄(包含外設),它的每一個子目錄都對應一個外設

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)5

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)6

etc:表示配置文件,包含系統的配置文件

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)7

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)8

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)9

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)10

home:表示用戶的私人目錄

[hduser@localhost home]$ ls hduser yzp

lib: 表示庫文件目錄 ,包含了所有對系統有用的庫文件

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)11

media:表示移動外設(如:USB、光盤等)目錄,我們可以通過media的子目錄來訪問這些設備

mnt:此目錄用于臨時加載一些設備

opt:用于安裝第三方軟件和插件的目錄

root:表示超級用戶的家目錄

proc:存放的是虛拟文件系統的目錄

sbin:包含系統級的可執行程序目錄

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)12

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)13

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)14

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)15

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)16

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)17

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)18

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)19

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)20

srv:此目錄包含一些網絡服務啟動後所需的數據

tmp:普通用戶和程序存放臨時文件的地方

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)21

usr:是存儲Unix操作系統軟件資源的目錄

[hduser@localhost usr]$ ls bin etc games include lib lib64 libexec local sbin share src tmp

我們用一張圖來總結一下根目錄下各文件的含義

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)22

二、硬鍊接和軟鍊接:

1. 鍊接類型

類别:硬鍊接和軟鍊接

2. 首先我們先來了解一下什麼是inode?

在linux系統中,文件的文件内容會被分配到一個标志号碼,這個标志号碼就是inode,它是文件的索引節點

linux文件系統中有一塊區域叫做inode table,它就是保存inode的地方

inode保存着文件的元信息,其内容包括:文件類型、文件權限、文件物理地址、文件長度、文件連接計數、文件存取時間、索引節點編号 、文件狀态、訪問計數、鍊接指針

Linux系統中,每個文件名都綁定到它的文件内容并用文件内容的inode标識,文件名并不是文件的唯一标識,Inode才是文件的唯一标識

3. 硬鍊接原理

硬鍊接:使有鍊接關系的兩個文件共享同樣的文件内容,擁有同樣的inode, 缺陷是隻能創建指向文件的硬鍊接,不能指向目錄

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)23

4. 軟鍊接原理

軟鍊接:有軟鍊接關系的兩個文件,它們的inode是不同的,它可以指向目錄,軟鍊接才真正像我們在windows下的快捷方式

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)24

三、ln命令

1. 作用:用于在文件之間創建鍊接,ln是link("鍊接")的縮寫

2. 創建硬鍊接

ln a.txt b.txt

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)25

注:數字2代表有相同inode号的文件數

查看文件的inode

ls -i (i參數可以顯示文件的inode)

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)26

我們可以看到 a.txt和b.txt 文件的inode是一樣的,說明它們指向的是同一個文件内容

我們删除a.txt文件,對b.txt文件來說,看會發生什麼情況

ls rm a.txt ls cat b.txt ls -i

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)27

我們用rm删除了a.txt文件, 可以看到對于b.txt文件沒有任何影響,它的inode也沒有改變

說明了對于硬鍊接來說,删除任意一方的文件,它們共同指向的文件内容并不會從硬盤上删除,隻有同時把他們都删除掉,它們共同指向的文件内容才會消失,也就是那個inode才會被删除

3. 創建軟鍊接

ln -s file1.txt file2.txt

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)28

file2.txt -> file1.txt 表示文件file2指向file1, lrwxrwxrwx中的 l 表示file2.txt文件是一個軟鍊接文件

查看文件的inode

ls -i

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)29

我們可以看出文件file1和文件file2的inode是不同的

這是因為文件file2是指向文件file1的,它們并沒有指向同一塊文件内容,所以它們的inode号不相同

file2其實隻是file1的一個快捷方式,它指向的是file1,所以顯示的是file1的内容

我們删除file1.txt對于file2.txt會有什麼影響?

如果我們删除了file2,那麼對于file1來說不會有任何影響,如果删除file1,那麼file2就會變成"死鍊接",

這是因為file2指向的文件沒有了

rm file1.txt ls -lh

linux中什麼是硬連接和軟連接(那些常見的硬鍊接和軟鍊接)30

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved