国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Linux】什么是文件系統(tǒng)及inode?如何創(chuàng)建軟硬鏈接?軟硬鏈接有什么作用?

這篇具有很好參考價值的文章主要介紹了【Linux】什么是文件系統(tǒng)及inode?如何創(chuàng)建軟硬鏈接?軟硬鏈接有什么作用?。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

inode

了解一下文件系統(tǒng):
【Linux】什么是文件系統(tǒng)及inode?如何創(chuàng)建軟硬鏈接?軟硬鏈接有什么作用?

Linux ext2文件系統(tǒng),上圖為磁盤文件系統(tǒng)圖(內(nèi)核內(nèi)存映像肯定有所不同),磁盤是典型的塊設(shè)備,硬盤分區(qū)被
劃分為一個個的block。一個block的大小是由格式化的時候確定的,并且不可以更改。例如mke2fs的-b選項可以設(shè)
定block大小為1024、2048或4096字節(jié)。而上圖中啟動塊(Boot Block)的大小是確定的

  • Block Group:ext2文件系統(tǒng)會根據(jù)分區(qū)的大小劃分為數(shù)個Block Group。而每個Block Group都有著相
    同的結(jié)構(gòu)組成。政府管理各區(qū)的例子
  • 超級塊(Super Block):存放文件系統(tǒng)本身的結(jié)構(gòu)信息。記錄的信息主要有:bolck 和 inode的總量,
    未使用的block和inode的數(shù)量,一個block和inode的大小,最近一次掛載的時間,最近一次寫入數(shù)據(jù)的
    時間,最近一次檢驗磁盤的時間等其他文件系統(tǒng)的相關(guān)信息。Super Block的信息被破壞,可以說整個
    文件系統(tǒng)結(jié)構(gòu)就被破壞了—備份
  • GDT,Group Descriptor Table:塊組描述符,描述塊組屬性信息
  • 塊位圖(Block Bitmap):Block Bitmap中記錄著Data Block中哪個數(shù)據(jù)塊已經(jīng)被占用,哪個數(shù)據(jù)塊沒
    有被占用
  • inode位圖(inode Bitmap):每個bit表示一個inode是否空閑可用。
  • inode Table 節(jié)點表:存放文件屬性 如 文件大小,所有者,最近修改時間等,保存了分組內(nèi)部所有可用的inode(已經(jīng)使用/沒有使用)
  • Date blocks :保存的是分組內(nèi)部所有文件的數(shù)據(jù)塊

軟硬鏈接

創(chuàng)建軟硬鏈接

創(chuàng)建軟鏈接:

我們先隨便touch一個文件file.txt,我們使用ll -li命令查看到的前面的數(shù)字是inode的值,這里是658016
【Linux】什么是文件系統(tǒng)及inode?如何創(chuàng)建軟硬鏈接?軟硬鏈接有什么作用?

給一個文件創(chuàng)建軟鏈接命令:

ln -s file.txt soft_file.link

軟鏈接的inode值是658307
【Linux】什么是文件系統(tǒng)及inode?如何創(chuàng)建軟硬鏈接?軟硬鏈接有什么作用?

創(chuàng)建硬鏈接:

給一個文件創(chuàng)建硬鏈接命令:

ln file.txt hard_file.link

我們可以發(fā)現(xiàn)file.txthard_link的屬性和inode都是一樣的
【Linux】什么是文件系統(tǒng)及inode?如何創(chuàng)建軟硬鏈接?軟硬鏈接有什么作用?

理解硬鏈接

我們給file.txt文件中追加重定向一些數(shù)據(jù):
【Linux】什么是文件系統(tǒng)及inode?如何創(chuàng)建軟硬鏈接?軟硬鏈接有什么作用?
我們使用cat命令查看file.txthard_file.link里面的數(shù)據(jù),可以發(fā)現(xiàn)都是一樣的內(nèi)容
【Linux】什么是文件系統(tǒng)及inode?如何創(chuàng)建軟硬鏈接?軟硬鏈接有什么作用?

建立一個硬鏈接,究竟是做了什么?
?建立硬鏈接,根本沒有創(chuàng)建新文件!因為沒有給硬鏈接分配獨立的inode既然沒有創(chuàng)建文件,那么你一定沒有自己的屬性集合和內(nèi)容集合你用的一定是別人的inode和內(nèi)容
【Linux】什么是文件系統(tǒng)及inode?如何創(chuàng)建軟硬鏈接?軟硬鏈接有什么作用?
【Linux】什么是文件系統(tǒng)及inode?如何創(chuàng)建軟硬鏈接?軟硬鏈接有什么作用?
這個數(shù)字2,其實就是inode里面用來引用計數(shù)的硬鏈接數(shù)。

