每天一个Linux 命令 - dd

dd

  • 将/dev/sda1全盘数据备份到指定路径的image文件
    dd if=/dev/sda1 of=/root/image

  • 将备份文件恢复到指定盘
    dd if=/root/image of=/dev/sda1

  • 备份/dev/sda1全盘数据,并利用gzip工具进行压缩,保存到指定路径
    dd if=/dev/sda1 | gzip > /root/image.gz

  • 将压缩的备份文件恢复到指定盘
    gzip -dc /root/image.gz | dd of=/dev/sda1

  • 销毁磁盘数据
    dd if=/dev/urandom of=/dev/sda1
    注意:利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据。

  • 测试硬盘的读写速度
    dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file
    dd if=/root/1Gb.file bs=64k | dd of=/dev/null
    通过以上两个命令输出的命令执行时间,可以计算出硬盘的读、写速度。

cc@MyLinux:~/test$ dd if=/dev/zero of=hello bs=1M count=1024 
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 11.7969 s, 91.0 MB/s
  • 利用netcat远程备份
    dd if=/dev/sda1 bs=16065b | netcat < targethost-IP > 1234
    在源主机上执行此命令备份/dev/sda1
    netcat -l -p 1234 | dd of=/dev/sda1 bs=16065b
    在目的主机上执行此命令来接收数据并写入/dev/sda1
    netcat -l -p 1234 | bzip2 > partition.img
    netcat -l -p 1234 | gzip > partition.img
    以上两条指令是目的主机指令的变化分别采用bzip2、gzip对数据进行压缩,并将备份文件保存在当前目录。

  • 拷贝文件
    dd if=./file1 of=../file2
    把当前目录下的file1 拷贝到上一级目录下并且重命名为file2

/dev/zero 是一个输入设备,你可你用它来初始化文件。该设备无穷尽地提供0,可以使用任何你需要的数目——设备提供的要多的多。他可以用于向设备或文件写入字符串0

/dev/null 它是空设备,也称为位桶(bit bucket)。任何写入它的输出都会被抛弃。如果不想让消息以标准输出显示或写入文件,那么可以将消息重定向到位桶

sudo cat /dev/null > /var/log/**.log 删除大的日志文件,比较快

你可能感兴趣的:(每天一个Linux 命令 - dd)