日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

[文件系统]文件系统学习笔记(十)---杂项

發(fā)布時間:2025/5/22 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [文件系统]文件系统学习笔记(十)---杂项 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1,在一個系統(tǒng)上,比如smartphone平臺,有很多分區(qū),比如/data和/system分區(qū)都是ext4文件系統(tǒng),但是系統(tǒng)中還是只有一個file_system_type的成員,不過每個分區(qū)對應(yīng)的ext4文件系統(tǒng)對應(yīng)不同的super_block,fs_supers就是將這些相同文件系統(tǒng)不同的super block鏈接起來形成雙向循環(huán)鏈表,fs_supers是鏈表頭,鏈表元素由super_block結(jié)構(gòu)體的s_instance成員表示。系統(tǒng)中所有的super_block由super_block結(jié)構(gòu)體的s_list鏈接成雙向循環(huán)鏈表,表頭是super_blocks變量表示。

?

2,偽文件系統(tǒng)是不能裝載的文件系統(tǒng),因而不能從用戶空間直接以文件或者目錄的方式看到。系統(tǒng)中所有的偽文件系統(tǒng)可以從/proc/filesystem中獲取

?

3,dumpe2fs命令?dumpe2fs

?

4,內(nèi)存中文件系統(tǒng)第一個block是super block,每個group都有一個super block,后面的superblock是第一個super block的備份,group是有很多block組成的,比如32768

?

5,inode的大小是由各個文件系統(tǒng)本身決定,比如256B等等

?

6,查看磁盤和目錄容量的命令分別是df,du.

?

7,一個文件至少占用一個block,若文件太大則占用多個block.

?

8,當我們刪除文件的時候,只是把Inode標記為可用,文件在block中的內(nèi)容是沒有被清除的,只有在有新的文件需要占用block的時候,才會被覆蓋,這也是我們刪除文件還可以恢復(fù)的原因。

?

9, stat命令查看文件的時候里面每個成員的含義?
答:stat命令的使用如以下截圖所示,每個成員的含義如下:
File:表示文件名。 ? ? ? ? ? ? ?
Blocks:表示該文件占用的塊數(shù),通常linux一個塊大小為512Byte,而文件系統(tǒng)塊的大小為4096,4096/512=8,如下截圖表示f1文件占用8個塊.也就是一個文件最少占用8 block。
Device:表示的是存放文件的設(shè)備。
Inode:表示的是該文件對應(yīng)的inode的號。
Size:表示的是文件的大小。
Links:表示的是硬鏈接的個數(shù)。
IO Block:系統(tǒng)格式化block的大小,文件系統(tǒng)塊的大小。
Accesss:表示的是最后一次訪問文件時間,讀一次該文件,該時間就會改變。
Modify:表示的是最后一次修改文件的時間,對文件修改一次該時間就會更新,比如用VI命令后保存文件。
Change:表示的是最后一次修改文件熟悉信息(inode節(jié)點)的時間,比如使用chmod命令更新該文件的權(quán)限。

?

10,每個進程最多打開32個文件,如果一個進程同時打開32個文件的話是否可以擴展?
答:在linux內(nèi)核里分配文件描述符的時候,系統(tǒng)默認每個進程同時打開的文件個數(shù)是32,如果超過的話會在alps/kernel/fs/File.c文件里的alloc_fd()函數(shù)里的expand_files()函數(shù)里進行擴展。但是最大擴展個數(shù)的限制是1024,也就是即使擴展,一個進程同時打開文件個數(shù)為1024.不過這個1024用戶還是可以通過命令去修改。

?

11,linux編程如何查看文件系統(tǒng)相關(guān)信息statfs函數(shù)。

查看文件系統(tǒng)相關(guān)信息

?

[cpp]?view plaincopy
  • #include?<sys/vfs.h>???
  • int?statfs(const?char?*path,?struct?statfs?*buf);???
  • int?fstatfs(int?fd,?struct?statfs?*buf);???

  • 參數(shù): ??
    path: 位于需要查詢信息的文件系統(tǒng)的文件路徑名。 ? ??
    fd: 位于需要查詢信息的文件系統(tǒng)的文件描述詞。?
    buf:以下結(jié)構(gòu)體的指針變量,用于儲存文件系統(tǒng)相關(guān)的信息?

    ?

    ?

    [cpp]?view plaincopy
  • struct?statfs?{???
  • ????long????f_type;?????/*?文件系統(tǒng)類型??*/???
  • ???long????f_bsize;????/*?經(jīng)過優(yōu)化的傳輸塊大小??*/???
  • ???long????f_blocks;???/*?文件系統(tǒng)數(shù)據(jù)塊總數(shù)?*/???
  • ???long????f_bfree;????/*?可用塊數(shù)?*/???
  • ?????long????f_bavail;???/*?非超級用戶可獲取的塊數(shù)?*/???
  • ???long????f_files;????/*?文件結(jié)點總數(shù)?*/???
  • ???long????f_ffree;????/*?可用文件結(jié)點數(shù)?*/???
  • ???fsid_t??f_fsid;?????/*?文件系統(tǒng)標識?*/???
  • ???long????f_namelen;??/*?文件名的最大長度?*/???
  • };???


  • ?

    轉(zhuǎn)載于:https://www.cnblogs.com/zhiliao112/p/4067850.html

    總結(jié)

    以上是生活随笔為你收集整理的[文件系统]文件系统学习笔记(十)---杂项的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。