每一個扇區大小爲512字節
塊的大小通常是扇區的2^n倍
每一個塊都屬於一個文件,一個文件能夠包含多個塊
Linux文件系統:
存儲空間:數據區,元數據區node
stat命令:查看元數據信息
文件名,大小,時間戳,權限,屬主、屬組,對應的數據存儲在哪些磁盤塊上;
文件名是存儲在目錄上,目錄是路徑映射符號
index node 索引節點: 索引區域中每一個文件元數據條件
每一個inode都有其編號:ls -imysql
若是某inode指向的常見類型的文件(f, d),指定向磁盤的數據區中的某個或某
些個磁盤塊sql
目錄:數據區存儲的是(直接附屬於此目錄)文件名,以及與其對應的inode編號,
dentry: 目錄項
根是自引用的
尋找/var/log/messages文件的過程?
先找到內核,內核把根的位置信息提供出來,根對應有一個inode,由此就能夠找到根所在設備的
元數據區,在元數據區找到根對應的inode,在inode中除了根的信息外,還有指向的磁盤塊,在磁盤
塊上就能夠找到附屬於根的文件名,此時就能夠找到var inode號,由inode號,再來查表就能夠找
到var對應的inode,var的inode也會指向磁盤塊,由此就能夠找到log,再這樣依此查找到messages
格式化過程:建立文件系統 把磁盤空間劃分爲數據區和元數據區 網絡
bitmap:位圖索引
是inode位圖app
block bitmap:塊位圖索引分佈式
塊:塊組 多個塊組合成爲一個塊組索引
super block:保存了當前系統上各塊組的信息 是有備份,在不一樣的塊中進行備份
tune2fs -l /dev/sdan
dumpe2fs /dev/sdanci
連接文件:
/var/log/messages
/tmp/log/abc inode: /var/log/messagesit
一個inode能夠被引用屢次,其有計數器:在引用次數降爲0以前是不會被標記爲未用的。sed
兩個路徑的文件名:指向同一個inode,此時,一個文件就稱爲另外一個文件的硬連接
建立連接:
ln [-sv] SRC DEST
ln - make links between files
-s, --symbolic
make symbolic links instead of hard links
[root@localhost tmp]# mkdir links
[root@localhost tmp]# touch hardlinks
[root@localhost tmp]# ls -i hardlinks
399569 hardlinks
[root@localhost tmp]# ln hardlinks hard
[root@localhost tmp]# ls -il
total 4 硬鏈接數增長了,兩個inode都是同樣的
399569 -rw-r--r--. 2 root root 0 Dec 2 13:03 hard
399569 -rw-r--r--. 2 root root 0 Dec 2 13:03 hardlinks
396996 drwxr-xr-x. 2 root root 4096 Dec 2 13:03 links
393219 -rw-------. 1 root root 0 Dec 1 15:48 yum.log
[root@localhost tmp]# ln links hard2
ln: `links': hard link not allowed for directory
[root@localhost tmp]# pwd
/tmp
[root@localhost tmp]# df -lhP
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_lvm-lv1 9.8G 1.8G 7.5G 20% /
tmpfs 495M 0 495M 0% /dev/shm
/dev/sda1 190M 50M 130M 28% /boot
/dev/mapper/vg_lvm-lv2 9.8G 98M 9.2G 2% /var
/dev/mapper/vg_lvm-data 9.8G 51M 9.2G 1% /mysql
[root@localhost tmp]# ln hardlinks /var/hello
ln: creating hard link `/var/hello' => `hardlinks': Invalid cross-device link
注意硬鏈接文件的權限都是644
無效的跨設備鏈接
硬連接:
不能對目錄文件建立硬連接;
硬連接不能跨分區
建立硬連接會增長inode引用計數
符號連接:
能夠對目錄建立
不受分區限制
對文件建立符號連接不會增長引用計數
[root@localhost tmp]# ls
[root@localhost tmp]# touch softfile
[root@localhost tmp]# mkdir softdir
[root@localhost tmp]# ls -li
total 4
396996 drwxr-xr-x. 2 root root 4096 Dec 2 13:09 softdir
393219 -rw-r--r--. 1 root root 0 Dec 2 13:09 softfile
[root@localhost tmp]# ln -sv softfile file1
`file1' -> `softfile'
[root@localhost tmp]# ls -il
total 4
399569 lrwxrwxrwx. 1 root root 8 Dec 2 13:10 file1 -> softfile
396996 drwxr-xr-x. 2 root root 4096 Dec 2 13:09 softdir
393219 -rw-r--r--. 1 root root 0 Dec 2 13:09 softfile
[root@localhost tmp]# ln -sv softdir /var/dir1
`/var/dir1' -> `softdir'
[root@localhost tmp]# ls -l /var/dir1
lrwxrwxrwx. 1 root root 7 Dec 2 13:11 /var/dir1 -> softdir
[root@localhost tmp]# ls -l
total 4
lrwxrwxrwx. 1 root root 8 Dec 2 13:10 file1 -> softfile
drwxr-xr-x. 2 root root 4096 Dec 2 13:09 softdir
-rw-r--r--. 1 root root 0 Dec 2 13:09 softfile
注意軟鏈接文件目錄的權限都是777
可是,實際文件的訪問權限只與源文件權限有關,與鏈接文件無關
文件刪除:inode被標記爲空閒,此inode指向的磁盤塊被標記爲空閒;
若是inode被引用了屢次,且這次刪除未使得其引用計數下降爲0的話,這意味着文件被刪除僅刪除了一個訪問路徑;
文件複製:建立一個新文件,並原文件中數據在新文件指向的磁盤塊中再寫一次的過程;
文件移動:
在同一個分區移到:移動文件僅是改變了文件訪問路徑;
跨分區移到:在新分區建立文件,把數據複製過去,刪除原分區數據;
Linux的文件系統的類型:
ext(2,3,4), xfs, ffs, ufs, reiserfs, jfs, vfat(fat32), ntfs
交換文件系統:swap
網絡文件系統:nfs, smbfs(cifs)
分佈式文件系統:ceph
光盤文件系統:iso9660
btrfs,