磁盤與文件系統命令(10)

命令(19個)mount,umount,fsck,dd,dumpe2fs,dump,fdisk,parted,mkfs,partprobe,e2fsck,mkswap,swapon,swapoff,sync,resize2fs,blkid,lsblk,hexdumpnode


10.1.fdisk
功能:linux分區表操做器
語法:
fdisk [-uc] [-b sectorsize] [-C cyls] [-H heads] [-S sects] device
fdisk -l [-u] [device...]
fdisk -s partition...
fdisk -v
fdisk -hlinux

選項:ios

-b <size>                    sector size (512, 1024, 2048 or 4096)  #扇區大小
windows

-c                                switch off DOS-compatible mode  #關掉DOS-compatible模式
安全

-h                                print help  #打印幫助信息
bash

-u <size>                    give sizes in sectors instead of cylinders  #在扇區給出尺寸
app

-v                                print version  #打印版本
dom

-C <number>              specify the number of cylinders  #給柱面指定數量
異步

-H <number>              specify the number of heads    #指定頭的數量
async

-S <number>              specify the number of sectors per track  #指定每一個軌道上的扇區數

 

示例:

# fdisk -l  查看磁盤的詳細信息
磁盤大小=盤面數 X 扇區數 X 柱面數 X 每扇區大小(512字節)
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders  255個磁頭 63個扇區 2610個柱面
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: 0x000dc9a4
.............. 

1)磁盤分區:
fdisk /dev/sdb

Command (m for help): m 打印幫助
Command action
   a   toggle a bootable flag  #設置引導扇區
   b   edit bsd disklabel #編輯bsd磁碟標籤
   c   toggle the dos compatibility flag #切換dos兼容性標誌
   d   delete a partition  #刪除一個分區
   l   list known partition types  #查看全部分區類型
   m   print this menu #打印菜單
   n   add a new partition #添加新分區
   o   create a new empty DOS partition table #建立一個空的DOS分區表
   p   print the partition table  #打印分區表
   q   quit without saving changes #退出不保存
   s   create a new empty Sun disklabel #建立一個空的Sun磁盤標籤
   t   change a partition's system id  #更改分區的系統類型(id)
   u   change display/entry units  #改變顯示/輸入單元
   v   verify the partition table #證明分區表
   w   write table to disk and exit  #保存且退出
   x   extra functionality (experts only) #額外的功能
 
 
Command (m for help): n
Command action
   e   extended  擴展分區
   p   primary partition (1-4) 主分區 分區編號
p
Partition number (1-4): 1
First cylinder (1-2610, default 1):  起始柱面(默認)
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +2G  數字表明結束柱面;+size表明最終指定大小
 
分區:若是你要分四個以上分區,請把第四個分爲extended擴展分區
     並且擴展分區把多餘的全部空間都劃分進去,不然會形成空間的浪費
 
格式化成某種文件系統:
mkfs.ext4 /dev/sdb1
或者
mkfs -t ext4 /dev/sdb1
 
查看文件系統:
df -lhT
經過掛載方式使用:
手動掛載:
mkdir /u01 建立空的掛載點
mount /dev/sdb1 /u01

10.2.parted

 

功能:GNU分隔-分區操做程序
語法:parted [options] [device [command [options...]...]]
經常使用選項:
-h, --help 顯示此求助信息
-l, --list 列出全部設別的分區信息
-i, --interactive 在必要時,提示用戶
-s, --script 從不提示用戶
-v, --version 顯示版本
兩種分區:
gpt    沒有主分區,擴展分區,邏輯擴展分區的概念,支持單個分區最大超過2TB
msdos    有主分區,擴展分區,邏輯擴展分區的概念

bios
EFI/UEFI

fdisk只能分msdoc分區,而parted能夠分msdos和gpt分區

這兩種分區格式怎麼查看