建立一個硬鏈接,就是在指導(dǎo)的路徑下,新增文件名和inode編號的映射關(guān)系

什么時候一個文件算是被真正刪除了?
?我們將file.txt刪除后,它的硬鏈接個數(shù)會-1
【Linux】什么是文件系統(tǒng)及inode?如何創(chuàng)建軟硬鏈接?軟硬鏈接有什么作用?

當(dāng)一個人文件的硬鏈接數(shù)變?yōu)?的時候,這個文件才算真正被刪除了

理解軟鏈接

我們將軟鏈接的文件file.txt刪除,我們會發(fā)現(xiàn)它的軟鏈接標(biāo)紅了,且我們使用cat命令顯示找不到這個文件,同樣也可以說明,軟鏈接不是通過inode編號去尋找file.txt,因為硬鏈接跟原文件inode編號是一樣的,軟鏈接是通過文件路徑來尋找的。
【Linux】什么是文件系統(tǒng)及inode?如何創(chuàng)建軟硬鏈接?軟硬鏈接有什么作用?

比如我們重新創(chuàng)建一個同名文件,他有全新的inode,這時候軟鏈接就恢復(fù)了,但是跟之前的硬鏈接已經(jīng)沒關(guān)系了:
【Linux】什么是文件系統(tǒng)及inode?如何創(chuàng)建軟硬鏈接?軟硬鏈接有什么作用?

一般情況下,軟鏈接相當(dāng)于windows下軟件的快捷方式
【Linux】什么是文件系統(tǒng)及inode?如何創(chuàng)建軟硬鏈接?軟硬鏈接有什么作用?

總結(jié)軟硬件鏈接:

  • 軟硬鏈接有什么區(qū)別:是否具有獨立的inode
  • 軟鏈接具有獨立的inode,可以被當(dāng)做獨立文件看待
  • 硬鏈接沒有獨立的inode

軟鏈接的作用:

下面是完整的shell操作流程:

[AMY@VM-12-15-centos lesson_13]$ mkdir -p ./bin/exe/mydir/
[AMY@VM-12-15-centos lesson_13]$ cd ./bin/exe/mydir/
[AMY@VM-12-15-centos mydir]$ ll
total 0
[AMY@VM-12-15-centos mydir]$ touch hello.c
[AMY@VM-12-15-centos mydir]$ vim hello.c
[AMY@VM-12-15-centos mydir]$ cat hello.c
#include <stdio.h>
int main()
{
    printf("hello world!!\n");
    return 0;
}
[AMY@VM-12-15-centos mydir]$ gcc -o hello hello.c
[AMY@VM-12-15-centos mydir]$ ll
total 16
-rwxrwxr-x 1 AMY AMY 8360 Jun 24 16:28 hello
-rw-rw-r-- 1 AMY AMY   79 Jun 24 16:27 hello.c
[AMY@VM-12-15-centos mydir]$ cd -
/home/AMY/zt/lesson_13
[AMY@VM-12-15-centos lesson_13]$ pwd
/home/AMY/zt/lesson_13
[AMY@VM-12-15-centos lesson_13]$ ln -s ./bin/exe/mydir/hello myhello
[AMY@VM-12-15-centos lesson_13]$ ll -i
total 4
658016 drwxrwxr-x 3 AMY AMY 4096 Jun 24 16:26 bin
658313 lrwxrwxrwx 1 AMY AMY   21 Jun 24 16:30 myhello -> ./bin/exe/mydir/hello
[AMY@VM-12-15-centos lesson_13]$ ./myhello
hello world!!

上面的主要意思就是在該路徑lesson_13下面創(chuàng)建一個目錄到./bin/exe/mydir/,然后在這個路徑寫一個程序hello.c用來輸出hello world!!,然后回到原路徑,創(chuàng)建一個軟鏈接ln -s ./bin/exe/mydir/hello myhello,運行程序./myhello輸出hello world!!

硬鏈接的作用:

思考下面為什么普通文件的硬鏈接個數(shù)是1,而目錄文件的硬鏈接是2
【Linux】什么是文件系統(tǒng)及inode?如何創(chuàng)建軟硬鏈接?軟硬鏈接有什么作用?

一個普通文件,本身就有一個文件名和自己的inode具有一個映射關(guān)系

【Linux】什么是文件系統(tǒng)及inode?如何創(chuàng)建軟硬鏈接?軟硬鏈接有什么作用?

而一個目錄文件,除了本身文件名與自己的inode的一個映射關(guān)系,在目錄里面還有.表示當(dāng)前文件,與目錄也具有一個映射關(guān)系,所以它的初始硬鏈接個數(shù)是2.

