1. 程式人生 > >Linux從入門到精通——系統分區及文件系統的管理

Linux從入門到精通——系統分區及文件系統的管理

啟動腳本 最大的 reboot tab lsof -o 登陸 讀取文件 touch

一.磁盤的管理

1.關於磁盤與硬盤

這兩個東西不是一個概念。二者是互相交叉的。
磁盤,是計算機的外部存儲器中類似磁帶的裝置,將圓形的磁性盤片裝在一個方的密封盒子裏,這樣做的目的是為了防止磁盤表面劃傷,導致數據丟失。磁盤有軟磁盤,硬磁盤。硬磁盤就是機械硬盤。
硬盤是電腦主要的存儲媒介之一,由一個或者多個鋁制或者玻璃制的碟片組成。碟片外覆蓋有鐵磁性材料。硬盤有固態硬盤(SSD 盤,新式硬盤)、機械硬盤(HDD 傳統硬盤)、混合硬盤(HHD 一塊基於傳統機械硬盤誕生出來的新硬盤)。SSD采用閃存顆粒來存儲,HDD采用磁性碟片來存儲,混合硬盤(HHD: Hybrid Hard Disk)是把磁性硬盤和閃存集成到一起的一種硬盤。絕大多數硬盤都是固定硬盤,被永久性地密封固定在硬盤驅動器中。


2.本地存儲設備的判別

fdisk -l       ##查看本機真實存在的設備,真實存在的設備不一定能被系統識別

cat /proc/partition    ##查看系統能識別的設備,系統能識別的設備不一定可以使用

blkid       ##查看系統可使用的設備

df           ##查看系統正在掛載的設備


3.設備的掛載和卸載
(1).設備的名稱

用df進行查看

可以看到一般的存儲設備名稱都是 /dev/xdx ,例如:

/dev/hd0  /dev/hd1 這類設備都是並口硬盤,簡稱IDE硬盤,使用的是並口接口(LPT),數字代表第幾塊硬盤,如hd0代表第一塊並口硬盤,下面也可以類推

/dev/sda  /dev/sdb 這類設備為串口硬盤,現在使用的是sata接口,串行ATA總線使用嵌入式時鐘信號,具備了更強的糾錯能力,與以往相比其最大的區別在於能對傳輸指令(不僅僅是數據)進行檢查,如果發現錯誤會自動矯正,這在很大程度上提高了數據傳輸的可靠性。串行接口還具有結構簡單、支持熱插拔的優點。

/dev/sr0  /dev/sr1 光驅設備

/dev/mapper/xxx  虛擬設備



(2).設備的掛載

使用的命令:mount

命令格式為:mount + 要掛載的設備 + 掛載點

mount /dev/sdb1 /mnt        ##把sdb1掛載到/mnt上
umount /mnt /dev/sdb1       ##卸載掛載mnt上的sdb1
mount -o ro /dev/sdb1 /mnt    ##只讀掛載sdb1
mount            ##查看掛載信息
mount -o remount,rw /dev/sdb1 |/mnt ##重新掛載並設定為讀寫掛載


3.解決設備正忙情況

當有程序正在使用掛載目錄時,正常的卸載是無法完成的,這時需要以下操作完成強行卸載

方法一:

fuser -kvm /mnt            ##強行停止程序對該目錄的使用,該操作會關閉當前的shell

umount /mnt

方法二:

lsof /mnt

kill -9 進程IP

umount /mnt

4設定永久掛載

方法一:使用開機自啟動腳本

vim /etc/rc.d/rc.local

編輯內容如下:

mount /dev/vdb1 /mnt   

註:rc.local是個腳本,在其中編輯的內容為shell的命令

方法二:使用自動掛載策略

vim /etc/fstab

編輯內容如下:

/dev/vdb1 /mnt/ xfs defaults 0 0          ##xfs表示掛載的文件系統格式,defaults表示默認自動掛載,第一個0代表不備份,第二個0代表不檢測

保存退出以後用df命令查看,發現沒有掛載

mount -a                     ##讀取文件中的掛載策略,使沒有生效的策略立即生效

註:策略的書寫格式和腳本不同,且開機執行順序優先於rc.local,具體格式可以man 5 fstab查看

5.fstab的報錯

策略文件書寫格式錯誤時,例如:

/dev/vdb1 /mnt defa 0 0             ##錯誤的寫法

重啟會導致系統無法正常啟動

解決方法:

輸入root的密碼登陸,之後上面會有報錯的信息

在無圖形的界面輸入vim /etc/fstab

把錯誤的行命令用#註釋起來,wq退出保存

reboot

系統即可重啟

partprobe                     ##手動同步分區表


當電腦某一個設備正在被系統使用的時候,他自動讀取分區表就會失敗,所以需要手動讀取



6.swap分區管理

(1)swap分區的建立(設定分區並設定分區標簽為swap,以vdb3為例)

fdisk /dev/vdb             ##管理磁盤及分區

t                   ##修改分區標簽

分區數字                ##修改第幾個的標簽

l                   ##列出所有代碼,可以看到所有的標簽及對應分區含義

82                   ##修改為swap分區

wq                   ##退出保存

partprobe             ##同步分區表

mkswap /dev/vdb3           ##對設備進行swap格式化

swapon -a /dev/vdb3           ##激活

swapon -s             ##查看是否激活

註:這個操作也是臨時的,重啟後會消失,如果想要永久激活,還是要寫入 /dev/fstab

vim /etc/fstab

/dev/vdb6 swap swap defaults 0 0

(2)swap的刪除
vim /etc/fstab
#/dev/vdb3 swap swap defaults 0 0    ##將這行刪除或者註釋掉
swapoff /dev/vdb3           ##刪除swap分區
swapon -s              ##查看


7.用戶配額設定(分配額度,最大能使用額度)

配額是針對分區(比方:student用戶在某一個設備的配額是定的,在別的不一定,如果配額是針對用戶的話,那就代表在電腦裏只能編寫定額的文件)

mount -o usrquota /dev/vdb7 /student

chmod 777 /student               

edquota -u student            ##設定所有人的配額,在開機的時候會失效,因為掛載是臨時的

永久掛載:
vim /etc/fstab
/dev/vdb7 /student xfs defaults,usrquota(參數) 0 0

測試:(用設定的用戶測)
dd if=/dev/zero of=/student/studentfile bs=1M count=200
du -sh /student

示例:
重新建立一個磁盤分區/dev/vdb7
mkdir /student

chmod 777 /student

ls -ld /student

mount /dev/vdb7 /student

ls -ld /student                 ##此時權限改成了755

註意:先掛設備再改目錄權限,因為目錄權限本身是記錄在設備裏的,每掛載之前和掛載之後度的設備不一樣,剛開始讀的是/dev/vda1,掛載後讀的是/dev/vdb7.

8.設備的加密——luks(基於文件系統的加密)
cryptsetup luksFormat /dev/vdb8        ##加密格式化

YES                     ##必須要大寫

cryptsetup open /dev/vdb8 hello(名字任意的)

mkfs.xfs /dev/mapper/hello           ##格式化 mapper虛擬設備

mount /dev/mapper/hello /mnt

touch /mnt/file{1..6}

umount /mnt

cryptsetup close hello

查看:
cryptsetup open /dev/vdb8 hello         ##需要密碼
mount /dev/mapper/hello /mnt

   

Linux從入門到精通——系統分區及文件系統的管理