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

Linux系統(tǒng)編程:文件系統(tǒng)和inode

這篇具有很好參考價(jià)值的文章主要介紹了Linux系統(tǒng)編程:文件系統(tǒng)和inode。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一.?磁盤的結(jié)構(gòu)和讀寫數(shù)據(jù)的方式

1.1?磁盤級(jí)文件和內(nèi)存級(jí)文件

1.2?磁盤的物理結(jié)構(gòu)

1.3?訪問磁盤數(shù)據(jù)的方式

二.?磁盤文件系統(tǒng)

2.1?磁盤的分區(qū)管理方法

2.2?文件名和inode的關(guān)系

三.?結(jié)合文件系統(tǒng)對(duì)文件創(chuàng)建和刪除的相關(guān)問題的理解

3.1?文件創(chuàng)建時(shí)操作系統(tǒng)進(jìn)行的工作

3.2?文件刪除時(shí)操作系統(tǒng)進(jìn)行的工作

3.3?查看文件時(shí)操作系統(tǒng)進(jìn)行的工作

3.4?已刪除文件的恢復(fù)問題

四.?總結(jié)


一.?磁盤的結(jié)構(gòu)和讀寫數(shù)據(jù)的方式

1.1?磁盤級(jí)文件和內(nèi)存級(jí)文件

  • 內(nèi)存級(jí)文件:被某個(gè)進(jìn)程打開的文件,文件的內(nèi)容被加載到了內(nèi)存。
  • 磁盤級(jí)文件:沒有被進(jìn)程打開的文件,存儲(chǔ)在磁盤。

如果設(shè)備斷電,內(nèi)存中的數(shù)據(jù)會(huì)丟失,但是磁盤上存儲(chǔ)的數(shù)據(jù)依舊會(huì)被保存下來。也就是說,磁盤是一種永久性的存儲(chǔ)介質(zhì),永久性的存儲(chǔ)介質(zhì)還有:SSD、光盤、磁帶等。

磁盤,是計(jì)算機(jī)系統(tǒng)中唯一的機(jī)械設(shè)備。

現(xiàn)代筆記本電腦和很多臺(tái)式機(jī),都采用SSD來替代機(jī)械硬盤。SSD,就是我們常說的固態(tài)硬盤,它以固態(tài)電子芯片作為存儲(chǔ)介質(zhì),相對(duì)于磁盤,SSD的讀寫速度更快,成本也較高。大型互聯(lián)網(wǎng)公司的服務(wù)器,一般還是使用磁盤來存儲(chǔ)數(shù)據(jù)。

1.2?磁盤的物理結(jié)構(gòu)

一個(gè)磁盤的主要結(jié)構(gòu)包括:磁盤盤片、磁頭、音圈馬達(dá)、主軸等。磁盤盤片用于存儲(chǔ)數(shù)據(jù),磁頭用于從磁盤中讀取數(shù)據(jù)和向磁盤中寫數(shù)據(jù)。

計(jì)算機(jī)只認(rèn)識(shí)二進(jìn)制數(shù)據(jù),也就是0/1,因此,只要能在磁盤盤片上讀寫0/1信號(hào)即可。磁盤盤片上涂有磁性物質(zhì),通過磁頭放電,改變磁盤上磁性物質(zhì)的正負(fù)極,從而實(shí)現(xiàn)數(shù)據(jù)的讀寫。通過磁盤上的正負(fù)極信號(hào),來記錄二進(jìn)制數(shù)據(jù),從而實(shí)現(xiàn)對(duì)數(shù)據(jù)的永久性存儲(chǔ)。

Linux系統(tǒng)編程:文件系統(tǒng)和inode,Linux系統(tǒng)和網(wǎng)絡(luò),linux,運(yùn)維,服務(wù)器
圖1.1?磁盤的物理結(jié)構(gòu)

磁盤盤片,根據(jù)區(qū)域劃分原則,可分為如下幾塊區(qū)域:

  • 磁道:在一個(gè)磁盤盤片上,距離中心軸半徑相同的環(huán)形面。
  • 扇區(qū):一個(gè)磁道中的一段扇形區(qū)域,每塊扇區(qū)所對(duì)應(yīng)的圓周角大小相同。
  • 柱面:所有磁盤盤片上,以主軸為中心軸,半徑相同的圓柱面。(一個(gè)磁盤并非只有一個(gè)盤片,而是由許多盤片摞起來的)

