Linux命令-dd的语法及应用

时间:2023-02-05 09:18:45
linux用于创建文件的命令:dd

把指定的输入文件拷贝到指定的输出文件中,并且在拷贝的过程中可以进行格式转换。

1. 基本参数:

if =输入文件(或设备名称)。
of =输出文件(或设备名称)。

ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。
skip = blocks 跳过读入缓冲区开头的ibs*blocks块。
obs = bytes 一次写入bytes字节,即写 入缓冲区的字节数。
bs = bytes 同时设置读/写缓冲区的字节数(等于设置obs和obs)。
cbs = bytes 一次转换bytes字节。
count = blocks 只拷贝输入的blocks块。
conv = ASCII 把EBCDIC码转换为ASCII码。
conv = ebcdic 把ASCII码转换为EBCDIC码。
conv = ibm 把ASCII码转换为alternate EBCDIC码。
conv = blick 把变动位转换成固定字符。
conv = ublock 把固定们转换成变动位
conv = ucase 把字母由小写变为大写。
conv = lcase 把字母由大写变为小写。
conv = notrunc 不截短输出文件。
conv = swab 交换每一对输入字节。
conv = noerror 出错时不停止处理。
conv = sync 把每个输入记录的大小都调到ibs的大小(用ibs填充)。
fdformat命令
低级格式化软盘。
实例:
创建一个100M的空文件

dd if=/dev/zero of=hello.txt bs=100Mcount=1


2. 应用----增加swap分区

Swap分区,即交换区,Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。 其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。例如,在使用Windows系统时,可以同时运行多个程序,当你切换到一个很长时间没有理会的程序时,会听到硬盘“哗哗”直响。这是因为这个程序的内存被那些频繁运行的程序给“偷走”了,放到了Swap区中。因此,一旦此程序被放置到前端,它就会从Swap区取回自己的数据,将其放进内存,然后接着运行。

使用文件创建swap分区

每个块大小为10M, 一共创建1024个block,则总大小为10G的文件。
/dev/zero是一个伪文件,它实际上产生连续不断的null的流(二进制的零流,而不是ASCII型的)。/dev/zero主要的用处是用来创建一个指定长度用于初始化的空文件,像临时交换文件。

1. dd if=/dev/zero of=/swapfile bs=10M count=1024

2. mkswap /swapfile    创建Linux交换文件

3. swapon /swapfile     立即激活/swapfile交换文件

4. 修改/etc/fstab使其启动时自动mount:

在/etc/fstab中增加如下语句:

/swapfile  swap  swap    defaults 0 0


删除swap分区

        有时可能会需要删除swap分区,该如何正确进行删除分区哪?

  • 首先停止swap分区
     
       
       
    1. swapoff   /swapfile
  • 删除swap分区文件
     
       
       
    1. rm -rf /swapfile
  • 删除"/etc/swap"指定文件
     
       
       
    1. sed  -i "/'\/swapfile    swap   swap  defaults 0 0'//"  /etc/fstab 

      这样就可以手工添加和删除swap分区。