12.存儲媒介(快樂的Linux命令行)

1.本節要學習的指令(指令用英文更加容易記住)

mount Mount a file system 掛載
umount  Unmount a file system 卸載
fsck Check and repair a file system 檢查和修復文件系統
fdisk  Partition table manipulator 分區控制表
mkfs  make a file system 創建文件系統
fdformat Format a floppy disk 軟盤格式化
dd Write block oriented data directly to a device 塊數據寫入設備
genisoimage  general an ISO 9660 image file 創建 ISO 9660的映像文件
wodim Write data to optical storage media 把數據寫入光存儲媒介
md5sum Calculate an MD5 checksum 計算 MD5檢驗碼。

2.小知識

/etc/fstab 的文件可以列出系統啓動時要掛載的設備(典型地,硬盤分區)

LABEL=/12               /               ext3        defaults        1   1
LABEL=/home             /home           ext3        defaults        1   2
LABEL=/boot             /boot           ext3        defaults        1   2
tmpfs                   /dev/shm        tmpfs       defaults        0   0
devpts                  /dev/pts        devpts      gid=5,mode=620  0   0
sysfs                   /sys            sysfs       defaults        0   0
proc                    /proc           proc        defaults        0   0
LABEL=SWAP-sda3         /swap           swap        defaults        0   0
設備名                   掛載點          文件系統類型 選項            頻率 次序
字段 內容 說明
1 設備名 傳統上是設備的直接名字,現在都是一個label標籤來識別設備。
2 掛載點 設備所連接到的文件系統樹的目錄。
3 文件系統類型 大多數本地的 Linux 文件系統是 ext3(Third extended filesystem), 還有 FAT16 (msdos), FAT32 (vfat),NTFS (ntfs),CD-ROM (iso9660),等等。
4 選項 文件系統可以通過各種各樣的選項來掛載。有可能,例如,掛載只讀的文件系統, 或者掛載阻止執行任何程序的文件系統(一個有用的安全特性,避免刪除媒介。)
5 頻率 一位數字,指定是否和在什麼時間用 dump 命令來備份一個文件系統。
6 次序 一位數字,指定 fsck 命令按照什麼次序來檢查文件系統。比如先j檢查根目錄再home和boot

 

/dev 能夠看到許多設備

/dev/fd* 軟盤驅動器 floppy disk
/dev/hd* /dev/hda 是指第一通道上的主設備名;/dev/hdb 是第一通道上的從設備名;/dev/hdc 是第二通道上的主設備名,等等。/dev/hda1是指系統中第一硬盤驅動器上的第一個分區,而 /dev/hda 則是指整個硬盤驅動器。
/dev/lp* 打印機
/dev/sd* SCSI 磁盤。內核把所有類似於磁盤的設備(包括 PATA/SATA 硬盤, 閃存,和 USB 存儲設備,比如說可移動的音樂播放器和數碼相機)看作 SCSI 磁盤。 剩下的命名系統類似於上述所描述的舊的/dev/hd*命名方案。
/dev/sr* 光盤(CD/DVD 讀取器和燒寫器)

 

 

3.命令實操

[me@linuxbox ~]$ mount
/dev/sda2 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda5 on /home type ext3 (rw)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
/dev/sdd1 on /media/disk type vfat (rw,nosuid,nodev,noatime,
uhelper=hal,uid=500,utf8,shortname=lower)
twin4:/musicbox on /misc/musicbox type nfs4 (rw,addr=192.168.1.4)
注:格式爲--設備 on 掛載點 type 文件系統類型(選項)

[root@linuxbox ~]# umount /dev/hdc
[root@linuxbox ~]# mount -t iso9660 /dev/hdc /mnt/cdrom
[root@linuxbox ~]# cd /mnt/cdrom
[root@linuxbox cdrom]# ls
注:卸載一個設備名hdc,再掛載hdc到cdrom,之後進入掛載點查看內容。

任務:確定設備名稱
[me@linuxbox ~]$ sudo tail -f /var/log/messages
Jul 23 10:07:59 linuxbox kernel: sdb: sdb1
Jul 23 10:07:59 linuxbox kernel: sd 3:0:0:0: [sdb] Attached SCSI
removable disk
[me@linuxbox ~]$ sudo mkdir /mnt/flash
[me@linuxbox ~]$ sudo mount /dev/sdb1 /mnt/flash
[me@linuxbox ~]$ df
Filesystem      1K-blocks   Used        Available   Use%    Mounted on
/dev/sda2       15115452    5186944     9775164     35%     /
/dev/sda5       59631908    31777376    24776480    57%     /home
/dev/sda1       147764      17277       122858      13%     /boot
tmpfs           776808      0           776808      0%      /dev/shm
/dev/sdb1       15560       0           15560       0%      /mnt/flash
注:通過監控messages信息,當插入磁盤後就會顯示多的信息,其中就會有磁盤的名稱

任務:用 fdisk 命令操作分區
[me@linuxbox ~]$ sudo umount /dev/sdb1
[me@linuxbox ~]$ sudo fdisk /dev/sdb
Command (m for help):
Command (m for help): p
Disk /dev/sdb: 16 MB, 16006656 bytes
1 heads, 31 sectors/track, 1008 cylinders
Units = cylinders of 31 * 512 = 15872 bytes
Device Boot     Start        End     Blocks   Id        System
/dev/sdb1           2       1008      15608+   b       w95 FAT32
l   list known partition types
t   change a partition's system id
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 83
Changed system type of partition 1 to 83 (Linux)
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.
[me@linuxbox ~]$
注:首先通過fdisk分區管理進入,我們必須指定設備名稱,就整個設備而言,而不是通過分區號.因爲是一個
整體操作。之後利用m查看命令,發現l是列出已知分區類型,t是改變分區id,輸入”p”會打印出這個設備的分
區表,爲什麼改id,是因爲這樣才能更好的表明這是個Linux分區,修改之後必須輸入w將內存修改寫入到物理設備中.

任務:用 mkfs 命令創建一個新的文件系統
[me@linuxbox ~]$ sudo mkfs -t vfat /dev/sdb1

任務:檢查我們的閃存驅動器(首先應該卸載)
[me@linuxbox ~]$ sudo fsck /dev/sdb1
fsck 1.40.8 (13-Mar-2008)
e2fsck 1.40.8 (13-Mar-2008)
/dev/sdb1: clean, 11/3904 files, 1661/15608 blocks

任務:先格式化,再創建一個文件系統
[me@linuxbox ~]$ sudo fdformat /dev/fd0
Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB.
Formatting ... done
Verifying ... done
[me@linuxbox ~]$ sudo mkfs -t msdos /dev/fd0

任務:將第一個驅動器的數據複製到第二個。dd = date define
[me@linuxbox ~]$ dd if=/dev/sdb of=/dev/sdc

dd if=/dev/cdrom of=ubuntu.iso 創建一個 CD-ROM 的映像拷貝
genisoimage -o cd-rom.iso -R -J ~/cd-rom-files 
從文件集合中創建一個映像“-R”選項添加元數據爲 Rock Ridge 擴展,這允許使用長文件名和 POSIX 風格的
文件權限。 同樣地,這個”-J”選項使 Joliet 擴展生效,這樣 Windows 中就支持長文件名了。
mkdir /mnt/iso_image 直接掛載一個 ISO 鏡像
mount -t iso9660 -o loop image.iso /mnt/iso_image 直接掛載一個 ISO 鏡像
wodim dev=/dev/cdrw blank=fast 清除一張可重寫入的 CD-ROM
wodim dev=/dev/cdrw image.iso 寫入鏡像
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章