linux 檢視軟連線 linux刪除原理

2021-10-13 16:08:31 字數 3756 閱讀 5643

1、 linux檔案的概述

 linux系統中檔案和目錄的屬性主要包括:索引節點號(inode)、檔案型別及許可權、硬鏈結的數量、檔案或目錄所屬的使用者(屬主)、檔案或目錄所屬的組(屬組)、檔案的大小、檔案的修改時間、實際的檔名或目錄名。

 ls -lhi 執行結果的分析

2、 inode 索引節點2.1 基本特點

 磁碟(儲存裝置)被分割槽格式化為ext4系統後,會生成兩部分內容:inode和block(兩者都有很多個)。

 inode是用來存放檔案的屬性的以及作為檔案的索引(指向檔案的實體),所以inode本身是有大小的,在centos5系列中inode預設大小是128位元組,centos6系列中inode預設大小是256位元組。

 inode除了存放檔案的屬性資訊外,還會存放執行資料塊的指標

 block是用來存放實際資料的,常見的乙個block的大小為4k,其引導分割槽為1k,其它的普通分割槽為4k。

 inode中不包含檔名,因為檔名不屬於檔案的屬性。

 索引節點號表現形式是一串數字,像每個人的×××號一樣,是唯一的。

 系統在讀取檔案的時候,首先通過檔名找到inode號,然後才能讀取到檔案的內容。

 inode節點號相同的檔案,互為硬鏈結,可以理解為是同乙個超市的不同入口。

 ext3/ext4 檔案系統下,乙個檔案占用且只能占用乙個inode。

 ext3/ext4檔案系統下,乙個檔案被建立後,至少要占用乙個inode和乙個block。

 若乙個檔案很大(如高畫質片),則它需要占用多個block,若乙個檔案很小(如只有0.01k)那麼它將占用乙個block,且剩餘的空間就浪費了,即不能在儲存其他東西了。2.2 檢視inode和block的大小

[root@oldboy test]# dumpe2fs /dev/sda3 |egrep -i "inode size|block size"

dumpe2fs 1.41.12 (17-may-2010)

block size: 4096

inode size: 2562.3 block

 磁碟讀取資料按block為單位進行讀取的

 乙個檔案可能會占用多個block,但是每讀取乙個block就會消耗乙個磁碟io

 若要提公升磁碟io效能,那麼就需要一次讀取的資料盡可能的多

 乙個block只能存放乙個檔案,無論內容有多大,假設乙個block的大小為4k,那麼存放乙個1k的檔案,剩下的空間就不能在儲存資料了,只能浪費掉,

 block並不是越大越好,太大時對於存放小檔案會浪費磁碟空間,一般根據業務的檔案大小進行選擇,一般centos6預設就是4k

 可以在格式化的時候改變inode和block的大小 

 格式化的命令:mkfs.ext4 -b 2048 -i 256 /dev/sdb 其中 -b是指定block的大小,-i是指定inode的大小2.4 相關的面試題

 【題目】

磁碟空間滿了,寫不進去東西,有3種情況。

第一種:block滿了,可以用df -h 檢視。看use%,刪除一些檔案即可

第二種:inode滿了,可以用df -i檢視,看iuse%,刪除一些小的(不用的)檔案即可

第三種:硬鏈結數為0,程序呼叫數不為02.5 linux軟硬連線

2.5.1 硬鏈結的建立過程

 ln 原始檔 目標檔案

2.5.2 硬鏈結的原理圖

2.5.3 硬連線的特點

 多個檔案共享同乙個索引節點,不占用實際空間 

 硬鏈結是乙個檔案的多個入口(可以理解為乙個超市具有多個入口一樣)

 只要連線數不為0,檔案就存在,所以硬鏈結可以防止檔案誤刪除

 刪除原始檔或硬鏈結的任意乙個,則檔案實體並不會被刪除,只有同時刪除原始檔和其所有硬鏈結,檔案實體才會被刪除

 硬鏈結檔案是普通檔案,可以用rm命令刪除

 對於靜態檔案(即沒有被程序呼叫的檔案),當i_link數為0時,檔案就被刪除了(i_link的檢視方法ls –l 的第三列)2.6 軟連線

