Linux命令(4)

文件系統操作與磁盤管理

"rootfs" : (Root File System)它是 Ramfs(Ramfs 是一個非常簡單的 Linux 文件系統用於實現磁盤緩存機制作爲動態可調整大小的基於 ram 的文件系統)或者 tmpfs 的一個特殊實例,它作爲系統啓動時內核載入內存之後,在掛載真正的的磁盤之前的一個臨時文件系統。通常的主機會在系統啓動後用磁盤上的文件系統替換.

查看磁盤和目錄容量

df (-h)

查看目錄容量 du

du -h -d (0、1) 目錄
-h human-readable
-d 查看目錄的深度
0:一級目錄
1:二級目錄

dd命令

Linux 的很重要的一點,一切即文件,在 Linux 上,硬件的設備驅動(如硬盤)和特殊設備文件(如/dev/zero和/dev/random)都像普通文件一樣,只要在各自的驅動程序中實現了對應的功能,dd 也可以讀取自和/或寫入到這些文件   
dd命令:默認從標準輸入中讀取,並寫入到標準輸出中,但可以用選項if(input file,輸入文件)和of(output file,輸出文件)改變.
  • dd命令從標準輸入讀入用戶輸入到輸出到文件:
    dd of=test bs=10 count=1 #
    或者 dd if=/dev/stdin of=test bs=10 count=1
  • dd命令從標準輸入讀入用戶輸入輸出到標準輸出:
    dd if=/dev/stdin of=/dev/stdout bs=10 count=1
    bs(block-size):用於指定塊大小(缺省單位爲Byte,也可爲其指定如’K’,’M’,’G’等單位)
    count:用於指定塊數量
  • dd在拷貝的同時還可以實現數據轉換:
    將輸出的英文字符轉換爲大寫再寫入文件:
    dd if=/dev/stdin of=test bs=10 count=1 conv=ucase

創建虛擬磁盤

loop設備:在類 UNIX 系統中,/dev/loop(或稱vnd (vnode disk)、lofi(循環文件接口))是一種僞設備,這種設備使得文件可以如同塊設備一般被訪問。在使用之前,循環設備必須與現存文件系統上的文件相關聯。這種關聯將提供給用戶一個應用程序接口,接口將允許文件視爲塊特殊文件(參見設備文件系統)使用。因此,如果文件中包含一個完整的文件系統,那麼這個文件就能如同磁盤設備一般被掛載
  1. 從/dev/zero設備創建一個容量爲 256M 的空文件:
    dd if=/dev/zero of=virtual.img bs=1M count=256
  2. 將這個文件格式化(寫入文件系統):
    • 使用 mkfs 命令格式化磁盤(我們這裏是自己創建的虛擬磁盤鏡像),將我們的虛擬磁盤鏡像格式化爲ext4文件系統 :
      mkfs.ext4 virtual.img
    • 查看Linux支持的文件系統:
      ls -l /lib/modules/$(uname -r)/kernel/fs
  3. 使用 mount 命令掛載磁盤到目錄樹:
    • 常用操作:mount [options] [source] [directory]
      mount [-o [操作選項]] [-t 文件系統類型] [-w|–rw|–ro] [文件系統源] [掛載點]
    • 掛載我們創建的虛擬磁盤鏡像到/mnt目錄:
      mount -o loop -t ext4 virtual.img /mnt
    • 也可以省略掛載類型,很多時候 mount 會自動識別
    • 以只讀方式掛載:
      mount -o loop –ro virtual.img /mnt
      或者mount -o loop,ro virtual.img /mnt
    • 查看下主機已經掛載的文件系統:
      sudo mount
    • 命令格式 sudo umount 已掛載設備名或者掛載點:
      sudo umount /mnt
  4. 使用 fdisk 爲磁盤分區
    • 查看硬盤分區表信息:
      sudo fdisk -l
    • 進入磁盤分區模式:
      sudo fdisk virtual.img
    • 操作完成後輸入p查看結果
    • 最後不要忘記輸入w寫入分區表
  5. 使用 losetup 命令建立鏡像與迴環設備的關聯:
    sudo losetup /dev/loop0 virtual.img
    • 如果提示設備忙你也可以使用其它的迴環設備,”ls /dev/loop*”參看所有迴環設備
    • 解除設備關聯:
      sudo losetup -d /dev/loop0
  6. 使用mkfs格式化各分區(前面我們是格式化整個虛擬磁盤鏡像文件或磁盤),不過格式化之前,我們還要爲各分區建立虛擬設備的映射,用到kpartx工具
    sudo apt-get install kpartx
    sudo kpart kpartx -av /dev/loop0
    • 取消映射
      sudo kpart kpartx -dv /dev/loop0
  7. 接着再是格式化,我們將其全部格式化爲 ext4:
    • sudo mkfs.ext4 -q /dev/mapper/loop0p1
    • sudo mkfs.ext4 -q /dev/mapper/loop0p5
    • sudo mkfs.ext4 -q /dev/mapper/loop0p6
  8. 格式化完成後在/media目錄下新建四個空目錄用於掛載虛擬磁盤
    mkdir -p /media/virtualdisk_{1..3}
    • 掛載磁盤分區:
      sudo mount /dev/mapper/loop0p1 /media/virtualdisk_1
      sudo mount /dev/mapper/loop0p5 /media/virtualdisk_2
      sudo mount /dev/mapper/loop0p6 /media/virtualdisk_3
    • 卸載磁盤分區
      sudo umount /dev/mapper/loop0p1
      sudo umount /dev/mapper/loop0p5
      sudo umount /dev/mapper/loop0p6
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章