Pengenalan

Pengenalan

Apa yang anda baca hanyalah yang pertama dari banyak artikel dari siri "Pembelajaran Linux". Mengapa kita mahu melakukan perkara seperti itu? Kerana berguna bagi anda untuk mempunyai setiap pilihan dan kemungkinan penggunaan arahan yang digunakan secara meluas di satu tempat. Anda akan menemui beberapa pilihan atau bahkan beberapa arahan yang anda tidak tahu ada, dan kehidupan anda sebagai pengguna / admin Linux akan menjadi lebih mudah. Sekiranya anda tidak takut membuka terminal dan mengetahui asas -asas menggunakan sistem Linux, artikel ini adalah untuk anda.

Mengapa DD?

Kami memilih DD sebagai pesaing pertama dalam siri kami kerana ia adalah alat yang berguna yang mempunyai banyak pilihan, seperti yang anda lihat. Ini menjadikannya hampir salah satu pisau tentera Switzerland di dunia Linux. Ya, istilah ini (pisau tentera swiss) digunakan lebih daripada yang sepatutnya oleh penulis artikel berorientasikan linux, jadi kami tidak dapat meluangkan peluang untuk menggunakannya sendiri.

Penggunaan umum

Sebelum kita mula, kami ingin memberi anda idea umum bagaimana DD digunakan. Pertama sekali, nama itu berasal dari "Data Duplikator", tetapi ia juga bercanda untuk berdiri untuk "Diskom Destroyer" atau "Data Destroyer" kerana ia adalah alat yang sangat kuat. Oleh itu, kami mengesyorkan penjagaan tambahan apabila menggunakan DD kerana satu momen kecerobohan mungkin membebankan data berharga anda. Sintaks umum perintah DD adalah

 # dd if = $ input_data of = $ output_data [options]

Data input dan output boleh menjadi cakera, partisi, fail, peranti ... terutamanya semua yang anda boleh tulis atau baca dari. Seperti yang anda lihat, anda boleh menggunakan DD dalam konteks rangkaian untuk menghantar aliran data di LAN anda, sebagai contoh. Anda hanya boleh mempunyai bahagian input dalam arahan DD anda, atau hanya arahan output, dan anda juga boleh menghapuskan kedua -duanya dalam beberapa kes. Semua ini akan dirawat dalam jadual di bawah.



Contoh

Pembelajaran arahan Linux DD dengan contoh
Sintaks perintah linux Penerangan arahan Linux
Sistem fail
dd if =/dev/urandom of =/dev/sda bs = 4k
Mengisi pemacu dengan data rawak
DD jika =/dev/sda =/dev/sdb bs = 4096

Duplikasi Drive-to-Drive