一個(gè)扇區(qū),為一個(gè)數(shù)據(jù)存儲(chǔ)的單元。一般一個(gè)扇區(qū)可以存儲(chǔ)512bytes的數(shù)據(jù),也有些磁盤一個(gè)扇區(qū)存儲(chǔ)4KB的數(shù)據(jù),現(xiàn)在的技術(shù)也支持了不同扇區(qū)的容量有所不同。

Linux系統(tǒng)編程:文件系統(tǒng)和inode,Linux系統(tǒng)和網(wǎng)絡(luò),linux,運(yùn)維,服務(wù)器
圖1.2?磁盤盤片結(jié)構(gòu)

1.3?訪問磁盤數(shù)據(jù)的方式

如果我們想要訪問某個(gè)特定的數(shù)據(jù),要依次進(jìn)行如下的工作,找到數(shù)據(jù)存儲(chǔ)的位置:

  1. 確定數(shù)據(jù)存儲(chǔ)在哪個(gè)磁盤盤面(確定對(duì)應(yīng)磁頭)-- Head
  2. 確定位于那個(gè)磁道(柱面)-- Cylinder
  3. 確定位于哪個(gè)扇區(qū) -- Sector?

上述尋址方法,被稱為CHS尋址法,?有了CHS,我們就能夠訪問到任意扇區(qū)的數(shù)據(jù)。

我們可以通過磁帶結(jié)構(gòu),來抽象類比磁盤。如圖1.3所示,磁帶被環(huán)形纏繞在一個(gè)柱面上,每層磁帶疊加起來,就好比磁盤的盤片結(jié)構(gòu),磁帶上也存在正負(fù)極來記錄二進(jìn)制信號(hào)。磁帶可以展開為線性結(jié)構(gòu),這個(gè)線性結(jié)構(gòu)就類似于數(shù)組,而我們可以想象將磁盤當(dāng)做磁帶展開,這樣盤形結(jié)構(gòu)就變?yōu)榱藬?shù)組似的線性結(jié)構(gòu)。每個(gè)數(shù)組下標(biāo)位置,就相當(dāng)于一個(gè)磁盤上的扇區(qū),根據(jù)下標(biāo)就可以轉(zhuǎn)換獲取對(duì)應(yīng)的盤面、磁道和扇區(qū)。

假設(shè)存儲(chǔ)空間為1T的磁盤,那么我們就可以假想整個(gè)磁盤的存儲(chǔ)空間就是一個(gè)數(shù)組,而向磁盤的某個(gè)扇區(qū)寫數(shù)據(jù),就等同于向這個(gè)數(shù)組中某個(gè)特定下標(biāo)位置寫數(shù)據(jù)。

Linux系統(tǒng)編程:文件系統(tǒng)和inode,Linux系統(tǒng)和網(wǎng)絡(luò),linux,運(yùn)維,服務(wù)器
圖1.3?磁帶
Linux系統(tǒng)編程:文件系統(tǒng)和inode,Linux系統(tǒng)和網(wǎng)絡(luò),linux,運(yùn)維,服務(wù)器
圖1.4?磁盤盤面抽象展開圖

二.?磁盤文件系統(tǒng)

2.1?磁盤的分區(qū)管理方法

由于一個(gè)磁盤的存儲(chǔ)空間相對(duì)較大,為了便于管理,一般會(huì)對(duì)磁盤進(jìn)行分區(qū)管理,這就好比我們將電腦的存儲(chǔ)空間分為C盤、D盤、E盤。磁盤的存儲(chǔ)空間,會(huì)被劃分為若干個(gè)Block Group和一個(gè)Boot Block,Boot Block記錄整個(gè)文件系統(tǒng)相關(guān)的屬性信息,如果Boot Block中的數(shù)據(jù)丟失,那么對(duì)整個(gè)文件系統(tǒng)來說將是災(zāi)難性的,因此,在每個(gè)block group中,會(huì)有一塊Super Block,用于備份文件系統(tǒng)的屬性信息。當(dāng)Boot Block中的信息丟失時(shí),OS會(huì)去Block Group中尋找備份信息。

