您好,登錄后才能下訂單哦!
inode 包含很多的文件元信息,但不包含文件名,例如
文件的字節數
文件擁有著的UserID
文件的GropuID
文件的讀、寫、執行權限
文件的時間戳
目錄文件的結構
目錄也是一種文件
目錄文件的結構
每一個inode都有一個號碼,操作系統用inode號碼來識別不同的文件
Linux系統內部不使用文件名,而是用inode號碼來識別文件
對于用戶來說,文件只是inode號碼便于識別的別稱
inode號碼
(1)、系統找到這個文件名對應的inode號碼
(2)、通過inode號碼獲取inode信息
(3)、根據inode信息,找到文件數據所在的block,讀出數據
inode的大小
inode也會消耗硬盤空間,每個inode的大小,一般是128字節或256字節
格式化文件系統時確定inode總數
使用df-i可以查看每個硬盤分區的inode總數和已經使用的數量
實際操作
1、我們在opt里輸入mkdir abc創建一個空目錄,輸入 touch aaa.txt再abc目錄里里創建一個空文件,可以通過ls -i 查看文件的inode節點號
2、也可stat aaa.txt查看詳細情況
3、把aaa.txt創建成鏈接文件,輸入ln aaa.txt a01.txt,再輸入ls -i 查看inode號可以看到相同,但是名字都相同。
3、我們輸入stat aaa.txt可以看到aaa.txt硬鏈接有2個。
4、用file aaa.txt可以查看文本類型。
5、也可以用ls -i查看文本類型(開頭是d的為目錄)。
6、inode節點可以用df -i 查看。
在Linux下面的鏈接文件有兩種,一種類似于Windows的快捷方式文件,可以快速連接到目標文件或目錄;另一種則是通過文件系統的inode鏈接來產生的新文件名,而不是產生新文件,這種稱之為硬鏈接。
1、硬鏈接
一般情況下,文件名和inode號碼是一一對應關系,每個indoe號碼對應一個文件名。
由于硬鏈接的元數據與源文件的完全一致(就是同一條元數據),所以有了它的一系列特性。
1,不能跨文件系統;
2,有相同的iNode和data block;
3,硬鏈接只能對已經存在的文件進行創建;
4,不能針對目錄文件進行創建,Linux文件系統在設計時對目錄默認創建了兩個硬鏈接, . .. 如果再支持目錄創建硬鏈接的話會生成目錄環可能會造成死鎖(筆者一家之言);
5,刪除文件時,必須刪除所有的硬鏈接才能真正釋放data block.
軟鏈接
軟鏈接就是再創建一個獨立的文件,而這個文件會讓數據的讀取指向它連接的那個文件的文件名。
1、 軟連接有自己的元數據,所以可以對其進行權限控制(作用于原文件)
2、 可跨越文件系統(包括網絡)創建軟連接
3、可對不存在的文件和目錄創建(打破不能鏈接目錄的限制)
4、 創建軟連接,源文件鏈接數不增加
5、 刪除軟連接時不影響源文件
我們刪除一個文件,實際上并不清楚inode節點和block的數據,只是在這個文件的父目錄里面的block文件,刪除這個文件的名字。Linux是通過Link的數量來控制文件刪除,只有當一個文件不存在任何Link的時候,這個文件才會被刪除。
·
1、需要使用在開始操作之前我們需要安裝實驗所需要的軟件包,我們的光驅掛載在/mnt/里,開始安裝所需要的軟件,
在安裝第二個包之前要安裝libcom。
2、現在要把工具包進行編譯安裝,在編譯之前輸入smbclient -L //192.168.10.10/
看看共享出來的文件名是什么。
3、知道文件名之后就開始進行編譯安裝
創建mkdir /aaa,輸入mount.cifs //192.168.10.10./CAA/aaa ,就可以看到/aaa里就有里extundelete這個包
4、對這個壓縮包進行解壓輸入tar jxvf extundelete-0.2.4.tar.bz2 -C /opt/
5、進入extundelete-0.2.4./中,可以看到configure。
6、配置之前要安裝環境,輸入yum install gcc gcc-c++ -y。
7、./configure 直接進行執行。
8、輸入make install 進行安裝。
9、接下來將添加的磁盤進行分區和格式化。
10、進行掛載,mkdir /data 輸入mount /dev/sdb1 /data,然后進入data里查看。
11、在data里寫入三個文件。
12、模擬刪除文件,rm -rf b,b的文件就被刪除了
13、這時候我們就可以恢復了,在這之前要先解掛載。
14、接下來輸入extundelete /dev/sdb1 --restore all,來恢復刪除的所有文件,如果誤刪了文件之后,要立馬將設備解掛載,要不然新的文件將你的inode號占用就無法恢復了。
15、輸入cd RECOVERD_FILES/就可以看到恢復的文件。
xfsdump命令
格式:xfsdump -f 備份存放位置 要備份的路徑或設備文件
常用選項:
-f:指定備份文件位置
-L:指定會話標簽(免交互)
-M:指定設備標簽(免交互)
-s:備份指定的文件
xfsrestore命令
格式:xfsrestore -f 恢復文件的位置 存放恢復后文件的位置
-f:指定備份文件位置
-s:恢復指定文件恢復
-t:查看文件的內容及詳細信息
1、首先添加一塊磁盤,然后對其進行配置,格式化為xfs格式,然后掛載到新建的目錄/data里。
2、復制passwd文件到“/data/”目錄下,然后在“/data/”目錄里新建一個“test”目錄,并在目錄里創建一個空文件。
3、返回到data目錄下,然后將sdb1里的分區備份到/opt/里,命名為"xfs_dump"。
4、刪除/data/里的內容,模擬刪除。
5、刪除完之后現在我們開始恢復。
6、輸入ls查看你/data/里文件是否恢復回來。
xfsdump使用限制:
1、只能備份已掛載的文件系
2、必須使用root的權限才能操作
3、 只能備份XFS文件系統
4、備份后的數據只能讓xfsrestore解析
5、 不能備份兩個具有相同UUID的文件系統
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。