磁盘文件练习

Posted GavenLee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了磁盘文件练习相关的知识,希望对你有一定的参考价值。

1、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 写完成前,物理写入输出文件

创建空洞文件

磁盘文件练习_dd

备份整盘

dd if=/dev/sdx of=/dev/sdy

恢复文件到指定盘

dd if=/dev/sdy 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 if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000

磁盘文件练习_字符转换_02

测试硬盘读速度

dd if=/root/1Gb.file bs=64k | dd of=/dev/null

磁盘文件练习_字符转换_03

2、创建一个2Gb的文件系统,块大小为2048byte 预留1%的可用空间,文件系统ext4,卷标为test,默认有acl挂载选项,开机自动挂载

磁盘文件练习_数据_04

磁盘文件练习_字符转换_05

2、写一个脚本,完成如下功能: (1) 列出当前系统识别到的所有磁盘设备 (2) 如磁盘数量为1,则显示其空间使用信息,否则,则显示最后一个磁盘上的空间使用信息

#!/bin/bash
Disk_node=`lsblk |grep -e "sd[a-z] " | wc -l`
if [ "$Disk_node" -eq 1 ];
then
fdisk -l /dev/sda
else
fdisk -l /dev/`lsblk |grep -oe "sd[a-z] "| tail -n1`
fi

磁盘文件练习_文件系统_06

磁盘文件练习_dd_07


以上是关于磁盘文件练习的主要内容,如果未能解决你的问题,请参考以下文章

磁盘文件练习

随堂练习 磁盘管理文件系统

磁盘管理和脚本交互小练习

磁盘和文件系统常见练习

磁盘和文件系统常见练习

Linux 练习题-3文件与磁盘 问答