每個(gè)Block Group又可以根據(jù)存儲(chǔ)數(shù)據(jù)的不同,分為這幾個(gè)區(qū)域:Super Block、Group Descriptor Table、Block Bitmap、inode Bitmap、inode Table、Data Blocks。在這些分區(qū)里,存儲(chǔ)了文件的數(shù)據(jù)和屬性,以及塊組和文件系統(tǒng)相關(guān)的屬性信息。

Linux系統(tǒng)編程:文件系統(tǒng)和inode,Linux系統(tǒng)和網(wǎng)絡(luò),linux,運(yùn)維,服務(wù)器
圖2.1?磁盤分區(qū)圖

每塊Block Group(塊組)內(nèi)部分區(qū)存儲(chǔ)的內(nèi)容為:

  • Data Block:數(shù)據(jù)塊,存儲(chǔ)文件的正文內(nèi)容,一般來說,每個(gè)塊組的容量為4KB。
  • inode Table:inode表,每個(gè)文件會(huì)分的一塊128bytes的inode空間,用于存儲(chǔ)文件的屬性信息。同時(shí),每個(gè)inode都有與之對(duì)應(yīng)的inode編號(hào),對(duì)應(yīng)于某個(gè)特定的文件,如果拿到文件的inode編號(hào),就可以找到對(duì)應(yīng)的inode模塊,獲取文件的屬性信息。
  • inode Bitmap:與inode Table對(duì)應(yīng)的位圖,每個(gè)二進(jìn)制比特位對(duì)應(yīng)一個(gè)inode Table的下標(biāo)位置,0表示該inode Table位置(某個(gè)inode編號(hào))沒有被使用,1表示被使用了。
  • Block Bitmap:與Data Block對(duì)應(yīng)的位圖,每個(gè)存儲(chǔ)文件內(nèi)容的Data Block如果被使用了,與之對(duì)應(yīng)的Block Bitmap的二進(jìn)制位就為1,否則為0。
  • Group Descriptor Table:塊組描述表,記錄該Block Group(塊組)中,使用了幾個(gè)inode,還剩幾個(gè)inode,使用了幾個(gè)Data Block,還有多少Data Block沒有使用等信息。
  • Super Block:記錄整個(gè)文件系統(tǒng)的屬性信息,如果Boot Block或某個(gè)塊組上的Super Block上存儲(chǔ)的信息被破壞,那么其他塊組中的Super Block就存儲(chǔ)了其備份信息,用于OS恢復(fù)文件系統(tǒng)屬性信息。之所以要在多個(gè)塊組保存多份文件系統(tǒng)屬性信息,是因?yàn)槿绻募到y(tǒng)屬性信息被破壞或丟失,那么整個(gè)文件系統(tǒng)就會(huì)崩潰。

在磁盤的每個(gè)塊組上記錄上面的這些信息,讓每個(gè)文件的屬性和內(nèi)容可追溯、可管理。在磁盤中,文件的內(nèi)容和文件的屬性是分開存儲(chǔ)的,文件 =?文件內(nèi)容 +?文件屬性。

一個(gè)Data Block存儲(chǔ)4KB的數(shù)據(jù),磁盤和內(nèi)存進(jìn)行IO操作的基本單位為4KB,但是,一個(gè)扇區(qū)一般存儲(chǔ)512Bytes的數(shù)據(jù),不讓一個(gè)扇區(qū)存儲(chǔ)的數(shù)據(jù)量和磁盤和內(nèi)存進(jìn)行IO操作的基本單位保持一致主要出于以下兩個(gè)方面考慮:(1)如果IO的基本單位太小,那么就會(huì)大幅增加IO的次數(shù),降低計(jì)算機(jī)系統(tǒng)的整體效率。(2)如果讓磁盤扇區(qū)大小和IO基本單位大小一致,那么如果磁盤扇區(qū)大小發(fā)生變化,那么就需要更改OS的源代碼,不讓它們一致,是為了實(shí)現(xiàn)硬件層面和軟件層面的解耦,軟件工程要求高內(nèi)聚低耦合。

2.2?文件名和inode的關(guān)系

存儲(chǔ)在特定塊組中的每個(gè)文件,都會(huì)有一個(gè)獨(dú)立的、與之對(duì)應(yīng)的inode編號(hào),通過這個(gè)inode編號(hào),可以在inode Table中,查找到特定的下標(biāo)位置,以獲取文件的屬性信息。