# parted /dev/sda
GNU Parted 2.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                          
Model: ATA ST3500312CS (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos      --這裏就能夠看到類型

這兩種分區格式怎麼轉換
(parted) mklabel gpt        --在parted裏輸入這樣的命令去轉換
(parted) mklabel msdos

--注意,不要在正在使用磁盤時作轉換,若是你要作轉換能夠在如下幾種狀況去作
1,rescue模式
2,把磁盤接到另外一臺linux,另外一臺啓動並使用parted /dev/sdb來作轉換
3,在安裝系統時,在分區那一步,能夠按ctrl+alt+F2切換到文本模式,再使用parted來轉換

(parted) help        
(parted) mkpart
Partition type?  [logical]?
File system type?  [ext2]? ext4
Start? 225GB
End? 275GB
parted還能夠分區
查看現有分區 parted -l
root@localhost ~]# parted -l 

Model: DELL PERC H730 Mini (scsi)
Disk /dev/sda: 4197GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system     Name   Flags
 1      1049kB  1049GB  1049GB  ext4                   boot
 2      1049GB  1101GB  52.4GB  linux-swap(v1)
 parted 進入parted模式
 [root@localhost ~]# parted
GNU Parted 2.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)   
parted 模式下輸入 mkpart,創建新分區
[root@localhost ~]# parted
GNU Parted 2.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mkpart                                                           
Partition name?  []?  
上面的?後面輸入你想輸入的新分區名稱,例如gpt2
[root@localhost ~]# parted
GNU Parted 2.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mkpart                                                  Partition name?  []? gpt2                                        File system type?  [ext2]?   
輸入文件格式ext4
而後就會讓你選擇分區的起始位置, 這時要看以前你分區的起始位置
Number Start End Size File system Name Flags 
1 1049kB 1049GB 1049GB ext4 boot 
2 1049GB 1101GB 52.4GB linux-swap(v1) 
個人上面的最大的END是1101GB,因此我如今的分區就從1101GB開始,End就設爲我硬盤的最大值,4197GB
[root@localhost ~]# parted
GNU Parted 2.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mkpart                                                  Partition name?  []? gpt2                                        File system type?  [ext2]? ext2                                  Start? 1101GB                                                   End? 4197GB
而後會有提示,選擇Yes,這樣就分區成功了,這時候parted -l是能夠看到的。

可是 df -h ,由於尚未掛載。 
我由於要用ext4分區格式,因此先進行格式化。 
由於個人硬盤總的是/dev/sda ,blkid能夠看到/dev/sda1, /dev/sda2 ,因此我新的分區就是/dev/sda3。 
格式化命令:mkfs -t ext4 /dev/sda3
[root@localhost ~]# blkid
/dev/sda1: UUID="44bc2578-2309-43d9-917a-8980d480662a" TYPE="ext4" 
/dev/sda2: UUID="6c9c0b5f-f094-4dff-94f8-9857b917d299" TYPE="swap" 


[root@localhost ~]# mkfs -t ext4 /dev/sda3
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
188956672 inodes, 755822080 blocks
37791104 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
23066 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
        102400000, 214990848, 512000000, 550731776, 644972544

Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 27 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