我們在mydir里面再創(chuàng)建一個目錄,它的硬鏈接就是3

[AMY@VM-12-15-centos empty]$ ll -ia
total 8
658308 drwxrwxr-x 2 AMY AMY 4096 Jun 24 16:57 .
658307 drwxrwxr-x 3 AMY AMY 4096 Jun 24 16:57 ..
[AMY@VM-12-15-centos empty]$ cd ..
[AMY@VM-12-15-centos mydir]$ ll -ia
total 12
658307 drwxrwxr-x 3 AMY AMY 4096 Jun 24 16:57 .
658301 drwxrwxr-x 3 AMY AMY 4096 Jun 24 16:47 ..
658308 drwxrwxr-x 2 AMY AMY 4096 Jun 24 16:57 empty
[AMY@VM-12-15-centos mydir]$ cd ..
[AMY@VM-12-15-centos lesson_13]$ ll -ia
total 12
658301 drwxrwxr-x  3 AMY AMY 4096 Jun 24 16:47 .
664585 drwxrwxr-x 17 AMY AMY 4096 Jun 23 20:38 ..
658016 -rw-rw-r--  1 AMY AMY    0 Jun 24 16:47 file.txt
658307 drwxrwxr-x  3 AMY AMY 4096 Jun 24 16:57 mydir

【Linux】什么是文件系統(tǒng)及inode?如何創(chuàng)建軟硬鏈接?軟硬鏈接有什么作用?


如有錯誤或者不清楚的地方歡迎私信或者評論指出????文章來源地址http://www.zghlxwxcb.cn/news/detail-514348.html