Linux系統(tǒng)內(nèi)置的ll、stat等獲取文件屬性信息的指令,其底層都是通過拿到文件的inode編號(hào),進(jìn)而在inode Table中獲取文件的屬性信息來實(shí)現(xiàn)的。

那么,文件的內(nèi)容又是怎樣獲取的呢,怎樣知道某個(gè)文件的內(nèi)容存儲(chǔ)在哪個(gè)Data Block中呢?

每個(gè)Data Block,都有一個(gè)特定的編號(hào),每個(gè)文件的inode中,會(huì)記錄有文件對(duì)應(yīng)的Data Block編號(hào),?只需要根據(jù)inode中記錄的Data Block編號(hào),就可以找到與之對(duì)應(yīng)的Data Block,從而找到文件的內(nèi)容。如圖2.2所示,inode中有一個(gè)blocks數(shù)組,記錄存儲(chǔ)這個(gè)文件內(nèi)容的Data Block編號(hào)。

獲取某個(gè)文件的內(nèi)容的流程為:拿到文件的inode編號(hào) ->?找到與之對(duì)應(yīng)的inode ->?找到inode內(nèi)部的Blocks數(shù)組,獲取存儲(chǔ)這個(gè)文件的內(nèi)容Data Blocks ->?訪問Data Blocks獲取文件內(nèi)容。?

那么,如果文件很大,需要龐大數(shù)量的Data Blocks才能放下的時(shí)候,又該怎么辦呢,總不能將這些Data Blocks的編號(hào)全都放到inode中的Blocks數(shù)組中吧? -- Data Blocks中不僅可以存儲(chǔ)文件的具體內(nèi)容,也可以存儲(chǔ)其它的Data Block編號(hào),這個(gè)可以根據(jù)Data Blocks中記錄的其他Data Block編號(hào),找到存儲(chǔ)了具體文件內(nèi)容的Data Blocks。

Linux系統(tǒng)編程:文件系統(tǒng)和inode,Linux系統(tǒng)和網(wǎng)絡(luò),linux,運(yùn)維,服務(wù)器
圖2.2?通過inode編號(hào)獲取文件內(nèi)容

inode中,并不會(huì)存儲(chǔ)文件的文件名!

提問,如何通過文件名獲取文件對(duì)應(yīng)的inode編號(hào)呢?目錄(文件夾),也屬于文件,有與之對(duì)應(yīng)的inode編號(hào)和Data Blocks,目錄的Data Blocks中存儲(chǔ)該目錄下文件名和inode編號(hào)之間的映射關(guān)系,這就解釋了為什么同一目錄下不允許有同名的文件,因?yàn)槿绻型募?,就無法建立文件名與inode編號(hào)之間準(zhǔn)確的映射關(guān)系。

在某一特定磁盤塊組Data Group中,inode和Data Block的數(shù)量都是固定的。這就解釋了為什么有時(shí)候明明塊組中還有內(nèi)存空間,但卻無法成功創(chuàng)建新文件的現(xiàn)象。這有可能是因?yàn)閕node Table被用完了,但Data Blocks還沒用完,或者Data Blocks被用完了,但是inode Table還沒有被用完。

三.?結(jié)合文件系統(tǒng)對(duì)文件創(chuàng)建和刪除的相關(guān)問題的理解

3.1?文件創(chuàng)建時(shí)操作系統(tǒng)進(jìn)行的工作

遍歷塊組的inode Bitmap,查找一個(gè)還沒有被使用的inode編號(hào),分配給新建的文件 ->?將對(duì)應(yīng)的inode Bitmap的二進(jìn)制為置為1 ->?向inode中寫入文件的屬性信息 ->?為文件分配Data Blocks,記入inode中,并將Block Bitmap中與之對(duì)應(yīng)的二進(jìn)制位置為1 ->?將文件名及其與inode編號(hào)之間的映射關(guān)系寫入到文件所在目錄對(duì)應(yīng)的Data Blocks中。

3.2?文件刪除時(shí)操作系統(tǒng)進(jìn)行的工作

