GNU/Linux >> Belajar Linux >  >> Linux

Perintah dd Linux Dijelaskan untuk Pemula (8 Contoh)

Terkadang, saat mengerjakan baris perintah di Linux, Anda mungkin perlu melakukan operasi penyalinan sedemikian rupa sehingga data/teks diformat sebelum ditulis ke tujuan. Contoh sederhananya adalah menyalin teks dari file dan menulis versi yang diubah huruf besarnya (bawah ke atas, atau atas ke bawah) ke file tujuan.

Jika Anda telah mencari cara untuk melakukan ini, Anda akan senang mengetahui bahwa ada utilitas baris perintah - dijuluki dd - yang dibangun untuk tujuan ini. Dalam tutorial ini, kita akan membahas cara kerja alat menggunakan beberapa contoh yang mudah dipahami. Namun sebelum kita melakukannya, perlu disebutkan bahwa semua contoh yang disebutkan di sini telah diuji pada Ubuntu 18.04LTS.

Perintah dd Linux

Singkatnya, dd perintah memungkinkan Anda menyalin dan mengonversi file. Alat ini menawarkan beberapa operan yang dapat Anda gunakan untuk menentukan jenis pemformatan yang Anda inginkan. Berikut sintaks umum dari perintah seperti yang dijelaskan pada halaman manualnya:

dd [OPERAND]...
dd OPTION

Contoh tipe T&J berikut akan memberi Anda ide bagus tentang cara kerja perintah dd.

Q1. Bagaimana cara mengubah huruf besar/kecil teks input menggunakan perintah dd?

Misalkan Anda memiliki beberapa baris teks yang ditulis dalam huruf kecil, dan persyaratannya adalah dengan cepat mengubahnya menjadi huruf besar. Anda dapat melakukannya menggunakan konv opsi baris perintah (dengan ucase sebagai nilainya).

Ini contohnya:

Tangkapan layar di atas menunjukkan perintah serta teks input. Kombinasi tombol Ctrl+d digunakan untuk memberi tahu dd bahwa kita telah selesai memasukkan input, dan segera setelah selesai, perintah tersebut menghasilkan output berikut:

Jadi Anda dapat melihat bahwa teks input telah diubah dari huruf kecil ke huruf besar. Tiga baris terakhir hanyalah beberapa statistik terkait operasi.

Catatan :Demikian pula, Anda dapat menggunakan nilai lcase untuk mengubah teks huruf besar menjadi huruf kecil.

Q2. Bagaimana cara membaca dari dan menulis ke file?

Pada contoh pertama di atas, kita memasukkan teks melalui stdin (input standar). Namun, Anda selalu dapat menggunakan file input dan output. Untuk menentukan nama file input dan output, gunakan jika dan dari opsi baris perintah.

Misalnya, jika Anda ingin mengonversi huruf besar teks dalam file1 dan kemudian menuliskannya dalam file2, maka Anda dapat melakukannya dengan cara berikut:

dd if=file1 of=file2 conv=ucase

Q3. Bagaimana cara melewatkan teks saat membaca input?

Jika mau, Anda dapat meminta dd untuk melewati beberapa byte awal saat membaca teks input. Ini dapat dilakukan dengan menggunakan lewati opsi yang membutuhkan nilai numerik. Jika, katakanlah, nilai ini adalah 'N', maka dd akan melewati N blok berukuran ibs pada awal input. Ini membawa kita ke 'ibs', yang juga merupakan opsi dd baris perintah lain yang nilainya menentukan jumlah byte yang dibaca alat dalam satu waktu (default adalah 512).

Jadi misalkan, Anda ingin melewatkan 4 byte pertama dari file input, maka Anda harus mengatur ibs terlebih dahulu ke 4 lalu gunakan 1 sebagai nilai untuk lewati . Ini akan memastikan bahwa alat akan melewati 1 blok 4 byte saat membaca file input.

Jadi Anda dapat melihat bahwa teks hei, dilewati saat membaca file1 - itu sebabnya file tidak muncul di file2.

Q4. Bagaimana cara menukar setiap pasangan byte input dalam output?

Jika ada persyaratan seperti itu, Anda juga dapat menggunakan dd untuk menukar setiap pasangan byte input. Ini dapat dicapai dengan menggunakan swab sebagai nilai untuk konv opsi baris perintah. Tangkapan layar berikut akan memperjelas semuanya:

Q5. Bagaimana membuat dd hanya berfungsi ketika file output belum ada?

Jika persyaratannya adalah perintah dd tidak boleh melakukan apa pun ketika file keluaran sudah ada, maka kondisi ini dapat diterapkan menggunakan excl nilai untuk konv pilihan.

Tangkapan layar berikut menunjukkan kasus penggunaan yang sedang beraksi:

Q6. Bagaimana memastikan file keluaran diperbarui dalam mode penambahan?

Secara default, dd hanya menimpa file output (jika ada). Tetapi jika Anda ingin menambahkan teks, gunakan nilai tambahkan untuk oflag BENDERA dan notrunc untuk konv pilihan.

Misalnya:

dd if=file1 of=file3 oflag=append conv=notrunc

Berikut perintah di atas dalam tindakan:

Q7. Bagaimana cara membuat dd tidak membuat file keluaran?

Jika mau, Anda juga bisa memaksa perintah dd untuk tidak membuat file output jika file yang diberikan dalam perintah tersebut belum ada. Ini dapat dilakukan dengan menggunakan nocreat nilai konv opsi baris perintah.

Misalnya:

Q8. Bagaimana cara mengontrol tingkat informasi yang dicetak di stderr?

Jika mau, Anda juga dapat membatasi jumlah informasi yang dicetak perintah di stderr. Ini dapat dilakukan dengan menggunakan status opsi baris perintah. Misalnya, jika Anda ingin menyembunyikan semuanya kecuali pesan kesalahan, Anda dapat memberikan nilai none ke opsi baris perintah ini:

dd if=file1 of=file3 status=none

Nilai lain yang tersedia adalah noxfer dan kemajuan . Inilah yang dikatakan halaman manual tentang status pilihan:

status=LEVEL
              The  LEVEL  of information to print to stderr; 'none' suppresses
              everything but error messages,  'noxfer'  suppresses  the  final
              transfer  statistics, 'progress' shows periodic transfer statis?
              tics

Kesimpulan

Contoh yang dibahas dalam tutorial ini hanya menggores permukaan saat mengeksplorasi apa yang bisa dilakukan oleh semua perintah dd. Sebagai gambaran, Anda dapat menggunakan alat ini untuk membuat sistem file virtual serta membuat cadangan hard drive atau partisi sistem. Untuk informasi lebih lanjut tentang dd, kunjungi halaman manualnya.


Linux
  1. Perintah tempel Linux Dijelaskan Untuk Pemula (5 Contoh)

  2. Perintah Linux wc Dijelaskan untuk Pemula (6 Contoh)

  3. Perintah unexpand Linux Dijelaskan untuk Pemula (dengan Contoh)

  1. Perintah dir Linux untuk pemula (10 contoh)

  2. Perintah keluar Linux Dijelaskan untuk Pemula (dengan Contoh)

  3. Perintah objdump Linux Dijelaskan untuk Pemula (7 Contoh)

  1. Perintah Csplit Linux Dijelaskan untuk Pemula (6 Contoh)

  2. Perintah dirname Linux dijelaskan untuk pemula (4 contoh)

  3. Perintah Linux Gratis Dijelaskan untuk Pemula (6 Contoh)