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


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 -h

选项:

-b                    sector size (512, 1024, 2048 or 4096)  #扇区大小

-c                                switch off DOS-compatible mode  #关掉DOS-compatible模式

-h                                print help  #打印帮助信息

-u                    give sizes in sectors instead of cylinders  #在扇区给出尺寸

-v                                print version  #打印版本

-C               specify the number of cylinders  #给柱面指定数量

-H               specify the number of heads    #指定头的数量

-S               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 排除设备 (default: RAM disks)
-f, --fs             显示文件系统信息
-h, --help           显示帮助信息
-i, --ascii          use ascii characters only
-m, --perms          显示权限信息
-l, --list           使用列表格式显示
-n, --noheadings     不显示标题
-o, --output   输出列
-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

以上两条指令是目的主机指令的变化分别采用bzip2、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是要创建的文件系统的类型,如ext3、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_image002磁盘与文件系统命令(10)_第1张图片 

以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