根據(jù)文件名,從文件所在路徑的Data Blocks中獲取該文件的inode編號(hào) ->?根據(jù)inode編號(hào),在inode Tables中,找到與之對(duì)應(yīng)的inode,從inode中獲取該文件占用的Data Blocks編號(hào) ->?將inode Bitmap和Blocks Bitmap中對(duì)應(yīng)的二進(jìn)制位置0 ->?在文件所在的目錄的Data Blocks中,解除文件名和inode編號(hào)的映射關(guān)系。

注意:刪除文件不需要清除Data Blocks中的文件內(nèi)容,只要改變位圖標(biāo)記、解除文件名和inode編號(hào)之間的映射關(guān)系即可。因此,刪除一個(gè)大文件所耗費(fèi)的時(shí)間遠(yuǎn)低于拷貝一個(gè)大文件的時(shí)間。

3.3?查看文件時(shí)操作系統(tǒng)進(jìn)行的工作

根據(jù)文件名拿到與之對(duì)應(yīng)的inode編號(hào) ->?通過inode編號(hào)找到該文件的inode ->?從inode中獲取存儲(chǔ)該文件內(nèi)容的Data Blocks ->?訪問指定的Data Blocks,查看文件內(nèi)容。

3.4?已刪除文件的恢復(fù)問題

當(dāng)用戶刪除一個(gè)文件時(shí),OS會(huì)有記錄相應(yīng)的刪除日志,日志中會(huì)包含文件的inode編號(hào)。由于刪除文件并不會(huì)刪除掉inode Tables和Data Blocks中的內(nèi)容,因此,可以通過已刪除文件的inode編號(hào),獲取存儲(chǔ)文件內(nèi)容的Data Blocks,這樣就可以實(shí)現(xiàn)對(duì)刪除文件的恢復(fù)。

但是,恢復(fù)刪除文件有一個(gè)必要的前提:原來文件所使用的inode Tables和Data Blocks均沒有被覆蓋。如果被覆蓋,那么文件就無法恢復(fù),寫文件、新建文件等各種操作,都有可能造成被刪除文件的inode Tables和Data Blocks被覆蓋,因此,如果誤刪了重要文件,在文件恢復(fù)之前,什么都不應(yīng)該做!

四.?總結(jié)

  • 文件根據(jù)是否被進(jìn)程打開,分為內(nèi)存級(jí)文件和磁盤級(jí)文件。

  • 磁盤的主要結(jié)構(gòu)有:盤片、磁頭、主軸、音圈馬達(dá)等。數(shù)據(jù)存儲(chǔ)在磁盤盤片上,磁盤盤片被劃分為一個(gè)個(gè)的磁道和扇區(qū),一個(gè)扇區(qū)為一個(gè)磁盤存儲(chǔ)單元。磁盤盤片上涂有磁性物質(zhì),磁性物質(zhì)的正負(fù)極,代表二進(jìn)制數(shù)據(jù)的0和1,磁頭負(fù)責(zé)在磁盤盤片上讀取數(shù)據(jù)和向磁盤寫數(shù)據(jù)。

  • 通過CHS法,找到數(shù)據(jù)在磁盤中的盤片、磁道和扇區(qū),就可以獲取對(duì)應(yīng)的數(shù)據(jù)。

  • 磁盤中是被分為若干個(gè)塊組進(jìn)行分區(qū)管理的,每個(gè)塊組存儲(chǔ)有文件的屬性信息和文件的內(nèi)容,文件的屬性信息和內(nèi)容是分開存儲(chǔ)的,每個(gè)文件占用一個(gè)inode來存儲(chǔ)屬性信息,占用若干個(gè)Data Blocks存儲(chǔ)文件內(nèi)容。

  • 目錄也是文件,與它自己的inode和Data Blocks,目錄的Data Blocks中存有該目錄下文件的文件名和與之對(duì)應(yīng)的inode編號(hào)。文章來源地址http://www.zghlxwxcb.cn/news/detail-566753.html

