磁盘及文件系统的管理
分區(qū)是為了創(chuàng)建文件系統(tǒng)
MBR:
??創(chuàng)建分區(qū)后,為了能夠快速的存取文件就有了文件系統(tǒng)
inode:中存儲了文件屬組,等與文件數(shù)據(jù)沒有關(guān)系的文件屬性信息,但是沒有文件名
每次訪問某個目錄的文件時是會進行緩存的,在一定的時間內(nèi)再次訪問的時候會去這個緩存區(qū)查找
文件系統(tǒng):如何存儲數(shù)據(jù),一個硬盤會分成block區(qū),還有inode區(qū),在inode區(qū)里存儲文件的屬性類的信息,在block區(qū)存儲真正的數(shù)據(jù),當(dāng)我們存儲數(shù)據(jù)時首先在inode區(qū)查找能用的哪些inode區(qū),在這里會記載著可用的block,當(dāng)存儲數(shù)據(jù)時就會選擇那些可用的block,當(dāng)要刪除數(shù)據(jù)時就會將那些存儲數(shù)據(jù)的block釋放,同時這些block就會被歸到那些可用的block序列中
一個文件只能有一個inode,一個inode也是只能有一個文件,inode與文件是一對一的關(guān)系
inode里存儲的應(yīng)該是文件存儲數(shù)據(jù)時是用的哪幾個block,但若要是存儲的是另一個路徑的時候時應(yīng)該是連接文件
ln:創(chuàng)建硬連接文件,-s則創(chuàng)建軟連接文件
??????????????? abc/test/123 將abc連接到123
硬鏈接
??????????????? 只能對文件創(chuàng)建,不能應(yīng)用于目錄
??????????????? 不能跨文件系統(tǒng)
??????????????? 創(chuàng)建硬鏈接會增加文件被連接的次數(shù)
符號鏈接
??????????????? 可應(yīng)用與目錄
??????????????? 可以跨文件系統(tǒng)
??????????????? 不會增加被連接文件的連接次數(shù)
??????????????? 大小為指定的路徑所包含的字符的個數(shù)
du:顯示一個文件或文件系統(tǒng)占據(jù)的整體的大小
df:顯示整個磁盤分區(qū)使用情況
設(shè)備文件
??????????????? b:按塊為單位,隨機訪問的設(shè)備
??????????????? c:按字符為單位,線性設(shè)備
??????????????? b:硬盤
??????????????? c:鍵盤
/dev(有兩個號)
??????????????? 主設(shè)備號
??????????????????????????????? 表示設(shè)備類型
??????????????? 次設(shè)備號
??????????????????????????????? 標(biāo)識同一種類型中不同的設(shè)備
mknod:創(chuàng)建塊或字符的文件(可以指定權(quán)限和類型)
??????????????? -m:指定權(quán)限
硬盤設(shè)備的設(shè)備文件名
IDE,ATA:以hd開頭
SATA,SCSI,USB:以sd開頭
IDE
??????????????? 第一個IDE口:主從
??????????????? /dev/hda/dev/hdb
??????????????? 第二個IDE口:主從
??????????????? /dev/hdc/dev/hdd
查看當(dāng)前系統(tǒng)識別了幾個硬盤使用fdisk –l,加上特定的硬盤分區(qū)查看相應(yīng)的分區(qū)
Linux
由于VFS的存在使得Linux支持多中文件系統(tǒng)
管理磁盤分區(qū)
fdisk /dev/sda
??????????????? p:顯示當(dāng)前硬件的分區(qū),包括沒有保存的改動
??????????????? n:創(chuàng)建新的分區(qū)
??????????????????????????????? p:主分區(qū)
??????????????????????????????? e:擴展分區(qū)
??????????????? d:刪除
??????????????? w:保存退出
??????????????? q:不保存退出
??????????????? t:修改分區(qū)類型
??????????????? l:顯示所有支持的類型
目錄是原數(shù)據(jù)路徑的映射
為了加快inode與block的查找我們使用bitmap進行查找,為了更好的管理可以使用group管理inode與block,保存這些block的信息的是superblock
?
文件系統(tǒng)管理
重新創(chuàng)建文件系統(tǒng)會損壞原有文件
創(chuàng)建完文件系統(tǒng)可以使用cat/proc/partitions
mkfs:創(chuàng)建文件系統(tǒng)
??????????????? -t:文件系統(tǒng)的類型
專門管理ext系列文件
mke2fs
??????????????? -j:journal
??????????????? -b:指定塊大小,默認為4096
??????????????? -L:指定分區(qū)卷標(biāo)
??????????????? -m #:指定留給超級用戶的塊數(shù)百分比
??????????????? -I #:指定多少個字節(jié)的空間創(chuàng)建一個inode默認為8192,這里給出的數(shù)值為塊大小的2^n倍
??????????????? -N #:指定inode個數(shù)
??????????????? -F:強制創(chuàng)建文件系統(tǒng)
??????????????? -E:用戶指定額外文件系統(tǒng)屬性
blkid+設(shè)備(哪個磁盤):查看磁盤或分區(qū)設(shè)備的相關(guān)屬性
??????????????? UUID&TYPE&LABLE
e2label:查看或是定義卷標(biāo)
tune2fs:調(diào)整文件系統(tǒng)的相關(guān)屬性(無損創(chuàng)建)
??????????????? -j:不損壞原有數(shù)據(jù)將ext2升級為ext3
??????????????? -L:設(shè)定或修改卷標(biāo)
??????????????? -m:調(diào)整預(yù)留百分比
??????????????? -r:指定預(yù)留塊數(shù)
??????????????? -o:設(shè)定默認掛載選項
??????????????????????????????? acl
??????????????? -c:指定掛載次數(shù)達到n次后進行自檢0或-1表關(guān)閉此功能
??????????????? -i:每掛載使用多少天后進行自檢0或-1表示關(guān)閉此功能
??????????????? -l:顯示超級塊信息
dumpe2fs:顯示文件屬性信息
??????????????? -h:只顯示超級塊信息
fsck:檢查并修復(fù)文件系統(tǒng)
??????????????? -t:指定文件系統(tǒng)
??????????????? -a:完成自動修復(fù)
e2fsck:檢查并修復(fù)ext3或是ext2文件系統(tǒng)
??????????????? -f:強制檢查
??????????????? -p:自動修復(fù)
掛載:將新的文件系統(tǒng)關(guān)聯(lián)至當(dāng)前的根文件系統(tǒng)
卸載:將某文件系統(tǒng)有當(dāng)前艮文件系統(tǒng)的關(guān)聯(lián)關(guān)系予以移除
mount:掛載
??????????????? -a:表示掛載/etc/fstab文件中定義的所有的文件系統(tǒng)
??????????????? -n:每掛載一次默認將掛載設(shè)備信息保存到/etc/mtab,使用-n表示不將信息保存至此文件中
??????????????? -t:指定正在掛載的設(shè)備上的文件系統(tǒng)的類型
??????????????? -r:只讀掛載
??????????????? -w:讀寫掛載
??????????????? -o:指定額外的掛載選項也知道文件系統(tǒng)
??????????????????????????????? -remount:重新掛載當(dāng)前文件系統(tǒng)
???????????????????????????????
掛載點要求:1此目錄沒有被其他進程使用,2目錄需要事先存在,3目錄中原有文件暫時隱藏,掛載完成后要通過掛載點訪問對應(yīng)的文件系統(tǒng)上的文件
umount:卸載
??????????????? 卸載注意事項:1掛載的設(shè)備沒有進程使用,2
文件系統(tǒng)類型
cat /proc/filesystems查看當(dāng)前文件系統(tǒng)都有哪些(與內(nèi)核打交道就要用到proc)
swap分區(qū):允許內(nèi)存可以過載使用
虛擬內(nèi)存
free:查看物理內(nèi)存和交換空間使用情況
分區(qū)是由格式的,在使用fdisk分區(qū)后是要使用t進行設(shè)置分區(qū)類型的,設(shè)置為82創(chuàng)建交換分區(qū)
創(chuàng)建交換分區(qū)
mkswap /dev/sda8
swapon:啟用交換分區(qū)
??????????????? -a:啟用所有定義在/etc/fstab上的swap文件中的交換設(shè)備
swapoff:關(guān)閉交換分區(qū)
當(dāng)swap不夠用了,有本地回環(huán)設(shè)備loopback使用軟件模擬實現(xiàn)硬件
dd命令:復(fù)制文件,可以只復(fù)制一個文件的一部分,而cp必須復(fù)制整個文件
??????????????? dd if=數(shù)據(jù)來源of=數(shù)據(jù)存儲目標(biāo)bs=512 count=2
磁盤上還有空間但是沒有分區(qū)了,可以暫時拿一個文件來代替分區(qū)
? ? ? ? ? ? ? ? ? ? ? ? ? ?
mount命令還可以掛載iso鏡像
??????????????? -o loop:掛載本地回環(huán)設(shè)備
文件系統(tǒng)配置文件/etc/fstab,寫在此文件內(nèi)的定義的文件系統(tǒng)在開機的時候可以自動掛載
6個字段
掛載的設(shè)備
掛載點
文件系統(tǒng)類型
掛載選項
檢查
備份
fuser :驗證進程正在使用的文件或套接字文件
??????????????? -v:查看某個文件上正在運行的進程
??????????????? -k:
??????????????? -m:
??????????????? -km:終止正在訪問此掛載點的所有的進程
轉(zhuǎn)載于:https://blog.51cto.com/amazonjian/1713172
總結(jié)
以上是生活随笔為你收集整理的磁盘及文件系统的管理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 树莓派4b上部署yolov3和v3-ti
- 下一篇: FPGA车牌数字识别系统设计verilo