DD jika =/dev/sifar =/dev/sda bs = 4k
Bersihkan cakera keras (mungkin perlu diulang)
DD IF = Inputfile of =/dev/st0 bs = 32k Conv = Sync
Salin dari fail ke peranti pita
dd if =/dev/st0 of = outfile bs = 32k conv = sync
Di atas, diterbalikkan
DD jika =/dev/sda | Hexdump -c | Grep [^00]
Periksa sama ada pemacu benar -benar sifar
dd if =/dev/urandom of =/home/$ user/highfile \ bs = 4096
Mengisi partition (berhati -hati dengan partition sistem!)
LS -L MYFILE -RW-R-R-- 6703104 OCT 31 18:25 MYFILE DD IF =/DEV/URANDOM OF = MYFILE BS = 6703104 COUNT = 1
Berebut fail (mungkin sebelum memadamkannya)
DD jika =/dev/sda3 of =/dev/sdb3 bs = 4096 \ conv = notrunc, noerror
Salin partition ke partition lain
DD IF =/Proc/Filesystems | Hexdump -c | kurang
Lihat sistem fail yang ada
DD jika =/proc/partitions | Hexdump -c | kurang
Lihat Partition Availble di KB
DD IF =/DEV/SDB2 IBS = 4096 | gzip> partition.gambar.gz \ conv = noerror
Mencipta imej gzipped partition kedua
cakera kedua
dd bs = 10240 cbs = 80 conv = ascii, unblock \ if =/dev/st0 of = ascii.keluar
Salin kandungan pemacu pita ke fail, menukar
dari Ebcdic ke ASCII
DD jika =/dev/st0 Ibs = 1024 OBS = 2048 OF =/DEV/ST1
Salin dari peranti blok 1kb ke peranti blok 2kb
DD jika =/dev/sifar =/dev/null bs = 100m kiraan = 100 100+0 rekod dalam 100+0 rekod keluar 10485760000 bytes (10 GB) disalin, 5.62955 s, 1.9 GB/s
Salin 10 GB sifar ke sampah.
dd if =/dev/sifar =/dev/sda bs = 512 count = 2 fdisk -s/dev/sda dd if =/dev/sifar =/dev/sda seek = \ (number_of_sectors - 20) bs = 1k
Padamkan GPT dari cakera. Oleh kerana GPT menulis data pada awalnya
Dan pada akhir pemanduan, selepas
Memadamkan dari awal, kita perlu mengetahui nombornya
sektor (perintah kedua), kemudian padamkan 20 sektor terakhir.
dd if =/home/$ user/bootimage.IMG OF =/DEV/SDC
Buat pemacu usb bootable (di sini ditunjukkan sebagai /dev /sdc)
dd if =/dev/sda =/dev/null bs = 1m
Cara yang baik untuk memeriksa blok buruk
Sandaran dan berkaitan dengan sistem
dd if =/dev/sda =/dev/fd0 bs = 512 count = 1
Menyalin MBR ke Floppy
DD IF =/DEV/SDA1 OF =/DEV/SDB1 BS = 4096
Duplikasi Drive-to-Drive
dd if =/dev/sr0 of =/home/$ user/mycdimage.ISO \ BS = 2048 CONV = NOSYNC
Buat imej CD
gunung -o loop/rumah/$ pengguna/mycdimage.ISO \/mnt/cdimages/
Gunung berkata gambar secara tempatan
dd if =/dev/sda =/dev/sdb bs = 64k conv = sync
Berguna apabila menggantikan cakera dengan saiz yang sama
dd if =/dev/sda2 of =/home/$ user/hddimage1.IMG \ BS = 1m Count = 4430 DD jika =/dev/sda2 of =/home/$ user/hddimage2.img \ bs = 1m count = 8860 [...]
Buat imej DVD partition (berguna untuk disandarkan)
DD jika =/$ lokasi/hddimage1.IMG OF =/DEV/SDA2 \ BS = 1M DD jika =/$ lokasi/HDDImage2.IMG OF =/DEV/SDA2 \ Seek = 4430 BS = 1M DD jika =/$ lokasi/HDDImage3.IMG OF =/DEV/SDA2 \ Seek = 8860 BS = 1M [dan sebagainya ...]
Pulihkan dari sandaran di atas
DD jika =/dev/sifar kiraan = 1 bs = 1024 Seek = 1 of =/dev/sda6
Memusnahkan superblock
dd if =/dev/sifar kiraan = 1 bs = 4096 Seek = 0 of =/dev/sda5
Cara lain untuk memusnahkan superblock
dd if =/home/$ user/curiga.Dokumen | Clamscan -
Semak fail untuk virus (memerlukan Clamav)
dd if =/home/$ user/file binari | Hexdump -c | kurang
Lihatlah kandungan fail binari (memerlukan hexdump)
dd if =/home/$ user/bigfile of =/dev/null dd if =/dev/sifar =/home/$ user/bigfile \ bs = 1024 count = 1000000
Penanda aras cakera keras untuk kelajuan membaca/tulis
dd if =/dev/sda =/dev/sda
Memberi kehidupan baru kepada cakera keras yang lebih tua yang belum digunakan untuk seketika (cakera mesti tidak dipasang)
dd jika =/dev/mem | Strings | grep 'string_to_search'
Periksa kandungan ingatan (boleh dibaca manusia, iaitu)
dd if =/dev/fd0 of =/home/$ user/floppy.imej \ bs = 2x80x18b conv = notrunc
Salin cakera liut
DD jika =/proc/kcore | Hexdump -c | kurang
Lihat memori maya
DD IF =/Proc/Filesystems | Hexdump -c | kurang
Lihat sistem fail yang ada
DD IF =/Proc/Kallsyms | Hexdump -c | kurang
Lihat modul yang dimuatkan
DD IF =/Proc/Interrupt | Hexdump -c | kurang
Lihat jadual gangguan
dd if =/proc/uptime | Hexdump -c | kurang
Lihat uptime dalam beberapa saat
DD jika =/proc/partitions | Hexdump -c | kurang
Lihat Partition Availble di KB
DD IF =/Proc/Meminfo | Hexdump -c | kurang
Lihat Memstats
dd if =/dev/urandom of =/home/$ user/myrandom \ bs = 100 count = 1
Membuat fail 1kb dari rawak rawak
dd if =/dev/mem of =/home/$ user/mem.bin \ bs = 1024
Mewujudkan imej keadaan sebenar memori sistem anda
dd if =/home/$ user/myfile
Mencetak fail ke stdout
DD IF =/DEV/SDA2 BS = 16065 | Hexdump -c \ | grep 'text_to_search'
Cari seluruh partition untuk rentetan; Walaupun ia dijamin,
anda boleh boot livecd
dd if =/home/$ user/file.Bin Skip = 64K BS = 1 \ of =/rumah/$ pengguna/convFile.bin
Salin fail.Bin ke Convfile.bin melangkau 64 kb pertama
dd if =/home/$ user/bootimage.IMG OF =/DEV/SDC
Buat pemacu usb bootable (di sini ditunjukkan sebagai /dev /sdc)
DD IF =/DEV/MEM BS = 1K SKIP = 768 COUNT = 256 \ 2>/DEV/NULL | String -n 8
Baca BIOS.
dd bs = 1k if = imageFile.NRG OF = ImageFile.ISO SKIP = 300K
Tukar Imej Nero ke dalam Imej Standard ISO.
Ini mungkin kerana satu -satunya perbezaan antara
Kedua -duanya adalah pengepala 300 kb Nero menambah fail ISO standard.
echo -n "Hello Vertical World" | dd cbs = 1 \ conv = unblock 2> /dev /null
Cubalah, selamat. 🙂
DD IF =/DEV/SDA1 | gzip -c | split -b 2000m - \/mnt/hdc1/sandaran.img.Gz
Buat imej gzippen partition menggunakan Split
kucing/mnt/hdc1/sandaran.img.Gz.* | gzip -dc | \ dd of =/dev/sda1
Pulihkan sandaran di atas
DD jika =/dev/sifar = myImage BS = 1024 Count = 10240
Buat gambar cakera kosong
DD IBS = 10 Skip = 1
Strip 10 bait pertama stdin
dd bs = 265b conv = noerror if =/dev/st0 \ of =/tmp/buruk.pita.gambar
Buat gambar pemacu pita dengan tempat yang buruk
DD IF =/DEV/SDA COUNT = 1 | Hexdump -c
Lihat MBR anda
DD jika =/dev/sda | NC -L 10001 NC $ SYSTEM_TO_BACKUP_IP 10001 | dd \ of = sysbackupsda.img
Sandaran rangkaian pantas menggunakan Netcat
dd if =/dev/sifar =/dev/sdx \ bs = 1024000 Count = 1
Kosongkan 10MB pertama partition
dd if =/dev/sifar = tmpswap bs = 1k \ count = 1000000 chmod 600 tmpswap mkswap tmpswap swapon tmpswap
Buat ruang swap sementara
dd if =/dev/sda =/dev/null bs = 1024k \ count = 1024 1073741824 bytes (1.1 GB) disalin, 24.1684 s, 44.4 mb/s
Tentukan kelajuan I/O yang berurutan dari pemacu anda. Membaca fail 1GB
dd if =/dev/count rawak = 1 2>/dev/null | od -t u1 | \ awk 'print $ 2' | kepala -1
Menjana nombor rawak
DD jika =/dev/mem of = Myram BS = 1024
Salin memori RAM ke fail
DD IF =/DEV/SDA BS = 512 COUNT = 1 | OD -XA
Lihat kandungan MBR anda dalam format Hex dan ASCII
dd jika =/my/lama/mbr =/dev/sda bs = 446 count = 1
Pulihkan MBR tanpa mengganggu rekod jadual partition
yang antara 447 - 511 bait
DD IF =/DEV/SDA1 | Split -B 700m -SDA1 -imej
Buat salinan partition dan simpan imej di mana maksimum
Saiz kelantangan ialah 700MB
Manipulasi teks
ls -l | DD Conv = Ucase
Tukar output arahan ke huruf besar
echo "teks kes atas saya" | dd conv = lcase
Tukar teks ke huruf kecil
dd jika =/etc/passwd cbs = 132 conv = ebcdic of =/tmp/passwd.ebcdic
Tukar fail kata laluan sistem ke fail format ebcdic-fix yang tetap
dd jika = teks.ascii daripada = teks.ebcdic conv = ebcdic
Tukar dari ASCII ke EBCDIC
dd jika = myFile of = myFile Conv = Ucase
Tukar fail ke huruf besar (penggantian sed atau tr)

Kesimpulan

Ini hanya sebahagian kecil daripada apa yang boleh dilakukan oleh DD, dan kami berharap artikel ini berjaya merangkumi contoh yang paling berguna untuk pengguna sehari -hari. Walau bagaimanapun, sebelum anda pergi lebih jauh, kami mengesyorkan anda membaca dokumentasi Hard Drive anda, mencari perkara seperti batasan LBA, dan berhati -hati apabila menggunakan DD di terminal akar.
Sudah tentu, anda sudah mempunyai sandaran, tetapi sedikit penjagaan tambahan akan menjimatkan jam kerja yang tidak perlu.

Tutorial Linux Berkaitan:

  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
  • Pengenalan kepada Automasi, Alat dan Teknik Linux
  • Perkara yang perlu dilakukan setelah memasang Ubuntu 22.04 Jur -ubur Jammy ..
  • Muat turun linux
  • Perkara yang perlu dipasang di Ubuntu 22.04
  • Ubuntu 20.04 Panduan
  • Pasang Arch Linux di Workstation VMware
  • Cara Dual Boot Kali Linux dan Windows 10
  • Perintah Linux: Top 20 Perintah Paling Penting yang Anda Perlu ..