到了這里,關(guān)于Linux系統(tǒng)編程:文件系統(tǒng)和inode的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • [Linux]理解文件系統(tǒng)!動(dòng)靜態(tài)庫詳細(xì)制作使用?。ň彌_區(qū)、inode、軟硬鏈接、動(dòng)靜態(tài)庫)

    [Linux]理解文件系統(tǒng)!動(dòng)靜態(tài)庫詳細(xì)制作使用?。ň彌_區(qū)、inode、軟硬鏈接、動(dòng)靜態(tài)庫)

    ? ? ? ? hello,大家好,這里是bang___bang_,今天來談?wù)劦奈募到y(tǒng)知識(shí),包含有緩沖區(qū)、inode、軟硬鏈接、動(dòng)靜態(tài)庫。本篇旨在分享記錄知識(shí),如有需要,希望能有所幫助。 目錄 1??緩沖區(qū) ??緩沖區(qū)的意義 ??常見緩沖區(qū)刷新策略 ??緩沖區(qū)位置猜想 ??現(xiàn)象猜測(cè) ??現(xiàn)象解

    2024年02月13日
    瀏覽(27)
  • 云計(jì)算Linux運(yùn)維——Linux系統(tǒng)管理——網(wǎng)絡(luò)參數(shù)配置

    云計(jì)算Linux運(yùn)維——Linux系統(tǒng)管理——網(wǎng)絡(luò)參數(shù)配置

    點(diǎn)關(guān)注不迷路 目錄 1網(wǎng)絡(luò)參數(shù)配置 一、網(wǎng)絡(luò)參數(shù) 1、主機(jī)名 2、查看網(wǎng)卡IP地址 3、查看網(wǎng)關(guān) 4、查看DNS服務(wù)器地址 二、配置網(wǎng)卡 1、修改網(wǎng)卡配置文件 2、nmcli命令 3、nmcli配置網(wǎng)卡 3)重新加載配置 三、VMware網(wǎng)絡(luò)工作模式 1、虛擬網(wǎng)絡(luò)、虛擬網(wǎng)卡 2、虛擬網(wǎng)絡(luò)工作模式 2雙網(wǎng)卡綁

    2024年02月04日
    瀏覽(27)
  • C++ 網(wǎng)絡(luò)編程項(xiàng)目fastDFS分布式文件系統(tǒng)(四)-fastCGI項(xiàng)目相關(guān)技術(shù)以及l(fā)inux搜狗輸入法相關(guān)問題。

    C++ 網(wǎng)絡(luò)編程項(xiàng)目fastDFS分布式文件系統(tǒng)(四)-fastCGI項(xiàng)目相關(guān)技術(shù)以及l(fā)inux搜狗輸入法相關(guān)問題。

    目錄 1. Nginx作為web服務(wù)器處理請(qǐng)求 2. http協(xié)議復(fù)習(xí) ? ? ??Get方式提交數(shù)據(jù) Post方式提交數(shù)據(jù) 3. fastCGI ? 3.1 CGI ?3.2 fastCGI 3.3 fastCGI和spawn-fcgi安裝 ????????1. 安裝fastCGI ? ??2. 安裝spawn-fcgi 3.4 nginx fastcgi? ?? 4其他知識(shí)點(diǎn) 1. fastCGI環(huán)境變量 - fastcgi.conf ?2. 客戶端使用Post提交數(shù)據(jù)

    2024年02月12日
    瀏覽(20)
  • Day11-Linux系統(tǒng)iNode及鏈接知識(shí)及企業(yè)按哪里精講

    Day11-Linux系統(tǒng)iNode及鏈接知識(shí)及企業(yè)按哪里精講

    中文意思是索引節(jié)點(diǎn)(index node) 是磁盤上的一塊【存儲(chǔ)空間】。 一個(gè)inode大小256字節(jié)。 看到形態(tài)是一個(gè)串?dāng)?shù)字(身份證)。 存儲(chǔ)文件的屬性信息(大小、用戶、組、修改時(shí)間 ls -l的信息都在里面放著)。 還存放一個(gè)重要的東西,指向文件真正實(shí)體的位置信息(指針)。 1)買回

    2024年02月20日
    瀏覽(22)
  • Linux內(nèi)核的兩種安全策略:基于inode的安全與基于文件路徑的安全

    在Linux中,一切皆為文件,實(shí)現(xiàn)系統(tǒng)安全的策略主要可分為兩種:基于 inode 的安全、基于文件路徑的安全。 基于inode的安全 為文件引入安全屬性,安全屬性不屬于文件內(nèi)容,它是文件的元數(shù)據(jù),應(yīng)該與 inode 關(guān)聯(lián),一些內(nèi)核安全模塊將安全屬性存儲(chǔ)在文件的擴(kuò)展屬性中,這種

    2024年02月12日
    瀏覽(25)
  • Linux:概述 、安裝 、文件與目錄結(jié)構(gòu) 、vim編輯器 、網(wǎng)絡(luò)配置 、遠(yuǎn)程登錄 、系統(tǒng)管理 、基礎(chǔ)命令 、軟件包管理 、克隆虛擬機(jī) 、shell編程

    Linux:概述 、安裝 、文件與目錄結(jié)構(gòu) 、vim編輯器 、網(wǎng)絡(luò)配置 、遠(yuǎn)程登錄 、系統(tǒng)管理 、基礎(chǔ)命令 、軟件包管理 、克隆虛擬機(jī) 、shell編程

    2.1.1、Linux是什么? Linux是一個(gè)操作系統(tǒng)(OS) 所謂的操作系統(tǒng)就是直接用來操作計(jì)算機(jī)底層硬件的軟件。 2.1.2、Linux的出現(xiàn) 官網(wǎng): https://www.centos.org/ 進(jìn)入官網(wǎng)進(jìn)行下載 有很多的鏡像,以阿里云的為例: 3.3.1、下載 官網(wǎng): https://www.vmware.com/ 這是下載的企業(yè)版,30天試用期,可

    2024年02月05日
    瀏覽(61)
  • Linux系統(tǒng)應(yīng)用編程(五)Linux網(wǎng)絡(luò)編程(上篇)

    Linux系統(tǒng)應(yīng)用編程(五)Linux網(wǎng)絡(luò)編程(上篇)

    1.兩個(gè)網(wǎng)絡(luò)模型和常見協(xié)議 (1)OSI七層模型(物數(shù)網(wǎng)傳會(huì)表應(yīng)) 物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層、應(yīng)用層(自下到上) (2)TCP/IP四層模型(網(wǎng)網(wǎng)傳應(yīng)) 網(wǎng)絡(luò)接口層(鏈路層)、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層 (3)常見網(wǎng)絡(luò)協(xié)議所屬層 2.字節(jié)序 (1)兩種

    2023年04月25日
    瀏覽(22)
  • Linux網(wǎng)絡(luò)編程之TCP文件傳輸

    Linux網(wǎng)絡(luò)編程之TCP文件傳輸

    1. 要求 在Linux環(huán)境下,編程實(shí)現(xiàn)文件的上傳和下載,即客戶端可以發(fā)送文件給服務(wù)器,服務(wù)器將文件寫到服務(wù)器端文件系統(tǒng)中;客戶端請(qǐng)求下載文件時(shí)服務(wù)器讀取文件內(nèi)容,發(fā)送給客戶端,客戶端接收內(nèi)容并寫入本地文件。要求 (1)源代碼格式化良好并適當(dāng)注釋; (2)除上述核心功

    2024年02月08日
    瀏覽(22)
  • Linux系統(tǒng)編程---文件IO

    Linux系統(tǒng)編程---文件IO

    一、系統(tǒng)調(diào)用 由操作系統(tǒng)實(shí)現(xiàn)并提供給外部應(yīng)用程序的編程接口(Application Programming Interface,API),用戶程序可以通過這個(gè)特殊接口來獲得操作系統(tǒng)內(nèi)核提供的服務(wù) 系統(tǒng)調(diào)用和庫函數(shù)的區(qū)別: 系統(tǒng)調(diào)用(系統(tǒng)函數(shù))? ???內(nèi)核提供的函數(shù) 庫調(diào)用 ???????????????????????

    2024年04月13日
    瀏覽(15)
  • 【Linux操作系統(tǒng)】舉例解釋Linux系統(tǒng)編程中文件io常用的函數(shù)

    【Linux操作系統(tǒng)】舉例解釋Linux系統(tǒng)編程中文件io常用的函數(shù)

    在Linux系統(tǒng)編程中,文件IO操作是非常常見和重要的操作之一。通過文件IO操作,我們可以打開、讀取、寫入和關(guān)閉文件,對(duì)文件進(jìn)行定位、復(fù)制、刪除和重命名等操作。本篇博客將介紹一些常用的文件IO操作函數(shù)。 1.1 原型、參數(shù)及返回值說明 1.1.1 原型: open()函數(shù)是Linux系統(tǒng)

    2024年02月12日
    瀏覽(28)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包