[root@localhost ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       962G  4.0G  909G   1% /
tmpfs            32G     0   32G   0% /dev/shm
格式化完成後,mount 掛載到/home目錄,固然也能夠選擇別的目錄。
[root@localhost ~]# mount -t ext4 /dev/sda3 /home
[root@localhost ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       962G  4.0G  909G   1% /
tmpfs            32G     0   32G   0% /dev/shm
/dev/sda3       2.8T  201M  2.7T   1% /home

 

10.3.blkid

功能:打印塊設備屬性
示例:

[root@localhost tmp]# blkid
/dev/mapper/VolGroup-lv01: UUID="9a4d86d6-2b06-496c-82df-c50cf5423b23" TYPE="ext4" 
/dev/sda1: UUID="ec9d5b15-ba24-4f6e-bd2a-7f585d1462c3" TYPE="ext4" 
/dev/sda2: UUID="dN12Vt-FG5U-Nd3f-FCrR-Sv7m-USb2-fOgtT7" TYPE="LVM2_member" 
/dev/mapper/VolGroup-lv_root: UUID="ae65ef93-0d13-40ba-9516-d69474f5e0f1" TYPE="ext4" 
/dev/sdb: UUID="Shb8E4-1wg8-cc34-AGXH-SP4b-ONfr-3Yfw3y" TYPE="LVM2_member" 
/dev/mapper/VolGroup-lv_swap: UUID="b497699e-b5f0-4b03-8c09-898a41fec6c7" TYPE="swap


10.4.lsblk
功能:列出全部塊設備信息
語法:
lsblk [options]
lsblk [options] device...
經常使用選項:
-a, --all            顯示全部設備
-b, --bytes          以bytes方式顯示設備大小
-d, --nodeps         不顯示 slaves 或 holders
-D, --discard        print discard capabilities
-e, --exclude <list> 排除設備 (default: RAM disks)
-f, --fs             顯示文件系統信息
-h, --help           顯示幫助信息
-i, --ascii          use ascii characters only
-m, --perms          顯示權限信息
-l, --list           使用列表格式顯示
-n, --noheadings     不顯示標題
-o, --output <list>  輸出列
-P, --pairs          使用key="value"格式顯示
-r, --raw            使用原始格式顯示
-t, --topology       顯示拓撲結構信息
示例:

[root@localhost tmp]# lsblk  #查看本機的設備文件
NAME                        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0                          11:0    1 1024M  0 rom  
sda                           8:0    0   20G  0 disk 
├─sda1                        8:1    0  500M  0 part /boot
└─sda2                        8:2    0 19.5G  0 part 
  ├─VolGroup-lv_root (dm-0) 253:0    0 17.6G  0 lvm  /
  └─VolGroup-lv_swap (dm-1) 253:1    0    2G  0 lvm  [SWAP]
sdb                           8:16   0   10G  0 disk 
└─VolGroup-lv01 (dm-2)      253:2    0    5G  0 lvm  /data
 
[root@localhost tmp]# lsblk  -l #列表格式顯示
NAME                    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0                      11:0    1 1024M  0 rom 
sda                       8:0    0   20G  0 disk
sda1                      8:1    0  500M  0 part /boot
sda2                      8:2    0 19.5G  0 part
VolGroup-lv_root (dm-0) 253:0    0 17.6G  0 lvm  /
VolGroup-lv_swap (dm-1) 253:1    0    2G  0 lvm  [SWAP]
sdb                       8:16   0   10G  0 disk
VolGroup-lv01 (dm-2)    253:2    0    5G  0 lvm  /data

10.5.mount/umount


mount

功能:掛載命令

語法格式:mount [-fnrsvw] [-t vfstype] [-o options] device dir

device:指明要掛載的設備;

(1) 設備文件:例如/dev/sda5

(2) 卷標:-L 'LABEL', 例如 -L 'MYDATA'

(3) UUID, -U 'UUID':例如 -U '0c50523c-43f1-45e7-85c0-a126711d406e'

(4) 僞文件系統名稱:proc, sysfs, devtmpfs, configfs

dir:掛載點    

事先存在;建議使用空目錄;   

進程正在使用中的設備沒法被卸載;

經常使用選項:

 -t vsftype:指定要掛載的設備上的文件系統類型;

-r: readonly,只讀掛載;

-w: read and write, 讀寫掛載; 

-n: 不更新/etc/mtab; 

-a:自動掛載全部支持自動掛載的設備;(定義在了/etc/fstab文件中,且掛載選項中有「自動掛載」功能)

-L 'LABEL': 以卷標指定掛載設備;

-U 'UUID': 以UUID指定要掛載的設備;
-B, --bind: 綁定目錄到另外一個目錄上;

注意:查看內核追蹤到的已掛載的全部設備:cat /proc/mounts
-o options:(掛載文件系統的選項)
 async:異步模式;
 sync:同步模式;
atime/noatime:包含目錄和文件;
diratime/nodiratime:目錄的訪問時間戳auto/noauto:是否支持自動掛載exec/noexec:是否支持將文件系統上應用程序運行爲進程dev/nodev:是否支持在此文件系統上使用設備文件;suid/nosuid:是否支持在此文件系統上使用特殊權限remount:從新掛載
ro:只讀
rw:讀寫
user/nouser:是否容許普通用戶掛載此設備
acl:啓用此文件系統上的acl功能
注意:上述選項可多個同時使用,彼此使用逗號分隔;


默認掛載選項:defaults:rw, suid, dev, exec, auto, nouser, and async
示例: 

掛載iso文件

[root@localhost ~]# mount -o loop /home/user_00/CentOS-6.6-x86_64-bin-DVD1.iso /mnt/iso1

[root@localhost ~]# df -h

/home/user_00/CentOS-6.6-x86_64-bin-DVD1.iso  4.4G  4.4G    0 100% /mnt/iso1

掛載光驅

[root@localhost ~]# mount /dev/sr0 /mnt/cdrom

mount: block device /dev/sr0 is write-protected, mounting read-only

掛載windows共享文件(samba)

#mkdir /mnt/winshare

#mount -t smbfs -o username=w,password=w,codepage=936,iocharset=gb2312 //192.168.0.101/share /mnt/winshare

指定訪問共享的用戶名,密碼,codepage指定編碼與iocharset贊成義。這裏的windows 系統是中文簡體。

codepage指定文件系統的代碼頁,簡體中文中文代碼是936;iocharset指定字符集,簡體中文通常用cp936或gb2312

掛載u盤

 [root@localhost ~]#mkdir /mnt/upan

[root@localhost ~]#mount /dev/sda1 /mnt/upan

掛載nfs

經過客戶端的:showmount -e 192.168.0.30 能夠查看鏈接。

mount -t nfs 192.168.0.30:/tmp /mnt/nfs

umount

 功能:卸載命令

命令使用格式: # umount DEVICE # umount MOUNT_POINT
示例: 

umout /mnt/upan或者umount /dev/sda1


10.6.fsck

功能:檢查文件系統並嘗試修復錯誤。

語  法:fsck [-aANPrRsTV][-t <文件系統類型>][文件系統...]
補充說明:當文件系統發生錯誤四化,可用fsck指令嘗試加以修復。
注意:千萬不能在運行的系統上面直接執行fsck,特別是RHEL6.0如下ext3的文件系統,不然100%

損壞根文件系統,使用fsck -y /dev/sdb1 修復磁盤時,必須將sdb1分區umount掉
經常使用選項:

-a 自動修復文件系統,不詢問任何問題。
-A 依照/etc/fstab配置文件的內容,檢查文件內所列的所有文件系統。
-N 不執行指令,僅列出實際執行會進行的動做。
-P 當搭配"-A"參數使用時,則會同時檢查全部的文件系統。
-r 採用互動模式,在執行修復時詢問問題,讓用戶得以確認並決定處理方式。
-R 當搭配"-A"參數使用時,則會略過/目錄的文件系統不予檢查。
-s 依序執行檢查做業,而非同時執行。
-t<文件系統類型> 指定要檢查的文件系統類型。
-T 執行fsck指令時,不顯示標題信息。
-V 顯示指令執行過程。
fdisk -l 查看設備號
運行 fsck -y /dev/sdb1 修復磁盤  -y參數爲自動確認修復
這條命令也是用fsck修復磁盤是,常使用的命令

10.7.dd

功能:用指定大小的塊拷貝一個文件,並在拷貝的同時進行指定的轉換。

經常使用參數:

if=文件名:輸入文件名,缺省爲標準輸入。即指定源文件。< if=input file >
of=文件名:輸出文件名,缺省爲標準輸出。即指定目的文件。< of=output file > bs=bytes:同時設置讀入/輸出的塊大小爲bytes個字節。 

注意:一般只用當輸出文件是磁盤或磁帶時纔有效,即備份到磁盤或磁帶時纔有效。
count=blocks:僅拷貝blocks個塊,塊大小等於ibs指定的字節數。 

示例: 

#將本地的/dev/mapper/VolGroup-lv01整盤備份到/dev/hdd,注意不要備份到根目錄

[root@localhost ~]# dd if=/dev/mapper/VolGroup-lv01 of=/dev/mapper/VolGroup-lv_root

#將/dev/mapper/VolGroup-lv01全盤數據備份到指定路徑的image文件

[root@localhost ~]# dd if=/dev/mapper/VolGroup-lv01 of=/root/image

#將備份文件恢復到指定盤

[root@localhost ~]# dd if=/root/image of=/dev/mapper/VolGroup-lv01

#備份/dev/mapper/VolGroup-lv01全盤數據,並利用gzip工具進行壓縮,保存到指定路徑

[root@localhost ~]# dd if=/dev/mapper/VolGroup-lv01 |gzip > /root/image.gz

#將壓縮的備份文件恢復到指定盤

[root@localhost ~]# gzip -dc /root/image.gz |dd of=/dev/mapper/VolGroup-lv01

#備份磁盤開始的512個字節大小的MBR信息到指定文件:

[root@localhost ~]# dd if=/dev/mapper/VolGroup-lv_root of=/root/image count=1 bs=512

count=1指僅拷貝一個塊;bs=512指塊大小爲512個字節。

#恢復:

[root@localhost ~]# dd -if=/root/image of=/dev/mapper/VolGroup-lv01

#拷貝內存內容到硬盤

[root@localhost ~]# dd if=/dev/mem of=/root/mem.bin bs=1024(指定塊大小爲1k)

#拷貝光盤內容到指定文件夾,並保存爲cd.iso文件

[root@localhost ~]# dd if=/dev/cdrom(hdc) of=/root/cd.iso

#增長swap分區文件大小

第一步:建立一個大小爲256M的文件:

[root@localhost ~]# dd if=/dev/zero of=/swapfile bs=1024 count=262144

第二步:把這個文件變成swap文件:

[root@localhost ~]# mkswap /swapfile

第三步:啓用這個swap文件:

[root@localhost ~]#  swapon /swapfile

第四步:編輯/etc/fstab文件,使在每次開機時自動加載swap文件:

/swapfile swap swap default 0 0

#銷燬磁盤數據

[root@localhost ~]# dd if=/dev/urandom of=/dev/hda1

注意:利用隨機的數據填充硬盤,在某些必要的場合能夠用來銷燬數據。

#測試硬盤的讀寫速度

[root@localhost ~]# dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file

[root@localhost ~]# dd if=/root/1Gb.file bs=64k | dd of=/dev/null

經過以上兩個命令輸出的命令執行時間,能夠計算出硬盤的讀、寫速度。

#肯定硬盤的最佳塊大小:

[root@localhost ~]# dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file

[root@localhost ~]# dd if=/dev/zero bs=2048 count=500000 of=/root/1Gb.file

[root@localhost ~]# dd if=/dev/zero bs=4096 count=250000 of=/root/1Gb.file

[root@localhost ~]# dd if=/dev/zero bs=8192 count=125000 of=/root/1Gb.file

經過比較以上命令輸出中所顯示的命令執行時間,便可肯定系統最佳的塊大小。

#修復硬盤:

[root@localhost ~]# dd if=/dev/sda of=/dev/sda 或dd if=/dev/hda of=/dev/hda

當硬盤較長時間(一年以上)放置不使用後,磁盤上會產生magnetic flux point,當磁頭讀到這些區域時會遇到困難,並可能致使I/O錯誤。當這種狀況影響到硬盤的第一個扇區時,可能致使硬盤報廢。上邊的命令有可能使這些數 據起死回生。而且這個過程是安全、高效的。

#利用netcat遠程備份

[root@localhost ~]# dd if=/dev/hda bs=16065b | netcat < targethost-IP > 1234

#在源主機上執行此命令備份/dev/hda

[root@localhost ~]# netcat -l -p 1234 | dd of=/dev/hdc bs=16065b

#在目的主機上執行此命令來接收數據並寫入/dev/hdc

[root@localhost ~]# netcat -l -p 1234 | bzip2 > partition.img

[root@localhost ~]# netcat -l -p 1234 | gzip > partition.img

以上兩條指令是目的主機指令的變化分別採用bzip二、gzip對數據進行壓縮,並將備份文件保存在當前目錄。

#將一個很大的視頻文件中的第i個字節的值改爲0x41(也就是大寫字母A的ASCII值)

echo A | dd of=bigfile seek=$i bs=1 count=1 conv=notrunc

10.8.dumpe2fs

功能:顯示ext2/ext3/ext4文件系統信息

語法:dumpe2fs [ -bfhixV ] [ -o superblock=superblock ] [ -o blocksize=blocksize ] device

命令描述:顯示device中文件系統的超級塊和塊組信息

經常使用選項:

-b    打印文件系統中的壞塊
-o    不經常使用,檢查嚴重損壞文件系統時指定
-f    強制顯示全部信息,即使dumpe2fs對有些文件系統功能標識不能識別。
- i    顯示image文件系統信息。device指定image文件的路徑
-h    只顯示超級塊信息
-x    將已分組的塊的數量用十六進制顯示
-v    顯示dumpe2fs的版本號並推出
示例:

dumpe2fs查看/dev/sda1的文件系統信息
[root@localhost ~]# dumpe2fs /dev/sda1


10.9.dump

功能:備份工具語法:dump [-cnu][-0123456789][-b <區塊大小>][-B <區塊數目>][-d <密度>][-f <設備名稱>][-h <層級>][-s <磁帶長度>][-T <日期>][目錄或文件系統] 或 dump [-wW]

經常使用選項:

-0123456789  備份的層級。
-b<區塊大小>  指定區塊的大小,單位爲KB。
-B<區塊數目>  指定備份卷冊的區塊數目。
-c  修改備份磁帶預設的密度與容量。
-d<密度>  設置磁帶的密度。單位爲BPI。
-f<設備名稱>  指定備份設備。
-h<層級>  當備份層級等於或大雨指定的層級時,將不備份用戶標示爲"nodump"的文件。
-n  當備份工做須要管理員介入時,向全部"operator"羣組中的使用者發出通知。
-s<磁帶長度>  備份磁帶的長度,單位爲英尺。
-T<日期>  指定開始備份的時間與日期。
-u  備份完畢後,在/etc/dumpdates中記錄備份的文件系統,層級,日期與時間等。
-w  與-W相似,但僅顯示須要備份的文件。
-W  顯示須要備份的文件及其最後一次備份的層級,時間與日期。
示例:備份文件到磁帶

# dump -0 -u /dev/tape /home/
其中"-0"參數指定的是備份等級"-u"要求備份完畢以後將相應的信息存儲到文件 /etc/dumpdates 留做記錄



10.10.mkfs

功能:在設備上建立文件系統

語法:mkfs [options] device

device 爲要在其上面建立文件系統的設備的名稱。若是設備名在/etc/fstab中,則可使用該設備的掛載點來替代設備名,例如:用/home代替/dev/sda2
全局選項

-t fstype              fstype是要建立的文件系統的類型,如ext三、ext4等,不一樣版本的Linux具備不一樣的默認文件系統

-V                       顯示更多輸出,包括文件系統的相關信息
示例: 

常見的文件系統類型

[root@localhost ~]# ls /sbin/mkfs.*

/sbin/mkfs.bfs    /sbin/mkfs.ext3    /sbin/mkfs.minix  /sbin/mkfs.vfat

/sbin/mkfs.cramfs  /sbin/mkfs.ext4    /sbin/mkfs.msdos

/sbin/mkfs.ext2    /sbin/mkfs.ext4dev  /sbin/mkfs.ntfs

$ mkfs -t vfat /dev/sdb1

mkfs.vfat 3.0.13 (30 Jun 2012)

格式化爲fat32格式

$ mkfs -V -t vfat /dev/sdb1

mkfs (util-linux 2.20.1)

mkfs.vfat /dev/sdb1 

mkfs.vfat 3.0.13 (30 Jun 2012)

建立文件系統,並顯示信息,此處-V必須放在-t前面

$ mkfs.vfat -v /dev/sdb1

mkfs.vfat 3.0.13 (30 Jun 2012)

Auto-selecting FAT32 for large filesystem

/dev/sdb1 has 255 heads and 63 sectors per track,

logical sector size is 512,

using 0xf8 media descriptor, with 3887667 sectors;

file system has 2 32-bit FATs and 8 sectors per cluster.

FAT size is 3792 sectors, and provides 485006 clusters.

There are 32 reserved sectors.

Volume ID is b0f15e23, no volume label.

用特定選項建立文件系統,並顯示建立信息,注意此處-v是小寫

Tips

1.建立文件系統須要有root權限

2.fdisk -l命令可查看文件系統


10.11.partprobe

功能:分區探測

這個命令可使操做系統不須要重啓而使新的磁盤分區生效。
經常使用選項:

-d 不更新內核
-s 顯示磁盤分區彙總信息
-h 顯示幫助信息
-v 顯示版本信息
示例:

partprobe /dev/sdb



10.12.e2fsck

功能:磁盤修復

經常使用選項:

-a: 檢查 partition,如發現問題會自動修復。
-b: 設定 superblock 位置。 www.2cto.com 
-B size: 指定 size 做爲區塊大小。
-c: 檢查 partition 是否有壞軌。
-C file: 將檢查結果儲存到 file。
-d: 輸出 e2fsck debug 結果。
-f: e2fsck 預設只會對錯誤的檔案系統檢查,加上 -f 是強制檢查。
-F: 在檢查前將硬盤的 buffer cache 清空,避免發生錯誤。
-l list: 記錄了壞軌區塊加入 list 中。
-d : 打印 e2fsck 的 debug 結果。
-f : 強制檢查。
-n: 以 (read-only) 開啓檔案系統
-p: 關閉互動模式,若有問題自動修復,等同 -a。
-v: 顯示詳細報告。
-y: 啓用使用者互動模式。
示例:


檢查 /dev/mapper/VolGroup00-LogVol02 是否有問題,如發現問題便自動修復:
e2fsck -a  /dev/mapper/VolGroup00-LogVol02
執行 e2fsck 或 fsck 前請先 umount partition,不然有機會令檔案系統毀損。
分區忙的狀況,須要將全部涉及該分區的進程殺掉,有個快速的方法是執行 fuser -k /home 。
若是須要對根目錄 (/) 進行檢查及修復,便須要進入 singal user mode 執行。最後別忘了將分區mount上。



10.13.mkswap

功能:設置交換分區(swap area)

語法:mkswap [-cf][-v0][-v1][設備名稱或文件][交換區大小]

經常使用選項:

c 創建交換區前,先檢查是否有損壞的區塊。
-f 在SPARC電腦上創建交換區時,要加上此參數。

-v0 創建舊式交換區,此爲預設值。

-v1 創建新式交換區。
[交換區大小] 指定交換區的大小,單位爲1024字節。

10.14.swapon/swapoff
swapon

功能:開啓swap使用方式:
/sbin/swapon -a [-v]
/sbin/swapon [-v] [-p priority] specialfile ...
/sbin/swapon [-s]
經常使用選項:

-h 幫助
-V 顯示版本訊息
-s 顯示簡短的裝置訊息
-a 自動啓動全部SWAP裝置
-p 設定優先權,你能夠在0到32767中間選一個數字給他。或是在 /etc/fstab 裏面加上 pri=[value] ([value]就是0~32767中間一個數字),而後你就能夠很方便的直接使用 swapon -a 來啓動他們,並且有優先權設定。
swapoff

功能:關閉swap

語法:swapoff[必要參數][選擇參數]

經常使用選項:必要參數
-a 關閉全部交換設備
選擇參數
-h 幫助信息
-V 版本信息
示例: 

[root@localhost ~]# sfdisk  -l  顯示分區信息
關閉閉交換分區。
[root@hx ~]# swapoff /dev/sda2 // 關閉交換分區

10.15.sync

功能:同步工具,含義爲迫使緩衝塊數據當即寫盤並更新超級塊。

其中包含已修改的 i-node、已延遲的塊 I/O 和讀寫映射文件。
使用場合:1.在關機或者開機以前最好多執行這個幾回,以確保數據寫入硬盤。

2.掛載時,須要很長時間的操做動做(好比,cp 大文件,檢測文件),在這個動做以後接sync。

3.卸載U盤或其餘存儲設備,須要很長時間,使用sync。
10.16.resize2fs

功能:ext2/ext3/ext4 文件系統增長空間大小工具

經常使用選項:

-d:打開調試特性; 

-p:打印已完成的百分比進度條;

 -f:強制執行調整大小操做,覆蓋掉安全檢查操做; 

-F:開始執行調整大小前,刷新文件系統設備的緩衝區。 參數 

示例: 

resize2fs /dev/vbirdvg/vbirdlv 
resize2fs 1.39 (29-May-2006) Filesystem at /dev/vbirdvg/vbirdlv is mounted on /mnt/lvm; on-line resizing Performing an on-line resize of /dev/vbirdvg/vbirdlv to 2191360 (4k) blocks. The filesystem on /dev/vbirdvg/vbirdlv is now 2191360 blocks long.

10.17.hexdump

功能:二進制文件查看工具

能夠將二進制文件轉換爲ASCII、八進制、十進制、十六進制格式進行查看。
命令路徑所在:/usr/bin/hexdump

語法格式:hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]

參數

長參數

描敘

-b

每一個字節顯示爲8進制。一行共16個字節,一行開始以十六進制顯示偏移值

-c

每一個字節顯示爲ASCII字符

-C

每一個字節顯示爲16進制和相應的ASCII字符

-d

兩個字節顯示爲10進制

-e

格式化輸出

-f

Specify a file that contains one or more newline separated format strings.  Empty lines and lines whose first non-blank character is a hash mark (#) are ignored.

-n

只格式前n個長度的字符

-o

兩個字節顯示爲8進制

-s

從偏移量開始輸出

-v

The -v option causes hexdump to display all input data.  Without the -v option, any number of groups of output lines, which would be identical to the immediately preceding group of output lines

-x

雙字節十六進制顯示

示例: 

查看hexdump命令幫助信息

[root@localhost ~]# man hexdump

以8進制顯示文件裏面的字符

[root@localhost ~]# cat >test.txt

ABCDEF

GHLJKM

123456

[root@localhost ~]# hexdump -b test.txt  #-b是以8進制顯示

0000000 101 102 103 104 105 106 012 107 110 114 112 113 115 012 061 062

0000010 063 064 065 066 012                                            

0000015

注意:一行共16個字節,一行開始以十六進制顯示偏移值(以下所示,第一行字符串只顯示到D,第十六個字節,後面的F12*DFDF換行顯示)

[root@localhost ~]# cat > test.txt

ABCDEFGHIJKLMNODF12*DFDF

[root@localhost ~]# hexdump -b test.txt 

0000000 101 102 103 104 105 106 107 110 111 112 113 114 115 116 117 104

0000010 106 061 062 052 104 106 104 106 012                            

0000019

[root@localhost ~]# hexdump -c test.txt 

0000000  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  D

0000010  F  1  2  *  D  F  D  F  \n                            

0000019

以ASCII字符顯示文件中字符

hexdump 以ASCII字符顯示時,能夠輸出換行符,這個功能能夠用來檢查文件是Linux的換行符格式仍是Widows格式換行符。以下所示

clip_image0020.6356517855190631.png 

以16進制和相應的ASCII字符顯示文件裏的字符
[root@localhost ~]# hexdump -C test.txt 
00000000  41 42 43 44 45 46 47 48  49 4a 4b 4c 4d 4e 4f 44  |ABCDEFGHIJKLMNOD|
00000010  46 31 32 2a 44 46 44 46  0a                      |F12*DFDF.|
00000019
只格式文件中前n個字符
[root@localhost ~]# hexdump -C -n 5 test.txt
00000000  41 42 43 44 45                                    |ABCDE|
00000005
以偏移量開始格式輸出。以下所示指定參數-s 5 ,前面的ABCDE字符沒有了
[root@localhost ~]# hexdump -C -s 5 test.txt 
00000005  46 47 48 49 4a 4b 4c 4d  4e 4f 44 46 31 32 2a 44  |FGHIJKLMNODF12*D|
00000015  46 44 46 0a                                      |FDF.|
00000019
相關文章
相關標籤/搜索