1.相关命令:lsblk、fdisk、gdisk、parted、mkfs、mke2fs、blkid、e2label、findfs、tune2fs、dumpe2fs、fsck、e2fsck、mount、swapon、swapoff、mkisofs、wodim、free、df、du、dd。
2.列出块设备:lsblk
3.fdisk:创建分区,创建MBR分区,也支持GPT,对于一块硬盘,最多只能管理15分区。
· p 分区列表
t 更改分区类型
n 创建新分区
d 删除分区
w 保存并退出
q 不保存并退出
4.gdisk:创建GPT分区
5.parted:命令操作都是实时生效的,请小心操作
增加分区,同步分区表
partx -a /dev/sda
删除分区,同步分区表
partx -d --nr 6-8 /dev/sda
6.mkfs:格式化分区类型:有数据磁盘请先进行备份!
设置卷标可以加上-L 例如:[root@nzg7 ~]# mkfs.ext4 -L luyubo /dev/sdb
7.mke2fs:ext系列文件系统专用管理工具
-t {ext2|ext3|ext4}
-b {1024|2048|4096}
-L‘LABEL‘ 卷标
-j 等于-t ext3
mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3 -i
#: 为数据空间中每多少个字节创建一个inode;此大 小不应该小于block的大小
-N #:为数据空间创建个多少个inode
-I 一个inode记录大小128---4096
-m #: 默认5%,为管理人员预留空间占总空间的百分比
-O FEATURE[,...]:启用指定特性
-O ^FEATURE :关闭指定特性
8.blkid:查看磁盘UUID
9.e2label管理ext系列文件系统的卷标
10.findfs:查找分区,根据所给出的卷标或者UUID来查找整个磁盘,搜索是否有匹配的卷标或者UUID
11. tune2fs: 重新设定ext系列文件系统可调整参数的值
-l:查看指定文件系统超级块信息;
super block -L ‘LABEL‘:修改卷标
-m #:修预留给管理员的空间百分比
-j: 将ext2升级为ext3
-O: 文件系统属性启用或禁用,
–O ^has_journal
-o: 调整文件系统的默认挂载选项,
–o ^acl -U UUID: 修改UUID号
12. dumpe2fs: -h:查看超级块信息(分组信息),分区用分组管理
13. fsck:文件系统检查
-a: 自动修复错误
-r: 交互式修复错误
14.e2fsck: ext系列文件专用的检测修复工具
-y:自动回答为yes
-f:强制修复
15.mount: 将额外文件系统与根文件系统某现存的目录建立起关联 关系,进而使得此目录做为其它文件访问入口的行为
-t vsftype:指定要挂载的设备上的文件系统类型
-r: readonly,只读挂载
-w: read and write, 读写挂载
-n: 不更新/etc/mtab,相当于#mount
-a:自动挂载所有支持自动挂载的设备(定义在了/etc/fstab 文件中,且挂载选项中有auto功能)
-L ‘LABEL‘: 以卷标指定挂载设备
-U ‘UUID‘: 以UUID指定要挂载的设备
-B, --bind: 绑定目录到另一个目录上
查看内核追踪到的已挂载的所有设备: cat /proc/mounts
-o options:(挂载文件系统的选项),多个选项使用逗号分隔
async:异步模式
sync:同步模式,内存更改时,同时写磁盘
atime/noatime:包含目录和文件
diratime/nodiratime:目录的访问时间戳
auto/noauto:是否支持自动挂载,是否支持-a选项
exec/noexec:是否支持将文件系统上运行应用程序
dev/nodev:是否支持在此文件系统上使用设备文件
suid/nosuid:不否支持suid和sgid权限
remount:重新挂载
ro:只读
rw:读写
user/nouser:是否允许普通用户挂载此设备,默认管理员才能挂载
acl:启用此文件系统上的acl功能
Defaults:相当于rw, suid, dev, exec, auto, nouser, async
16.swapon:交换分区激活
Swapon -a
17.swapoff:交换分区关闭
18.mkisofs:创建iso文件
19.wodim:刻录光盘
wodim –v –eject centos.iso
20.free:查看内存利用率
-m: 以MB为单位
-g: 以GB为单位
21.df:查看当前磁盘利用率
22.du:查看目录大小,一般可以sh使用
23.dd:一般用于写入数据
dd命令:convert and copy a file
用法:
dd if=/PATH/FROM/SRC of=/PATH/TO/DEST
bs=#:block size, 复制单元大小
count=#:复制多少个bs of=file 写到所命名的文件而不是到标准输入
of=file 写到所命名的文件而不是到标准输出
if=file 从所命名文件读取而不是从标准输入
bs=size 指定块大小(既是是ibs也是obs)
ibs=size 一次读size个byte
obs=size 一次写size个byte
cbs=size 一次转化size个byte
skip=blocks 从开头忽略blocks个ibs大小的块
seek=blocks 从开头忽略blocks个obs大小的块
count=n 只拷贝n个记录
conv=conversion[,conversion...] 用指定的参数转换文件。
转换参数:
ascii 转换 EBCDIC 为 ASCII
ebcdic 转换 ASCII 为 EBCDIC
block 转换为长度为 cbs 的记录,不足部分用空格填充。
unblock 替代cbs长度的每一行尾的空格为新行
lcase 把大写字符转换为小写字符
ucase 把小写字符转换为大写字符
swab 交换输入的每对字节
noerror 出错时不停止
notrunc 不截短输出文件
sync 把每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐
磁盘拷贝:
dd if=/dev/sda of=/dev/sdb
备份MBR:
dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1
破坏MBR中的bootloader:
dd if=/dev/zero of=/dev/sda bs=64 count=1 seek=446
有一个大与2K的二进制文件fileA。现在想从第64个字节位置 开始读取,需要读取的大小是128Byts。又有fileB, 想把上 面读取到的128Bytes写到第32个字节开始的位置,替换 128Bytes,请问如何实现?
#dd if=fileA of=fileB bs=1 count=128 skip=63 seek=31 conv=notrunc
备份:
dd if=/dev/sdx of=/dev/sdy
将本地的/dev/sdx整盘备份到/dev/sdy
dd if=/dev/sdx of=/path/to/image
将/dev/sdx全盘数据备份到指定路径的image文件
dd if=/dev/sdx | gzip >/path/to/image.gz
备份/dev/sdx全盘数据,并利用gzip工具进行压缩,保存到指定路径
恢复:
dd if=/path/to/image of=/dev/sdx
将备份文件恢复到指定盘
gzip -dc /path/to/image.gz | dd of=/dev/sdx
将压缩的备份文件恢复到指定盘
拷贝内存资料到硬盘
dd if=/dev/mem of=/root/mem.bin bs=1024
将内存里的数据拷贝到root目录下的mem.bin文件
从光盘拷贝iso镜像
dd if=/dev/cdrom of=/root/cd.iso
拷贝光盘数据到root文件夹下,并保存为cd.iso文件
销毁磁盘数据
dd if=/dev/urandom of=/dev/sda1
利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据 。执行此操作以后,/dev/sda1将无法挂载,创建和拷贝操作 无法执行。
测试硬盘读写速度
dd if=/root/1Gb.file bs=64k | dd of=/dev/null
dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000
通过上两个命令输出的执行时间,可以计算出测试硬盘的读/写 速度
修复硬盘
dd if=/dev/sda of=/dev/sda
当硬盘较长时间(比如1,2年)放置不使用后,磁盘上 会产生消磁点。当磁头读到这些区域时会遇到困难,并可 能导致I/O错误。当这种情况影响到硬盘的第一个扇区时 ,可能导致硬盘报废。上边的命令有可能使这些数据起死 回生。且这个过程是安全,高效的。
24.扫描磁盘,虚拟机开机状态无法检查到新磁盘。
[root@localhost ~]# echo "- - -" > /sys/class/scsi_host/host2/scan
25. 查看mbr
[root@localhost ~]# hexdump -C -n 512 /dev/sda
26.备份mbr
27.恢复mbr
28.破坏 boot loader
[root@localhost ~]# dd if=/dev/zero of=/dev/sdd bs=1 count=2 skip=500 seek=510
hexdump -C -v -n 512 /dev/sdd
29.清除分区标识
[root@localhost ~]# dd if=/dev/zero of=/dev/sdd bs=1 count=2 skip=510 seek=510
30.恢复分区标识
[root@localhost ~]# dd if=/dev/zero of=/dev/sdd bs=1 count=64 skip=446 seek=446
31.恢复分区表
[root@localhost ~]# dd if=/dev/zero of=/dev/sdd bs=1 count=64 skip=446 seek=446
32.创建swap
1.设置文件类型为swap
2.清空swapfile文件
3.使用mkswap写入签名
4.写入/etc/fstab文件中,pri设置swap的优先级
/dev/sdb1 swap swap defaults,pri=10 0 0
5.使用swapon -s查看当前已经有swap,然后使用swapon -a读取配置文件生效
6.使用swapon -s查看文件类型
33.实现loop设备和文件文件关联
1.设置文件文件大小
[root@localhost mnt]# dd if=/dev/zero of=/home/bigfile bs=1M count=500
2.关联设备文件
[root@localhost mnt]# losetup /dev/loop1 /home/bigfile
3.设置文件 文件系统
[root@localhost mnt]# mkfs.ext4 /home/bigfile
4.挂载loop设备到目录
[root@localhost mnt]# mount /dev/loop1 /mnt/bigfile/
5.查看loop挂载关联设备
[root@localhost mnt]# losetup -a
34.设置磁盘配额
1.编辑/etc/fstab
/dev/sdb1 /home ext4 usrquota,grpquota 0 0
2.重新载入/etc/fstab配置文件
3.创建配额数据库
4.启用数据库
5.配置配额项
或者使用命令setquota luyubo1 3M 5M 0 0 /home
6.测试
先使用dd写入数据
dd if=/dev/zero of=bb.txt bs=1M count=3
35.实现软件raid
1.设置文件类型为:Linux raid auto
2.创建raid设备
3.格式化md0文件系统
4.写入至/etc/fstab文件内。
5.生成配置文件
6.重启raid服务
7.测试
8.删除raid
[root@localhost ~]# vim /etc/fstab #删除挂载信息
36.逻辑卷管理
1.创建物理卷使用pvcreate
2.创建卷组并给卷组增加分区vgcreate
3.创建新的逻辑卷使用lvcreate
1.新建逻辑卷
设置文件类型:8e
创建文件系统
挂载
扩展逻辑卷
创建块设备
本文出自 “Linux学习之路” 博客,请务必保留此出处http://luyubo.blog.51cto.com/7634254/1844529
原文地址:http://luyubo.blog.51cto.com/7634254/1844529