1.相關命令:lsblk、fdisk、gdisk、parted、mkfs、mke2fs、blkid、e2label、findfs、tune2fs、dumpe2fs、fsck、e2fsck、mount、swapon、swapoff、mkisofs、wodim、free、df、du、dd。
2.列出塊設備:lsblk
3.fdisk:創建分區,創建MBR分區,也支持GPT,對于一塊硬盤,最多只能管理15分區。
· ? p 分區列表 ?
t 更改分區類型 ?
n 創建新分區 ?
d 刪除分區 ?
w 保存并退出 ?
q 不保存并退出
4.gdisk:創建GPT分區
5.parted:命令操作都是實時生效的,請小心操作
增加分區,同步分區表
partx -a /dev/sda
刪除分區,同步分區表
partx -d –nr 6-8 /dev/sda
6.mkfs:格式化分區類型:有數據磁盤請先進行備份!
設置卷標可以加上-L 例如:[root@nzg7 ~]# mkfs.ext4 -L luyubo /dev/sdb
7.mke2fs:ext系列文件系統專用管理工具
-t {ext2|ext3|ext4}
-b {1024|2048|4096}
-L‘LABEL‘ 卷標
-j 等于-t ext3
mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3 -i
#: 為數據空間中每多少個字節創建一個inode;此大 小不應該小于block的大小
-N #:為數據空間創建個多少個inode
–I 一個inode記錄大小128—4096
-m #: 默認5%,為管理人員預留空間占總空間的百分比
-O FEATURE[,…]:啟用指定特性
-O ^FEATURE :關閉指定特性
8.blkid:查看磁盤UUID
9.e2label管理ext系列文件系統的卷標
10.findfs:查找分區,根據所給出的卷標或者UUID來查找整個磁盤,搜索是否有匹配的卷標或者UUID
11. tune2fs: 重新設定ext系列文件系統可調整參數的值
-l:查看指定文件系統超級塊信息;
super block -L 'LABEL':修改卷標
-m #:修預留給管理員的空間百分比
-j: 將ext2升級為ext3
-O: 文件系統屬性啟用或禁用,
–O ^has_journal
-o: 調整文件系統的默認掛載選項,
–o ^acl -U UUID: 修改UUID號
12. dumpe2fs: -h:查看超級塊信息(分組信息),分區用分組管理
13. fsck:文件系統檢查
-a: 自動修復錯誤
-r: 交互式修復錯誤
14.e2fsck: ext系列文件專用的檢測修復工具
-y:自動回答為yes
-f:強制修復
15.mount: 將額外文件系統與根文件系統某現存的目錄建立起關聯 關系,進而使得此目錄做為其它文件訪問入口的行為
?-t vsftype:指定要掛載的設備上的文件系統類型 ?
-r: readonly,只讀掛載 ?
-w: read and write, 讀寫掛載 ?
-n: 不更新/etc/mtab,相當于#mount ?
-a:自動掛載所有支持自動掛載的設備(定義在了/etc/fstab 文件中,且掛載選項中有auto功能) ?
-L 'LABEL': 以卷標指定掛載設備 ?
-U 'UUID': 以UUID指定要掛載的設備 ?
-B, –bind: 綁定目錄到另一個目錄上 ?
查看內核追蹤到的已掛載的所有設備: cat /proc/mounts
-o options:(掛載文件系統的選項),多個選項使用逗號分隔
async:異步模式
sync:同步模式,內存更改時,同時寫磁盤
atime/noatime:包含目錄和文件
diratime/nodiratime:目錄的訪問時間戳
auto/noauto:是否支持自動掛載,是否支持-a選項
exec/noexec:是否支持將文件系統上運行應用程序
dev/nodev:是否支持在此文件系統上使用設備文件
suid/nosuid:不否支持suid和sgid權限
remount:重新掛載
ro:只讀
rw:讀寫
user/nouser:是否允許普通用戶掛載此設備,默認管理員才能掛載
acl:啟用此文件系統上的acl功能 ?
Defaults:相當于rw, suid, dev, exec, auto, nouser, async
16.swapon:交換分區激活
Swapon -a
17.swapoff:交換分區關閉
18.mkisofs:創建iso文件
19.wodim:刻錄光盤
wodim –v –eject centos.iso
20.free:查看內存利用率
-m: 以MB為單位
-g: 以GB為單位
21.df:查看當前磁盤利用率
22.du:查看目錄大小,一般可以sh使用
23.dd:一般用于寫入數據
dd命令:convert and copy a file
用法:
dd if=/PATH/FROM/SRC of=/PATH/TO/DEST
bs=#:block size, 復制單元大小
count=#:復制多少個bs ?of=file 寫到所命名的文件而不是到標準輸入
of=file 寫到所命名的文件而不是到標準輸出
if=file 從所命名文件讀取而不是從標準輸入
bs=size 指定塊大?。仁鞘莍bs也是obs)
ibs=size 一次讀size個byte
obs=size 一次寫size個byte
cbs=size 一次轉化size個byte
skip=blocks 從開頭忽略blocks個ibs大小的塊
seek=blocks 從開頭忽略blocks個obs大小的塊
count=n 只拷貝n個記錄
conv=conversion[,conversion…] 用指定的參數轉換文件。 ?
轉換參數: ?
ascii 轉換 EBCDIC 為 ASCII ?
ebcdic 轉換 ASCII 為 EBCDIC ?
block 轉換為長度為 cbs 的記錄,不足部分用空格填充。 ?
unblock 替代cbs長度的每一行尾的空格為新行 ?
lcase 把大寫字符轉換為小寫字符 ?
ucase 把小寫字符轉換為大寫字符 ?
swab 交換輸入的每對字節 ?
noerror 出錯時不停止 ?
notrunc 不截短輸出文件 ?
sync 把每個輸入塊填充到ibs個字節,不足部分用空(NUL)字符補齊
磁盤拷貝:
dd if=/dev/sda of=/dev/sdb ?
備份MBR:
dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1 ?
破壞MBR中的bootloader:
dd if=/dev/zero of=/dev/sda bs=64 count=1 seek=446 ?
有一個大與2K的二進制文件fileA?,F在想從第64個字節位置 開始讀取,需要讀取的大小是128Byts。又有fileB, 想把上 面讀取到的128Bytes寫到第32個字節開始的位置,替換 128Bytes,請問如何實現?
#dd if=fileA of=fileB bs=1 count=128 skip=63 seek=31 conv=notrunc
備份:
dd if=/dev/sdx of=/dev/sdy
將本地的/dev/sdx整盤備份到/dev/sdy
dd if=/dev/sdx of=/path/to/image
將/dev/sdx全盤數據備份到指定路徑的image文件
dd if=/dev/sdx | gzip >/path/to/image.gz
備份/dev/sdx全盤數據,并利用gzip工具進行壓縮,保存到指定路徑
恢復:
dd if=/path/to/image of=/dev/sdx
將備份文件恢復到指定盤
gzip -dc /path/to/image.gz | dd of=/dev/sdx
將壓縮的備份文件恢復到指定盤
拷貝內存資料到硬盤
dd if=/dev/mem of=/root/mem.bin bs=1024
將內存里的數據拷貝到root目錄下的mem.bin文件
從光盤拷貝iso鏡像
dd if=/dev/cdrom of=/root/cd.iso
拷貝光盤數據到root文件夾下,并保存為cd.iso文件 ?
銷毀磁盤數據
dd if=/dev/urandom of=/dev/sda1
利用隨機的數據填充硬盤,在某些必要的場合可以用來銷毀數據 。執行此操作以后,/dev/sda1將無法掛載,創建和拷貝操作 無法執行。
測試硬盤讀寫速度
dd if=/root/1Gb.file bs=64k | dd of=/dev/null
dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000
通過上兩個命令輸出的執行時間,可以計算出測試硬盤的讀/寫 速度
修復硬盤
dd if=/dev/sda of=/dev/sda
當硬盤較長時間(比如1,2年)放置不使用后,磁盤上 會產生消磁點。當磁頭讀到這些區域時會遇到困難,并可 能導致I/O錯誤。當這種情況影響到硬盤的第一個扇區時 ,可能導致硬盤報廢。上邊的命令有可能使這些數據起死 回生。且這個過程是安全,高效的。
24.掃描磁盤,虛擬機開機狀態無法檢查到新磁盤。
[root@localhost ~]# echo "- – -" > /sys/class/scsi_host/host2/scan
25. 查看mbr
[root@localhost ~]# hexdump -C -n 512 /dev/sda
26.備份mbr
27.恢復mbr
28.破壞 boot loader
[root@localhost ~]# dd if=/dev/zero of=/dev/sdd bs=1 count=2 skip=500 seek=510
hexdump -C -v -n 512 /dev/sdd
29.清除分區標識
[root@localhost ~]# dd if=/dev/zero of=/dev/sdd bs=1 count=2 skip=510 seek=510
30.恢復分區標識
[root@localhost ~]# dd if=/dev/zero of=/dev/sdd bs=1 count=64 skip=446 seek=446
31.恢復分區表
[root@localhost ~]# dd if=/dev/zero of=/dev/sdd bs=1 count=64 skip=446 seek=446
32.創建swap
1.設置文件類型為swap
2.清空swapfile文件
3.使用mkswap寫入簽名
4.寫入/etc/fstab文件中,pri設置swap的優先級
/dev/sdb1 swap swap defaults,pri=10 0 0
5.使用swapon -s查看當前已經有swap,然后使用swapon -a讀取配置文件生效
6.使用swapon -s查看文件類型
33.實現loop設備和文件文件關聯
1.設置文件文件大小
[root@localhost mnt]# dd if=/dev/zero of=/home/bigfile bs=1M count=500
2.關聯設備文件
[root@localhost mnt]# losetup /dev/loop1 /home/bigfile
3.設置文件 文件系統
[root@localhost mnt]# mkfs.ext4 /home/bigfile
4.掛載loop設備到目錄
[root@localhost mnt]# mount /dev/loop1 /mnt/bigfile/
5.查看loop掛載關聯設備
[root@localhost mnt]# losetup -a
34.設置磁盤配額
1.編輯/etc/fstab
/dev/sdb1 /home ext4 usrquota,grpquota 0 0
2.重新載入/etc/fstab配置文件
3.創建配額數據庫
4.啟用數據庫
5.配置配額項
或者使用命令setquota luyubo1 3M 5M 0 0 /home
6.測試
先使用dd寫入數據
dd if=/dev/zero of=bb.txt bs=1M count=3
35.實現軟件raid
1.設置文件類型為:Linux raid auto
2.創建raid設備
3.格式化md0文件系統
4.寫入至/etc/fstab文件內。
5.生成配置文件
6.重啟raid服務
7.測試
8.刪除raid
[root@localhost ~]# vim /etc/fstab #刪除掛載信息
36.邏輯卷管理
1.創建物理卷使用pvcreate
2.創建卷組并給卷組增加分區vgcreate
3.創建新的邏輯卷使用lvcreate
1.新建邏輯卷
設置文件類型:8e
創建文件系統
掛載
擴展邏輯卷
創建塊設備
原創文章,作者:鬧鐘哥,如若轉載,請注明出處:http://www.www58058.com/42299
圖片無法正常顯示,需要作者自己檢查一下。