2.6.1 軟連線的建立過程

 ln -s 原始檔 目標檔案

2.6.2 軟連線的原理圖

2.6.3 軟連線的特點

 軟連線類似與windows下的快捷方式(可以通過readlink檢視其指向)

 刪除原始檔時,軟連線仍然存在,但是無法訪問指向原始檔的內容了

 軟連線失效時一般是白字紅底閃爍提示

 軟連線和原始檔是不同型別的檔案,檔案也不同,inode節點號也不同

 軟連線的型別是l,可以用rm命令刪除2.7 檔案連線的總結

 刪除軟連線檔案對原始檔和硬鏈結檔案無任何影響

 刪除硬鏈結檔案對原始檔和軟連線檔案無任何影響

 刪除原始檔對硬鏈結檔案無影響,但是會導致軟連線檔案失效,有白字紅底閃爍提示

 硬鏈結和原始檔具有相同的inode號,可以認為是同乙個檔案,也可以理解為乙個檔案具有多個入口

 軟連線和原始檔具有不同的inode號,是不同的檔案,軟連線是原始檔的快捷方式,具有原始檔的位置指向

 軟硬連線的圖形理解

2.8 目錄連線檔案的總結

 目錄不可以建立硬鏈結,但是可以建立軟連線

 目錄的硬鏈結不能跨越檔案系統(從硬鏈結的原理進行理解)

 每個目錄下面都有乙個硬鏈結 . 號,和對應上級目錄的硬鏈結 ..

 在父目錄下建立乙個子目錄,則父目錄的硬鏈結數加1(因為在子目錄裡面都有乙個 .. 指向父目錄),但是在下面建立檔案,父目錄的硬鏈結數不會增加2.9 軟硬連線的區別

 硬鏈結檔案和源檔案共享乙個inode號,軟連線檔案和原始檔具有不同的inode號

 建立硬鏈結和軟連線的過程不同(建立硬鏈結 ln 原始檔 目標檔案 建立軟連線 ln -s 原始檔 目標檔案)

 刪除原始檔,硬鏈結可以訪問,軟連線不能訪問

 目錄可以建立軟連線,不能建立硬鏈結

 軟連線不能修改原始檔的名字,硬鏈結可以修改

 軟連線可以跨系統,硬鏈結不可以

 刪除軟硬連線不影響原始檔,刪除硬鏈結,連線數減12.10 linux檔案的刪除原理

 linux檔案的刪除由兩個東西控制:i_link(硬鏈結數)和i_count(程序的呼叫數),只有當兩者的數值都為0時檔案才被刪除

 用rm來刪除 使得i_link為0 重啟使用這個檔案的程序 使得i_count為0

 linux刪除原理的**

注意:只有讓i_link和i_count的值都為0 檔案才會被刪除

刪除檔案的許可權是受父目錄的控制和檔案本省的許可權無關

linux 軟連線 建立 檢視 刪除

具體用法是 ln s 原始檔 目標檔案。源 實際存放檔案的位置當 我們需要在不同的目錄,用到相同的檔案時,我們不需要在每乙個需要的目錄下都放乙個必須相同的檔案,我們只要在某個固定的目錄,放上該檔案,然後在其它的 目錄下用ln命令鏈結 link 它就可以,不必重複的占用磁碟空間。s 是代號 symbo...

linux 軟連線 硬連線

1.linux鏈結概念 linux鏈結分兩種,一種被稱為硬鏈結 hard link 另一種被稱為符號鏈結 symbolic link 預設情況下,ln命令產生硬鏈結。硬連線 硬連線指通過索引節點來進行連線。在linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,稱為索引節...

linux配置軟連線

說明當你的系統盤不夠用時客戶提供了乙個硬碟 首先用df th檢視 root localhost cosmo df th 檔案系統 型別 容量 已用 可用 已用 掛載點 devtmpfs devtmpfs 2.9g 0 2.9g 0 dev tmpfs tmpfs 2.9g 0 2.9g 0 dev ...