Команда dd в Linux

Linux 命令大全Энциклопедия команд Linux

Команда dd в Linux используется для чтения, преобразования и вывода данных.

dd может читать данные из стандартного ввода или файла, преобразовывать данные в соответствии с заданным форматом, а затем выводить в файл, устройство или стандартный вывод.

Описание параметра:

  • if=file name: имя входного файла, по умолчанию стандартный ввод. То есть указать исходный файл.
  • of=file name: имя выходного файла, по умолчанию стандартный вывод. То есть указать целевой файл.
  • ibs=bytes: читать по bytes байт за раз, т.е. указать размер блока в bytes байт.
    obs=bytes: выводить по bytes байт за раз, т.е. указать размер блока в bytes байт.
    bs=bytes: одновременно установить размер блока ввода/вывода в bytes байт.
  • cbs=bytes: преобразовывать по bytes байт за раз, т.е. указать размер буфера преобразования.
  • skip=blocks: пропустить blocks блоков с начала входного файла перед началом копирования.
  • seek=blocks: пропустить blocks блоков с начала выходного файла перед началом копирования.
  • count=blocks: скопировать только blocks блоков, при этом размер блока равен количеству байт, указанному в ibs.
  • conv=<keyword>, ключевые слова могут быть следующих 11 типов:
    • conversion: преобразовать файл с указанными параметрами.
    • ascii: преобразовать EBCDIC в ASCII
    • ebcdic: преобразовать ASCII в EBCDIC
    • ibm: преобразовать ASCII в альтернативный EBCDIC
    • block: преобразовать каждую строку к длине cbs, дополняя недостающую часть пробелами
    • unblock: сделать длину каждой строки равной cbs, дополняя недостающую часть пробелами
    • lcase: преобразовать символы верхнего регистра в символы нижнего регистра
    • ucase: преобразовать символы нижнего регистра в символы верхнего регистра
    • swap: поменять местами каждую пару входных байтов
    • noerror: не останавливаться при возникновении ошибки
    • notrunc: не усекать выходной файл
    • sync: дополнить каждый входной блок до ibs байтов, заполняя недостающую часть символами null (NUL).
  • --help: отобразить справочную информацию
  • --version: отобразить информацию о версии

Примеры

Чтобы создать загрузочный диск в Linux, можно использовать следующую команду:

dd if=boot.img of=/dev/fd0 bs=1440k 

Преобразуйте все английские буквы в файле testfile в верхний регистр, затем запишите результат в файл testfile_1; для этого используйте следующую команду в командной строке:

dd if=testfile_2 of=testfile_1 conv=ucase 

Содержимое файла testfile_2:

$ cat testfile_2 #testfile_2的内容  
HELLO LINUX!  
Linux is a free unix-type opterating system.  
This is a linux testfile!  
Linux test 

После завершения преобразования содержимое файла testfile_1 выглядит следующим образом:

$ dd if=testfile_2 of=testfile_1 conv=ucase #使用dd 命令,大小写转换记录了0+1 的读入  
记录了0+1 的写出  
95字节(95 B)已复制,0.000131446 秒,723 KB/s  
cmd@hdd-desktop:~$ cat testfile_1 #查看转换后的testfile_1文件内容  
HELLO LINUX!  
LINUX IS A FREE UNIX-TYPE OPTERATING SYSTEM.  
THIS IS A LINUX TESTFILE!  
LINUX TEST #testfile_2中的所有字符都变成了大写字母 

Считать строку со стандартного устройства ввода, преобразовать строку в верхний регистр и затем вывести её на стандартное устройство вывода. Используемая команда:

dd conv=ucase 

После ввода вышеуказанной команды нажмите клавишу Enter, введите строку, снова нажмите клавишу Enter и нажмите сочетание клавиш Ctrl+D для выхода. Появится следующий результат:

$ dd conv=ucase 
Hello Linux! #输入字符串后按回车键  
HELLO LINUX! #按组合键Ctrl+D退出,转换成大写结果  
记录了0+1 的读入  
记录了0+1 的写出  
13字节(13 B)已复制,12.1558 秒,0.0 KB/s 

Linux 命令大全Энциклопедия команд Linux

Другие расширения