深入理解Linux文件系統(tǒng)(一)

inode和block概述

  • 文件數(shù)據(jù)包括元信息與實(shí)際數(shù)據(jù)
  • 文件存儲(chǔ)在硬盤上,硬盤最小儲(chǔ)存單位是 “扇區(qū)”,每個(gè)扇區(qū)儲(chǔ)存512字節(jié)。
  • block(塊)
    中文譯名為“索引節(jié)點(diǎn)”,也叫i節(jié)點(diǎn)
    用于存儲(chǔ)文件元信息
    深入理解Linux文件系統(tǒng)(一)

1、inode的內(nèi)容

inode 包含很多的文件元信息,但不包含文件名,例如
文件的字節(jié)數(shù)
文件擁有著的UserID
文件的GropuID
文件的讀、寫、執(zhí)行權(quán)限
文件的時(shí)間戳
目錄文件的結(jié)構(gòu)
目錄也是一種文件
目錄文件的結(jié)構(gòu)
每一個(gè)inode都有一個(gè)號碼,操作系統(tǒng)用inode號碼來識別不同的文件
Linux系統(tǒng)內(nèi)部不使用文件名,而是用inode號碼來識別文件
對于用戶來說,文件只是inode號碼便于識別的別稱
inode號碼
(1)、系統(tǒng)找到這個(gè)文件名對應(yīng)的inode號碼
(2)、通過inode號碼獲取inode信息
(3)、根據(jù)inode信息,找到文件數(shù)據(jù)所在的block,讀出數(shù)據(jù)
inode的大小
inode也會(huì)消耗硬盤空間,每個(gè)inode的大小,一般是128字節(jié)或256字節(jié)
格式化文件系統(tǒng)時(shí)確定inode總數(shù)
使用df-i可以查看每個(gè)硬盤分區(qū)的inode總數(shù)和已經(jīng)使用的數(shù)量

創(chuàng)新互聯(lián)建站,為您提供網(wǎng)站建設(shè)、網(wǎng)站制作公司、網(wǎng)站營銷推廣、網(wǎng)站開發(fā)設(shè)計(jì),對服務(wù)社區(qū)文化墻等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗(yàn)。創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報(bào)價(jià)服務(wù),我們深知市場的競爭激烈,認(rèn)真對待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!

實(shí)際操作
1、我們在opt里輸入mkdir abc創(chuàng)建一個(gè)空目錄,輸入 touch aaa.txt再abc目錄里里創(chuàng)建一個(gè)空文件,可以通過ls -i 查看文件的inode節(jié)點(diǎn)號
深入理解Linux文件系統(tǒng)(一)
2、也可stat aaa.txt查看詳細(xì)情況
深入理解Linux文件系統(tǒng)(一)
3、把a(bǔ)aa.txt創(chuàng)建成鏈接文件,輸入ln aaa.txt a01.txt,再輸入ls -i 查看inode號可以看到相同,但是名字都相同。
深入理解Linux文件系統(tǒng)(一)
3、我們輸入stat aaa.txt可以看到aaa.txt硬鏈接有2個(gè)。
深入理解Linux文件系統(tǒng)(一)
4、用file aaa.txt可以查看文本類型。
深入理解Linux文件系統(tǒng)(一)
5、也可以用ls -i查看文本類型(開頭是d的為目錄)。
深入理解Linux文件系統(tǒng)(一)
6、inode節(jié)點(diǎn)可以用df -i 查看。
深入理解Linux文件系統(tǒng)(一)

硬鏈接與軟鏈接

在Linux下面的鏈接文件有兩種,一種類似于Windows的快捷方式文件,可以快速連接到目標(biāo)文件或目錄;另一種則是通過文件系統(tǒng)的inode鏈接來產(chǎn)生的新文件名,而不是產(chǎn)生新文件,這種稱之為硬鏈接。
1、硬鏈接
一般情況下,文件名和inode號碼是一一對應(yīng)關(guān)系,每個(gè)indoe號碼對應(yīng)一個(gè)文件名。

由于硬鏈接的元數(shù)據(jù)與源文件的完全一致(就是同一條元數(shù)據(jù)),所以有了它的一系列特性。

1,不能跨文件系統(tǒng);

2,有相同的iNode和data block;

3,硬鏈接只能對已經(jīng)存在的文件進(jìn)行創(chuàng)建;

4,不能針對目錄文件進(jìn)行創(chuàng)建,Linux文件系統(tǒng)在設(shè)計(jì)時(shí)對目錄默認(rèn)創(chuàng)建了兩個(gè)硬鏈接, . .. 如果再支持目錄創(chuàng)建硬鏈接的話會(huì)生成目錄環(huán)可能會(huì)造成死鎖(筆者一家之言);

5,刪除文件時(shí),必須刪除所有的硬鏈接才能真正釋放data block.
軟鏈接
軟鏈接就是再創(chuàng)建一個(gè)獨(dú)立的文件,而這個(gè)文件會(huì)讓數(shù)據(jù)的讀取指向它連接的那個(gè)文件的文件名。
1、 軟連接有自己的元數(shù)據(jù),所以可以對其進(jìn)行權(quán)限控制(作用于原文件)

2、 可跨越文件系統(tǒng)(包括網(wǎng)絡(luò))創(chuàng)建軟連接

3、可對不存在的文件和目錄創(chuàng)建(打破不能鏈接目錄的限制)

4、 創(chuàng)建軟連接,源文件鏈接數(shù)不增加

5、 刪除軟連接時(shí)不影響源文件