到了這里,關(guān)于【Linux】什么是文件系統(tǒng)及inode?如何創(chuàng)建軟硬鏈接?軟硬鏈接有什么作用?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Linux之文件系統(tǒng)與軟硬鏈接

    Linux之文件系統(tǒng)與軟硬鏈接

    目錄 一、磁盤 1、磁盤的物理結(jié)構(gòu) 2、磁盤的存儲結(jié)構(gòu) 3、磁盤的抽象結(jié)構(gòu) 二、文件系統(tǒng)與inode 1、初識inode 2、文件系統(tǒng) 3、用inode編號找文件屬性和內(nèi)容 4、inode和文件名的關(guān)系 5、創(chuàng)建一個文件 6、查看一個文件 7、刪除一個文件 三、軟硬鏈接 1、軟連接 2、硬鏈接 磁盤可以存

    2024年02月03日
    瀏覽(22)
  • 【Linux】15. 文件系統(tǒng)與軟硬鏈接

    【Linux】15. 文件系統(tǒng)與軟硬鏈接

    在之前的學(xué)習(xí)過程當(dāng)中,我們知道當(dāng)文件被打開后需要加載進(jìn)內(nèi)存,第一步為其創(chuàng)建struct file結(jié)構(gòu)體描述其結(jié)構(gòu)(操作系統(tǒng)需要管理被打開的文件:先描述再組織),在通過進(jìn)程當(dāng)中的文件描述符指針指向文件描述符表,根據(jù)文件描述符的分配規(guī)則給新打開的文件分配文件描述符

    2024年02月09日
    瀏覽(19)
  • 【Linux】磁盤結(jié)構(gòu) | 文件系統(tǒng) | 軟硬鏈接

    【Linux】磁盤結(jié)構(gòu) | 文件系統(tǒng) | 軟硬鏈接

    文件的狀態(tài)有被打開和沒有被打開,之前談到一個文件被進(jìn)行讀寫,就要打開加載到內(nèi)存中,通過對應(yīng)的系統(tǒng)調(diào)用,fd文件描述符的管理,write和read等函數(shù)的增刪查改。并且借助緩沖區(qū)對文件屬性和內(nèi)容的修改。 大部分文件是沒有被打開的(不需要訪問),都在磁盤里保存的

    2024年01月20日
    瀏覽(25)
  • 【Linux】-文件系統(tǒng)的詳解以及軟硬鏈接

    【Linux】-文件系統(tǒng)的詳解以及軟硬鏈接

    ??作者:小樹苗渴望變成參天大樹?? ??作者宣言:認(rèn)真寫好每一篇博客?? ??作者gitee:gitee? ??作者專欄:C語言,數(shù)據(jù)結(jié)構(gòu)初階,Linux,C++ 動態(tài)規(guī)劃算法?? 如 果 你 喜 歡 作 者 的 文 章 ,就 給 作 者 點 點 關(guān) 注 吧! 今天我們開始講解文件系統(tǒng),上一篇我們通過文件操作,

    2024年02月04日
    瀏覽(28)
  • 【Linux】文件系統(tǒng)軟硬鏈接的那些事兒

    【Linux】文件系統(tǒng)軟硬鏈接的那些事兒

    作者:?舊言~ 座右銘:松樹千年終是朽,槿花一日自為榮。 目標(biāo):理解什么是軟硬鏈接,并且能創(chuàng)建軟硬鏈接。 毒雞湯:再小的事,別人做了是情分,不做是本分??墒怯行┤?永遠(yuǎn)只要求他人付出,不懂得感恩。 專欄選自:Linux初階 望小伙伴們點贊??收藏?加關(guān)注喲????

    2024年04月22日
    瀏覽(24)
  • 【Linux】基礎(chǔ)IO——文件系統(tǒng)|軟硬鏈接|動靜態(tài)庫

    【Linux】基礎(chǔ)IO——文件系統(tǒng)|軟硬鏈接|動靜態(tài)庫

    基于上篇博客所寫到的文件各種操作都是基于被打開文件所進(jìn)行操作的,那么如果一個文件沒有被打開它存在哪里呢?這個答案毫無疑問肯定是存在于磁盤上的。那么,對于一個沒有打開的文件(也就是磁盤文件)我們應(yīng)該如何理解呢? 這里我們所要講的磁盤是機(jī)械硬盤、即

    2024年02月04日
    瀏覽(21)
  • 【探索Linux】—— 強(qiáng)大的命令行工具 P.13(文件系統(tǒng) | 軟硬鏈接 | 動態(tài)庫和靜態(tài)庫)

    【探索Linux】—— 強(qiáng)大的命令行工具 P.13(文件系統(tǒng) | 軟硬鏈接 | 動態(tài)庫和靜態(tài)庫)

    在計算機(jī)科學(xué)領(lǐng)域中,Linux 系統(tǒng)一直以來都是備受推崇的操作系統(tǒng)之一。其中,文件系統(tǒng)、軟硬鏈接、動態(tài)庫和靜態(tài)庫是 Linux 系統(tǒng)中非常重要的概念,在實際應(yīng)用中扮演著不可或缺的角色。 在上一篇文章中,我們了解了 Linux 系統(tǒng)中文件描述符、重定向以及基礎(chǔ) IO 操作的相關(guān)

    2024年02月04日
    瀏覽(21)
  • 【看表情包學(xué)Linux】軟硬鏈接 | 軟連接數(shù) | 創(chuàng)建軟硬鏈接 | 動靜態(tài)庫 | 生成靜態(tài)庫 | 生成動態(tài)庫

    【看表情包學(xué)Linux】軟硬鏈接 | 軟連接數(shù) | 創(chuàng)建軟硬鏈接 | 動靜態(tài)庫 | 生成靜態(tài)庫 | 生成動態(tài)庫

    ?? ??? 爆笑 教程 ????《看表情包學(xué)Linux》?? ? 猛戳訂閱 ? ? ?? ?? 寫在前面: 上一章我們講解了 inode,為文件系統(tǒng)收了尾,這幾章我們充分地講解完了文件系統(tǒng)的知識點,現(xiàn)在我們開始開始學(xué)習(xí)軟硬鏈接了。如果沒有文件系統(tǒng)的鋪墊,想直接理解軟硬鏈接難免有些困

    2024年02月14日
    瀏覽(40)
  • 【Linux】inode軟硬連接

    【Linux】inode軟硬連接

    本章我們將學(xué)習(xí)學(xué)習(xí)認(rèn)識一下磁盤的的物理結(jié)構(gòu),理解磁盤分區(qū)分塊,如何對區(qū)塊進(jìn)行管理。學(xué)習(xí)認(rèn)識inode和軟硬連接。目標(biāo)已經(jīng)確定,接下來就要搬好小板凳,準(zhǔn)備開講了…???????? 前面我們學(xué)到的所有的東西,全部都是在內(nèi)存中。但是并不是所有的文件都被打開了。

    2024年02月16日
    瀏覽(17)
  • 文件系統(tǒng)和軟硬鏈接

    文件系統(tǒng)和軟硬鏈接

    文件操作就是進(jìn)程和被打開文件之間的關(guān)系,但是操作系統(tǒng)不可能同時將磁盤中的所有文件打開。被打開的文件要被管理起來,沒有被打開的文件為了方便我們隨時去讀取也要被管理起來。 1.了解磁盤的物理結(jié)構(gòu) 磁盤是計算機(jī)中幾乎唯一 一個機(jī)械設(shè)備并且是一個外設(shè),它的

    2024年02月01日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包