磁盘常见工具

1、文件系统空间实际真正占用等信息的查看工具 df

df [OPTION]... [FILE]...

-H     以10为单位
-T     文件系统类型
-h     方便读
-i     查看inodes
-P     以Posix兼容的格式输出
 
#范例
[root@centos79_test ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
devtmpfs                devtmpfs  1.9G     0  1.9G   0% /dev
tmpfs                   tmpfs     1.9G     0  1.9G   0% /dev/shm
tmpfs                   tmpfs     1.9G   12M  1.9G   1% /run
tmpfs                   tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        17G  1.7G   16G  10% /
/dev/sda1               xfs      1014M  151M  864M  15% /boot
tmpfs                   tmpfs     378M     0  378M   0% /run/user/0

[root@centos79_test ~]# df -TH
Filesystem              Type      Size  Used Avail Use% Mounted on
devtmpfs                devtmpfs  2.0G     0  2.0G   0% /dev
tmpfs                   tmpfs     2.0G     0  2.0G   0% /dev/shm
tmpfs                   tmpfs     2.0G   13M  2.0G   1% /run
tmpfs                   tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        19G  1.8G   17G  10% /
/dev/sda1               xfs       1.1G  158M  906M  15% /boot
tmpfs                   tmpfs     396M     0  396M   0% /run/user/0

[root@centos79_test ~]# df
Filesystem              1K-blocks    Used Available Use% Mounted on
devtmpfs                  1918644       0   1918644   0% /dev
tmpfs                     1930648       0   1930648   0% /dev/shm
tmpfs                     1930648   11900   1918748   1% /run
tmpfs                     1930648       0   1930648   0% /sys/fs/cgroup
/dev/mapper/centos-root  17811456 1684132  16127324  10% /
/dev/sda1                 1038336  153688    884648  15% /boot
tmpfs                      386132       0    386132   0% /run/user/0

[root@centos79_test ~]# df =P
df: ‘=P’: No such file or directory
[root@centos79_test ~]# df -P
Filesystem              1024-blocks    Used Available Capacity Mounted on
devtmpfs                    1918644       0   1918644       0% /dev
tmpfs                       1930648       0   1930648       0% /dev/shm
tmpfs                       1930648   11900   1918748       1% /run
tmpfs                       1930648       0   1930648       0% /sys/fs/cgroup
/dev/mapper/centos-root    17811456 1684132  16127324      10% /
/dev/sda1                   1038336  153688    884648      15% /boot
tmpfs                        386132       0    386132       0% /run/user/0

2、查看某目录总体空间实际占用状态 du

显示指定目录下面各个子目录的大小,单位为KB

du [OPTION]... DIR

-a  --all               显示所有文件和目录的大小,默认只显示目录大小
-h                      方便读
-s                      总大小
--max-depth=#           指定最大目录层级
-x, --one-file-system   #忽略不在同一个文件系统的目录
#范例
[root@centos79_test ~]# du -sh /*
0	/bin
118M	/boot
0	/data
0	/dev
32M	/etc
40K	/home
0	/lib
0	/lib64
0	/media
0	/mnt
0	/opt
du: cannot access ‘/proc/1634/task/1634/fd/3’: No such file or directory
du: cannot access ‘/proc/1634/task/1634/fdinfo/3’: No such file or directory
du: cannot access ‘/proc/1634/fd/3’: No such file or directory
du: cannot access ‘/proc/1634/fdinfo/3’: No such file or directory
0	/proc
56K	/root
12M	/run
0	/sbin
0	/srv
0	/sys
8.0K	/tmp
1.3G	/usr
233M	/var

[root@centos79_test ~]# du -h -x --max-depth=1 /
32M	/etc
56K	/root
233M	/var
8.0K	/tmp
1.3G	/usr
40K	/home
0	/media
0	/mnt
0	/opt
0	/srv
0	/data
1.6G	/
#df和du的区别
什么时候df >du
空分区

什么时候df < du?
目录内挂载有其它分区时的情况

当删除文件但不释放空间时,有什么不同?
du查看文件空间释放,df查看文件空间不释放

3、工具 dd

dd 命令:转换并复制一个文件

dd if=/PATH/FROM/SRC of=/PATH/TO/DEST  bs=# count=#
if=file                    从所命名文件读取而不是从标准输入
of=file                    写到所命名的文件而不是到标准输出
ibs=size                   一次读size个byte
obs=size                   一次写size个byte
bs=size                    block size, 指定块大小(既是是ibs也是obs)
cbs=size                   一次转化size个byte
skip=blocks                从开头忽略blocks个ibs大小的块
seek=blocks                从开头忽略blocks个obs大小的块
count=n                    复制n个bs
conv=conversion[,conversion...]         用指定的参数转换文件


#conversion 转换参数:
ascii          转换 EBCDIC 为 ASCII
ebcdic         转换 ASCII 为 EBCDIC
lcase          把大写字符转换为小写字符
ucase          把小写字符转换为大写字符
nocreat        不创建输出文件
noerror        出错时不停止
notrunc        不截短输出文件
sync           把每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐
fdatasync      写完成前,物理写入输出文件
#范例
#备份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

#将本地的/dev/sdx整盘备份到/dev/sdy
dd if=/dev/sdx of=/dev/sdy

#将/dev/sdx全盘数据备份到指定路径的image文件
dd if=/dev/sdx of=/path/to/image

#备份/dev/sdx全盘数据,并利用gzip压缩,保存到指定路径
dd if=/dev/sdx | gzip >/path/to/image.gz

#将备份文件恢复到指定盘
dd if=/path/to/image of=/dev/sdx

#将压缩的备份文件恢复到指定盘
gzip -dc /path/to/image.gz | dd of=/dev/sdx

#将内存里的数据拷贝到root目录下的mem.bin文件
dd if=/dev/mem of=/root/mem.bin bs=1024

#拷贝光盘数据到root文件夹下,并保存为cdrom.iso文件
dd if=/dev/cdrom of=/root/cdrom.iso

#销毁磁盘数据
dd if=/dev/urandom of=/dev/sda1

#通过比较dd指令输出中命令的执行时间,即可确定系统最佳的block size大小
dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000
dd if=/dev/zero of=/root/1Gb.file bs=2048 count=500000
dd if=/dev/zero of=/root/1Gb.file bs=4096 count=250000

#测试硬盘写速度
dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000

#测试硬盘读速度
dd if=/root/1Gb.file bs=64k | dd of=/dev/null 

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享