linux的磁盤類型和分區簡介
linux的磁盤分為IDE和SCSI,目前以后者居多。
1. IDE磁盤的分區:hd+盤號+分區數字
盤號
|-a:基本盤
|-b:基本從屬盤
|-c:輔助主盤
|-d:輔助從屬盤
分區數字
|-1~4:主分區或擴展分區
|-5+:邏輯分區
例如,hda3表示第一塊IDE磁盤的第3個主分區或擴展分區,hdb5表示第二塊IDE磁盤的邏輯分區。
2. SCSI磁盤的分區:sd+盤號+分區數字
盤號
|-a:基本盤
|-b:基本從屬盤
|-c:輔助主盤
|-d:輔助從屬盤
分區數字
|-1~4:主分區或擴展分區
|-5+:邏輯分區
例如,sda1表示第一塊SCSI磁盤的第1個主分區,sdc2表示第三塊SCSI磁盤的第2個主分區或擴展分區。
linux的掛載和卸載
1. 掛載和卸載的概念
(1) 我們知道,windows系統有多個盤符,例如C、D、E……等,當用戶插入一個U盤時,系統會自動分配給它一個盤符,可能是I。有了這個盤符I,我們就可以在windows的命令行中對U盤中的目錄和文件進行操作。
(2) linux系統並沒有盤符,它只有一個根目錄/,linux磁盤的所有分區都在這個根目錄下的某個位置。如果在linux系統中添加一塊新磁盤,系統並不會自動給它分配盤符,它也不屬於根目錄/。這時,在命令行無法對這個新磁盤中的目錄或文件進行操作,既無法通過cd命令進入該磁盤,也無法通過ls命令顯示它下面的內容。
(3) 掛載類似於windows系統給U盤分配盤符,是將新磁盤跟已經存在的系統目錄之間建立聯系,讓新磁盤"擁有"根目錄/下面的某個目錄,以便於在命令行中操作它。例如,新添加了一塊磁盤分區sdb1,將它掛載到/home/dubhlinn目錄,則以后操作/home/dubhlinn目錄就相當於操作sdb1分區。掛載后,/home/dubhlinn目錄下的子目錄和文件也會保存到sdb1分區,而不是原來的分區。
(4) 卸載類似於windows退出U盤,切斷磁盤分區與目錄之間的聯系。卸載后,/home/dubhlinn目錄下的子目錄和文件會重新回到原來的分區。
2. 查看系統的掛載情況
lsblk [-l] [-f]
其中,-l表示列表方式顯示,-f可以顯示分區的uuid。
3. 掛載
mount equipment path
其中,equipment為設備位置,path為掛載點。例如,mount /dev/sdb1 /home/dubhlinn。
4. 永久掛載
用上述命令只是臨時掛載,重啟系統后會失效,要想永久生效,需要改一個配置文件:/etc/fstab,加一行:
/dev/sdb /home xfs defaults 0 0
其中,第一項為設備未知,第二項為掛載點,第三項為分區類型,后面固定不變。
5. 卸載
umount equipment
umount path
即卸載時既可以寫磁盤分區,也可以寫掛載點目錄。例如umount /home/dubhlinn。
使用VMWare添加硬盤示例
1. 關閉linux虛擬機(在系統運行狀態下無法添加硬盤),shutdown -h now,設置 → 添加新硬件 → 硬盤,指定大小;
2. 添加分區,fdisk /dev/sdb;
3. 格式化磁盤,指定分區類型(例如xfs、ext4等),mkfs -t xfs /dev/sdb;
4. 掛載,mount /dev/sdb /home;
5. 永久掛載,vim /etc/fstab,加一行:/dev/sdb /home xfs defaults 0 0。
磁盤管理
1. 查詢磁盤整體的使用情況
df -h
2. 查詢指定目錄的使用情況
du [-a] [-c] [-h] [--max-depth=n] path
其中,-a表示包含文件,-c表示顯示匯總值,-h表示顯示計量單位,--max-depth=n表示統計子目錄的深度,path為要查詢的目錄路徑。
3. 查詢指定目錄下的文件,即以-開頭的內容
ls -l [-r] [path] | grep "^-"
其中,-r表示包含子目錄下的,path如果不指定則默認為當前目錄。
4. 查詢指定目錄下的子目錄,即以d開頭的內容
ls -l [-r] [path] | grep "^d"
其中,-r表示包含子目錄的子目錄,path如果不指定則默認為當前目錄。
5. 查詢指定目錄下的文件數量
ls -l [-r] [path] | grep "^-" | wc -l
其中,-r表示包含子目錄下的,path如果不指定則默認為當前目錄。
6. 查詢指定目錄下的子目錄數量
ls -l [-r] [path] | grep "^d" | wc -l
其中,-r表示包含子目錄的子目錄,path如果不指定則默認為當前目錄。
7. 以樹狀結構顯示目錄下的內容
tree [path]
其中,path為要顯示的目錄路徑,如果不指定默認為當前目錄。