命令(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
-c switch off DOS-compatible mode #关掉DOS-compatible模式
-h print help #打印帮助信息
-u
-v print version #打印版本
-C
-H
-S
示例:
# 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格式换行符。如下所示
以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