Linux 系統環境下,所有週邊裝置皆以檔案方式應對管理
所有裝置檔案皆放置於系統 /dev 目錄
應對週邊裝置的檔案稱呼為 "裝置檔案 (Device File)"
若開啟 /dev 內的檔案進行讀寫,便相當於對某個置進行溝通
裝置檔案分類
block device file
隨機存取讀寫裝置,一般為儲存媒介裝置
/dev/hda , /dev/sda ....
character device file
不可隨機存取讀寫裝置,一般為顯示輸入與輸出等設備裝置
/dev/lp0 , /dev/tty1 ...
[sean@station62 tmp]$ sudo fdisk -l /dev/sda
Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0fe0ea06
Device Boot Start End Blocks Id System
/dev/sda1 * 1 15001 120495501 7 HPFS/NTFS
/dev/sda2 15002 15065 514080 e W95 FAT16 (LBA)
/dev/sda3 15066 22898 62918572+ 7 HPFS/NTFS
/dev/sda4 22899 38913 128640487+ f W95 Ext'd (LBA)
/dev/sda5 22899 33342 83891398+ 7 HPFS/NTFS
/dev/sda6 33343 33368 204800 83 Linux
/dev/sda7 33368 36555 25600000 83 Linux
/dev/sda8 36555 37295 5939200 83 Linux
/dev/sda9 37295 37550 2048000 83 Linux
/dev/sda10 37550 37741 1536000 83 Linux
/dev/sda11 37741 37872 1048576 82 Linux swap / Solaris
[sean@station62 tmp]$ sudo ls -l /dev/sda
brw-rw----. 1 root disk 8, 0 2012-08-15 09:10 /dev/sda
[sean@station62 tmp]$ sudo ls -l /dev/tty1
crw--w----. 1 root tty 4, 1 2012-08-15 17:10 /dev/tty1
dd 轉換與複製檔案
說明:讀取指定來源並輸出目的
參數
if ) 指定來源檔案名稱 input file
of ) 指定輸出目的檔案名稱output file
bs ) 讀取/輸出 N 位元組大小
count ) 讀取 N 次數 未列則讀到完
---
範例
複製 floppy 資料
dd if=/dev/fd0 of=floppy.img 磁碟COPY
dd if=floppy.img of=/dev/fd0
備份與回存 mbr 磁區資料
dd if=/dev/sda of=mbr.dat bs=512 count=1
dd if=mbr.dat of=/dev/sda