磁盤管理
一.mknod:創建設備命令
mknod devname type(b,c) 主設備號 次設備號
二.分區
傳統分區的分區信息512字節,在每個磁盤首,其中從第446開始是分區表,共64字節,每個分區占16字節,所以一
個硬盤主分區和擴展分區加起來只能有4個
dd if= of= bs= count= seek= skip=
命令 從哪裡輸入 輸出到哪裡 單位大小 數量 輸入部分(if)跳過 輸出(if)部分跳過
結合分區信息可以實現復制一個硬盤分區信息到另一個硬盤,實現兩個硬盤一樣的分區
dd if=/dev/sda of=/dev/sdb bs=64 count=1 seek=446 skip=446
意思是從sda讀取數據,復制到sdb上,跳過開頭的446個字節後開始復制64個字節到sdb硬盤的從開頭跳過446個字節
的位置
結果是未曾分區的sdb硬盤有了如果sda一樣的分區
在向前回顧,在重定向的時候,我們也曾提到過dd命令,當時也提到了兩個linux的特殊設備,一個是黑洞/dev/null,
另一個是/dev/zero,當時的用法是為了演示重定向
dd if=/dev/zero of=file bs=1M count=100
生成了內部全是0的100M大小的文件file,利用重定向也可以完成,cat /dev/zero > file(但是cat無法制定大小,
不取消會一直寫下去知道寫滿)
我們同樣可以利用這個來抹掉sdb磁盤分區的內容,
dd if=/dev/zero of=/dev/sdb bs=64 count=1 seek=446 skip=446
再去fdisk硬盤sdb發現會報錯
三.查看建立分區
fdisk:分區命令
fdisk 用法大致兩種
fdisk -l device :可以不加device,默認顯示全部的硬盤信息,包括分區等
fdisk device :這個可以對硬盤進行分區操作
第二種用法的fdisk是在內存中進行操作的,所以在保存退出前,無論做什麼操作都不會生效,但是保存退出前一定
要謹慎檢查
fdisk在進行分區操作後,很容易報錯,顯示磁盤忙,並且在執行fdisk -l的時候並不會顯示剛才做的分區這個時候,
分區確實是分好了,但是有可能沒有被讀取出來
查看cat /proc/partitions
看看裡邊是不是有剛才做的磁盤的分區的信息,如果沒有,證明系統沒有讀取分區信息,這個時候,需要手動添加
手動添加的命令:partx -a ;partprobe;kpartx -af
partx -a:可以用在centos5,6
partprobe:可以用在centos5,7(6中會報錯,不支持次命令)
kpartx -af:用在centos7中
partprobe:可以用於刪除分區後讓內存去讀取刪除後的信息
partx -d m,n 分區:刪除分區後的信息讀取
注意:有的時候,添加一次可能還是無法讀取出來,在輸入一次命令就可以
gdisk:實際用法等同於fdisk,只是多了對gpt的支持
parted dev options
mklabel gpt/msdos:修改分區方式,傳統dos還是新的gpt
mkpart 主/擴 分區號 分區大小:制作分區
rm 分區號:刪除分區
四.創建文件系統,修改文件系統格式等
mkfs mke2fs:格式化分區命令 blkid:查看分區信息命令
mkfs.[ext2,3,4;xfs;~]=mkfs -t [ext2,3,4;xfs;~]
mke2fs:是ext系列的專屬命令,用法差不多同mkfs
-t:type,後接分區的類型
-b:指定分區塊大小
-i:指定每多少字節一個inode
-N:指定分區上一共多少inode
-j:開啟日志功能
-L:指定卷標
-O:制定一些分區的特性,關閉某些特性在前邊加上^
-m:給管理員預留的空間的大小,後邊接#數字,代表百分比
blkid dev
-L:卷標
-U:uuid
注意:以下這些內容可以再看完後邊內容後再來回顧,不詳細說明,自己去試
linux是一個很靈活的操作系統,它不僅僅能夠格式化硬盤,就算是文件,也可以格式化成硬盤
mkfs.ext4 file1
blkid file1
e2label device 卷標名
tune2fs:修改一些分區信息
-l:查看超級塊信息
-j:開啟關閉日志功能
-L:修改卷標
-O:修改某些分區的特性,同樣關閉特性在前邊加上^
-o:修改分區的掛載特性,如acl等掛載是開啟的特性,關閉同樣在^acl在前邊加上^
注意,無論是tune2fs還是mke2fs都支持多個特性,多個特性只要用,隔開就行
-m:修改管理員預留空間,後跟數字表示百分比
dumpe2fs:查看分區信息
-h:只查看超級塊信息
fsck e2fsck:磁盤檢查命令,會將錯誤文件刪除的磁盤檢查
fsck:全文件系統使用
-t:指明文件系統類型,不加也行,系統會自動識別
-a:對每個詢問回答yes
-r:交互式檢查
e2fsck:只支持ext文件系統的磁盤檢查
-y:對每個選項都自動回答yes
-f:無論是不是出問題都強制進行磁盤檢查
五.掛載
mount/umount
mount [options] [-o options] dev1/dir1/file1 dir2/file2/dev2
options:
-r:只讀掛載
-w:讀寫掛載
-n:不講掛載信息同步到/etc/mtab裡
-a:將支持自動掛載的全部掛載
-t:指明文件系統類型
-L:卷標指代設備名
-U:uuid指明~
-o options
-o remount:重新掛載
sync/async:同步異步讀取,異步性能更高
atime/noatime:訪問時間要不要隨著每次訪問更改,針對文件目錄等
diratime/nodiratime:同上,但是只支持目錄
acl:是不是支持訪問控制列表
suid/nosuid:是不是支持特殊 權限suid
auto/noauto:支持不支持自動掛載
dev/nodev:支不支持設備自動啟動運行
exec/noexec:支持不支持文件自動啟動應用
ro:制度掛載
rw:讀寫掛載
user/nouser:支持不支持非管理員用戶掛載
defaults:不加任何選項時的自動生效的特性
--bind:mount支持目錄掛載目錄,將d1目錄掛載(綁定)到d2目錄上,就可以通過訪問d1來訪問d2目錄
mount --bind d1 d2
mount -o loop:掛載回環設備,基本上是非硬件設備的分區都屬於回環設備,例如用文件做分區和swap時,掛載要用到loop,但是可以使用
losetup /dev/loop# file事先綁定上回環,這個時候在掛載就不用加loop,解綁回環用losetup -d /dev/loop#
umount:卸載
umount dev/dir/file
注意:
正在被使用的,被訪問的掛載是不能卸載的
查看訪問進程
lsof / fuser -v
fuser -km xx 終止正在訪問XX的所有進程或者用戶
查看是不是掛載上可以cat /proc/mounts,當掛載的時候,如果加上-n選項,別的如/etc/fstab,/etc/mtab等都不會記錄
掛載信息,但是/proc/mounts會記錄
六.交換分區
swap:交換分區
mkswap:建立一個交換分區
swapon:啟動一個交換分區
-a:將/etc/fstab中的所有swap啟用
swapoff:關閉
swap分區想要添加大小的時候,可以直接新建一個swap分區就行
七./etc/fstab
關於開機自動檢查,一般建議填0,不要進行檢查,因為很有可能會造成無法開機的情況,如果真出現了,那麼處在錯誤中的系統,要求你登錄管理員
賬戶或者重啟,這個時候,登錄管理原用戶後,可以查看具體錯誤,但是,整個系統都處在只讀狀態,就算是管理員,也無法對文件作出修改,這個時候
,只要重新掛載一次/目錄,管理員就可以進行修改錯誤了
八.額外補充
free:查看內存的命令
-h:用方便人觀看的大小來顯示
-g:使用單位GB
-m:使用單位MB
df和du:見前邊筆記
本文出自 “博客作業初版” 博客,謝絕轉載!