1、dd指令
格式 dd if=/PATH/FROM/SRC of=/PATH/TO/DEST bs=# count=#
常用選項:
if=file 從所命名檔案讀取而不是從标準輸入
of=file 寫到所命名的檔案而不是到标準輸出
ibs=size 一次讀size個byte
obs=size 一次寫size個byte
bs=size block size, 指定塊大小(既是是ibs也是obs)
cbs=size 一次轉化size個byte
skip=blocks 從開頭忽略blocks個ibs大小的塊
seek=blocks 從開頭忽略blocks個obs大小的塊
count=n 複制n個bs
conv=conversion[,conversion...] 用指定的參數轉換檔案
conversion 轉換參數:
ascii 轉換 EBCDIC 為 ASCII
ebcdic 轉換 ASCII 為 EBCDIC
lcase 把大寫字元轉換為小寫字元
ucase 把小寫字元轉換為大寫字元
nocreat 不建立輸出檔案
noerror 出錯時不停止
notrunc 不截短輸出檔案
sync 把每個輸入塊填充到ibs個位元組,不足部分用空(NUL)字元補齊
fdatasync 寫完成前,實體寫入輸出檔案
建立空洞檔案
備份整盤
dd if=/dev/sdx of=/dev/sdy
恢複檔案到指定盤
dd if=/dev/sdy of=/dev/sdx
将記憶體裡的資料拷貝到root目錄下的mem.bin檔案
dd if=/dev/mem of=/root/mem.bin bs=1024
拷貝CD光牒資料到root檔案夾下,并儲存為cdrom.iso檔案
dd if=/dev/cdrom of=/root/cdrom.iso
銷毀磁盤資料
dd if=/dev/urandom of=/dev/sda1
測試硬碟寫速度
dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000
測試硬碟讀速度
dd if=/root/1Gb.file bs=64k | dd of=/dev/null
2、建立一個2Gb的檔案系統,塊大小為2048byte 預留1%的可用空間,檔案系統ext4,卷标為test,預設有acl挂載選項,開機自動挂載
2、寫一個腳本,完成如下功能:
(1) 列出目前系統識别到的所有磁盤裝置
(2) 如磁盤數量為1,則顯示其空間使用資訊,否則,則顯示最後一個磁盤上的空間使用資訊
#!/bin/bash
Disk_node=`lsblk |grep -e "sd[a-z] " | wc -l`
if [ "$Disk_node" -eq 1 ];
then
fdisk -l /dev/sda
else
fdisk -l /dev/`lsblk |grep -oe "sd[a-z] "| tail -n1`
fi