恢復(fù)誤刪除的文件

我們刪除一個(gè)文件,實(shí)際上并不清楚inode節(jié)點(diǎn)和block的數(shù)據(jù),只是在這個(gè)文件的父目錄里面的block文件,刪除這個(gè)文件的名字。Linux是通過Link的數(shù)量來控制文件刪除,只有當(dāng)一個(gè)文件不存在任何Link的時(shí)候,這個(gè)文件才會(huì)被刪除。
·
1、需要使用在開始操作之前我們需要安裝實(shí)驗(yàn)所需要的軟件包,我們的光驅(qū)掛載在/mnt/里,開始安裝所需要的軟件,
深入理解Linux文件系統(tǒng)(一)

在安裝第二個(gè)包之前要安裝libcom。
深入理解Linux文件系統(tǒng)(一)
2、現(xiàn)在要把工具包進(jìn)行編譯安裝,在編譯之前輸入smbclient -L //192.168.10.10/
看看共享出來的文件名是什么。
深入理解Linux文件系統(tǒng)(一)
3、知道文件名之后就開始進(jìn)行編譯安裝
創(chuàng)建mkdir /aaa,輸入mount.cifs //192.168.10.10./CAA/aaa ,就可以看到/aaa里就有里extundelete這個(gè)包
深入理解Linux文件系統(tǒng)(一)

4、對這個(gè)壓縮包進(jìn)行解壓輸入tar jxvf extundelete-0.2.4.tar.bz2 -C /opt/
深入理解Linux文件系統(tǒng)(一)
5、進(jìn)入深入理解Linux文件系統(tǒng)(一)extundelete-0.2.4./中,可以看到configure。
深入理解Linux文件系統(tǒng)(一)
6、配置之前要安裝環(huán)境,輸入yum install gcc gcc-c++ -y。
深入理解Linux文件系統(tǒng)(一)
7、./configure 直接進(jìn)行執(zhí)行。
深入理解Linux文件系統(tǒng)(一)
8、輸入make install 進(jìn)行安裝。
深入理解Linux文件系統(tǒng)(一)
9、接下來將添加的磁盤進(jìn)行分區(qū)和格式化。
深入理解Linux文件系統(tǒng)(一)
深入理解Linux文件系統(tǒng)(一)
10、進(jìn)行掛載,mkdir /data 輸入mount /dev/sdb1 /data,然后進(jìn)入data里查看。
深入理解Linux文件系統(tǒng)(一)
11、在data里寫入三個(gè)文件。
深入理解Linux文件系統(tǒng)(一)
12、模擬刪除文件,rm -rf b,b的文件就被刪除了
深入理解Linux文件系統(tǒng)(一)
13、這時(shí)候我們就可以恢復(fù)了,在這之前要先解掛載。
深入理解Linux文件系統(tǒng)(一)
14、接下來輸入extundelete /dev/sdb1 --restore all,來恢復(fù)刪除的所有文件,如果誤刪了文件之后,要立馬將設(shè)備解掛載,要不然新的文件將你的inode號占用就無法恢復(fù)了。
深入理解Linux文件系統(tǒng)(一)
15、輸入cd RECOVERD_FILES/就可以看到恢復(fù)的文件。
深入理解Linux文件系統(tǒng)(一)

恢復(fù)LINUX中XFS類型的文件

xfsdump命令
格式:xfsdump -f 備份存放位置 要備份的路徑或設(shè)備文件
常用選項(xiàng):
-f:指定備份文件位置
-L:指定會(huì)話標(biāo)簽(免交互)
-M:指定設(shè)備標(biāo)簽(免交互)
-s:備份指定的文件
xfsrestore命令
格式:xfsrestore -f 恢復(fù)文件的位置 存放恢復(fù)后文件的位置
-f:指定備份文件位置
-s:恢復(fù)指定文件恢復(fù)
-t:查看文件的內(nèi)容及詳細(xì)信息
1、首先添加一塊磁盤,然后對其進(jìn)行配置,格式化為xfs格式,然后掛載到新建的目錄/data里。
深入理解Linux文件系統(tǒng)(一)
2、復(fù)制passwd文件到“/data/”目錄下,然后在“/data/”目錄里新建一個(gè)“test”目錄,并在目錄里創(chuàng)建一個(gè)空文件。
深入理解Linux文件系統(tǒng)(一)
3、返回到data目錄下,然后將sdb1里的分區(qū)備份到/opt/里,命名為"xfs_dump"。
深入理解Linux文件系統(tǒng)(一)
4、刪除/data/里的內(nèi)容,模擬刪除。
深入理解Linux文件系統(tǒng)(一)
5、刪除完之后現(xiàn)在我們開始恢復(fù)。
深入理解Linux文件系統(tǒng)(一)
6、輸入ls查看你/data/里文件是否恢復(fù)回來。
深入理解Linux文件系統(tǒng)(一)
xfsdump使用限制:

1、只能備份已掛載的文件系
2、必須使用root的權(quán)限才能操作
3、 只能備份XFS文件系統(tǒng)
4、備份后的數(shù)據(jù)只能讓xfsrestore解析
5、 不能備份兩個(gè)具有相同UUID的文件系統(tǒng)

文章題目:深入理解Linux文件系統(tǒng)(一)
網(wǎng)頁網(wǎng)址:http://bm7419.com/article44/jjsjhe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、用戶體驗(yàn)、定制開發(fā)、微信小程序、響應(yīng)式網(wǎng)站、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管