Управління дисками

Команда Linux dd

Команда Linux dd
“Dd” - це інструмент CLI для Linux. Тепер поточна версія “dd” є частиною основних модулів GNU, тобто тією, що є у кожній системі UNIX / Linux. Основна мета цього інструменту - конвертувати та копіювати файли. Однак він зовсім інший, ніж інші засоби копіювання файлів, такі як “cp”.

dd особливості

“Dd” може використовуватися для різних цілей:

dd використання

Ось деякі найпоширеніші та найцікавіші вживання “dd”. Звичайно, "dd" набагато спроможніший за ці речі. Якщо вам цікаво, я завжди рекомендую ознайомитися з іншими поглибленими ресурсами на “dd”.

Розташування

який дд

Як вказує результат, при запуску “dd” він запускається з “/ usr / bin / dd”.

Основне використання

Ось структура, якої слідує “dd”.

dd якщо = з =

Наприклад, давайте створимо файл із випадковими даними. У Linux є деякі вбудовані спеціальні файли, які виглядають як звичайні файли, такі як “/ dev / zero”, що створює безперервний потік NULL, “/ dev / random”, що створює безперервні випадкові дані.

dd if = / dev / urandom of = ~ / Desktop / random.txt bs = 1M кол = 5

Найперші варіанти є зрозумілими. Це означає використовувати “/ dev / urandom” як джерело даних та “~ / Desktop / random.txt ”як пункт призначення. Які інші варіанти?

Тут "bs" означає "розмір блоку". Коли dd пише дані, він пише в блоки. За допомогою цієї опції можна визначити розмір блоку. У цьому випадку значення “1M” говорить про те, що розмір блоку становить 1 мегабайт.

“Count” визначає кількість блоків, які слід записати. Якщо це не виправлено, “dd” продовжить процес запису, якщо вхідний потік не закінчиться. У цьому випадку “/ dev / urandom” буде продовжувати генерувати дані нескінченно, тому цей параметр був головним у цьому прикладі.

Резервне копіювання даних

За допомогою цього методу за допомогою “dd” можна скидати дані цілого диска! Все, що вам потрібно, це повідомити привід як джерело.

dd якщо = з =

Якщо ви йдете на такі дії, переконайтесь, що джерелом не є каталог. “Dd” не уявляє, як обробити каталог, тому все не буде працювати.

“Dd” знає лише, як працювати з файлами. Отже, якщо вам потрібна резервна копія каталогу, спочатку використовуйте tar для архівування, а потім використовуйте “dd”, щоб перенести його у файл.

tar cvJf демо.дьоготь.xz DemoDir /

dd if = демо.дьоготь.xz = = / Робочий стіл / резервна копія.img

У наступному прикладі ми виконаємо дуже делікатну операцію: резервне копіювання MBR! Тепер, якщо у вашій системі використовується MBR (Master Boot Record), то вона розташована на перших 512 байтах системного диска: 466 байт для завантажувача, інші для таблиці розділів.

Виконайте цю команду для резервного копіювання запису MBR.

dd if = / dev / sda of = ~ / Desktop / mbr.img bs = 512 кол = 1

Відновлення даних

Для будь-якої резервної копії необхідний спосіб відновлення даних. У разі “dd” процес відновлення дещо відрізняється від будь-яких інших інструментів. Вам доведеться переписати файл резервної копії в подібну папку / розділ / пристрій.

Наприклад, у мене є ця “резервна копія.img ”, що містить файл“ demo.дьоготь.xz ”. Щоб витягти його, я використав таку команду.

dd if = резервна копія.img of = демо.дьоготь.xz

Знову ж таки, переконайтеся, що ви записуєте вихідні дані у файл. Пам’ятайте, що “dd” погано справляється з каталогами?

Подібним чином, якщо для створення резервної копії розділу було використано “dd”, то для його відновлення потрібна буде наступна команда.

dd якщо = з =

Наприклад, як щодо відновлення MBR, який ми створили раніше?

dd якщо = mbr.img of = / dev / sda

Опції “dd”

У якийсь момент у цьому посібнику ви зіткнулися з деякими параметрами "dd", такими як "bs" та "count", вірно? Ну, їх більше. Ось короткий список того, що вони собою являють і як ними користуватися.

  • obs: визначає розмір даних, які слід записувати за раз. Значення за замовчуванням - 512 байт.

  • cbs: визначає розмір даних, які потрібно перетворити за раз.

  • ibs: визначає розмір даних, які слід читати за раз.
  • count: Скопіюйте лише N блоків

  • шукати: Пропустити N блоків на початку виводу

  • skip: Пропустити N блоків на початку введення

conv = ascii: Перетворює введення файлу з EBCDIC на ASCII

conv = ebcdic: Перетворює введення файлу з ASCII на EBCDIC

conv = ibm: перетворює вхідний файл із ASCII на альтернативний EBCDIC

conv = lcase: перетворює введені дані з верхнього регістру в малі

conv = ucase: перетворює введення файлу з нижнього регістру у верхній регістр

conv = swab: поміняйте місцями кожну пару введення

Додаткові опції:

  • nocreat: Не створюйте вихідний файл
  • notruc: Не усікайте вихідний файл
  • noerror: продовжуйте операцію, навіть після помилки
  • fdatasync: Запишіть дані у фізичну пам’ять до завершення процесу
  • fsync: схожий на fdatasync, але також пише метадані
  • iflag: Налаштуйте операцію на основі різних прапорів. Доступні прапори включають: додавання до Додавання даних до виводу

Додаткові опції:

  • directory: Зіткнення з каталогом не вдасться виконати операцію
  • dsync: синхронізоване введення / виведення даних
  • синхронізація: схожа на dsync, але включає метадані
  • nocache: Запити на видалення кешу.
  • nofollow: не слідкуйте за будь-яким символічним посиланням

Додаткові параметри:

  • count_bytes: Подібно до “count = N”
  • search_bytes: Подібно до “шукати = N”
  • skip_bytes: Подібно до “skip = N”

Як ви вже бачили, можна скласти кілька прапорців та опцій в одній команді “dd”, щоб змінити поведінку операції.

dd if = демо.txt = demo1.txt bs = 10 count = 100 conv = ebcdic
iflag = додати, nocache, nofollow, sync

Заключні думки

Робочий процес “dd” досить простий. Однак, щоб “dd” справді сяяв, це вирішувати вам. Існує безліч способів, за допомогою яких творчі способи «dd» можна використовувати для розумних взаємодій.

Для отримання детальної інформації про “dd” та всі її варіанти, зверніться до людини та на інформаційну сторінку.

людина dd
SuperTuxKart for Linux
SuperTuxKart is a great title designed to bring you the Mario Kart experience free of charge on your Linux system. It is pretty challenging and fun to...
Battle for Wesnoth Tutorial
The Battle for Wesnoth is one of the most popular open source strategy games that you can play at this time. Not only has this game been in developmen...
0 A.D. Tutorial
Out of the many strategy games out there, 0 A.D. manages to stand out as a comprehensive title and a very deep, tactical game despite being open sourc...