Pengenalan
- 2104
- 127
- Dale Harris II
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 ..