"Enter"a basıp içeriğe geçin

Linux dd Komutu – Linux ipucu

“dd”, Linux CLI aracıdır. Şimdi, “dd”nin mevcut versiyonu, her UNIX/Linux sisteminin sahip olduğu versiyon olan GNU çekirdek yazılımının bir parçasıdır. Bu aracın birincil amacı dosyaları dönüştürmek ve kopyalamaktır. Ancak, ‘cp’ gibi diğer dosya kopyalama araçlarından tamamen farklıdır.

“dd” farklı amaçlar için kullanılabilir:

  • “dd” ile, işlevin ilgili sürücülerde zaten uygulanmış olması koşuluyla, farklı dosyaları doğrudan okumak ve/veya farklı dosyalara ve dosyalardan yazmak mümkündür.
  • Önyükleme sektörü yedeklemesi, rastgele veri toplama vb. Birçok amaç için çok kullanışlıdır.
  • Veri dönüştürme, örneğin, ASCII’yi EBCDIC kodlamasına dönüştürme.

dd’yi kullan

İşte “dd” için en yaygın ve ilginç kullanımlardan bazıları. Elbette “dd” bunlardan çok daha yeteneklidir. Eğer ilgileniyorsanız, her zaman “dd” ile ilgili diğer kapsamlı kaynaklara göz atmanızı tavsiye ederim.

Kadın

Çıktının gösterdiği gibi, ‘dd’ çalışırken, ‘/usr/bin/dd’den başlatılır.

Birincil kullanım

Bu, “dd”nin takip ettiği yapıdır.

jeğer=<kaynak>bağlı kuruluş=<Amaç><Seçenekler>

Bu örnek için rastgele veriler içeren bir dosya oluşturalım. Linux’ta bulunan ve normal dosyalar gibi görünen bazı özel dosyalar vardır, örneğin sürekli bir NULL akışı üreten “/dev/zero” ve sürekli rasgele veriler üreten “/dev/random”.

jeğer=/davet/Alurand bağlı kuruluş= ~/Masaüstü/rastgele BA= 1 milyon saymak=5

İlk seçenekler açıklayıcıdır. Bu, veri kaynağı olarak “/dev/urandom” ve hedef olarak “~/Desktop/random.txt” kullanmak anlamına gelir. Diğer seçenekler neler?

Burada “bs”, “blok boyutu” anlamına gelir. dd veri yazdığında, bloklar halinde yazar. Blok boyutu bu seçenek kullanılarak belirtilebilir. Bu durumda “1M” değeri, blok boyutunun 1MB olduğunu gösterir.

“Sayı”, yazılacak blok sayısını belirler. Düzeltilmezse, giriş akışı bitmediği sürece “dd” yazmaya devam edecektir. Bu durumda, “/dev/urandom” sonsuz veri üretmeye devam edecektir, dolayısıyla bu seçenek bu örnekte çok önemliydi.

Veri yedekleme

Bu yöntemle, tüm sürücü verilerini boşaltmak için ‘dd’ kullanılabilir! Tek ihtiyacınız olan sürücüye bunun kaynak olduğunu söylemek.

jeğer=<kaynak>bağlı kuruluş=<Destek olmak>

Bu tür bir işlem yapacaksanız, kaynağınızın bir dizin olmadığından emin olun. “dd”nin bir dizini nasıl idare edeceği hakkında hiçbir fikri yoktur, dolayısıyla işler yürümez.

“dd” yalnızca dosyaların nasıl işleneceğini bilir. Bu nedenle, bir dizini yedeklemeniz gerekirse, önce arşivlemek için tar’ı kullanın ve ardından onu bir dosyaya aktarmak için ‘dd’yi kullanın.

katran cvJf demo.tar.xz DemoDir/

jeğer= demo.tar.xz bağlı kuruluş= ~/Masaüstü/Destek olmak

Aşağıdaki örnekte çok hassas bir işlem gerçekleştireceğiz: MBR yedekleme! Şimdi, sisteminiz MBR’yi (Ana Önyükleme Kaydı) kullanıyorsa, sistem diskinin ilk 512 baytında bulunur: önyükleyici için 466 bayt ve bölüm tablosu için başka bir bayt.

MBR geçmişini yedeklemek için bu komutu çalıştırın.

jeğer=/davet/sda bağlı kuruluş= ~/Masaüstü/mbr.img BA=512saymak=1

veri kurtarma

Herhangi bir yedekleme için, veri kurtarma yöntemi gereklidir. “dd” durumunda, geri yükleme işlemi diğer araçlardan biraz farklıdır. Yedekleme dosyasını benzer bir klasör/bölüm/aygıta yeniden yazmanız gerekir.

Örneğin bende “demo.tar.xz” içeren “backup.img” dosyası var. Çıkarmak için aşağıdaki komutu kullandım.

jeğer= yedek.img bağlı kuruluş= demo.tar.xz

Yine, çıktıyı bir dosyaya yazdığınızdan emin olun. “dd” dizinlerle arası pek iyi değil, unuttun mu?

Benzer şekilde, bölümü yedeklemek için ‘dd’ kullanılmışsa, geri yüklemek için aşağıdaki komut gerekir.

jeğer=<yedek dosya>bağlı kuruluş=<hedef cihaz>

Örneğin, daha önce yedeklediğimiz MBR’yi geri yüklemeye ne dersiniz?

jeğer= mbr.img bağlı kuruluş=/davet/sda

“dd” seçenekleri

Bu kılavuzun bir noktasında ‘bs’ ve ‘count’ gibi bazı ‘dd’ seçenekleriyle karşılaştım, değil mi? Fazlası var. İşte bunların ne oldukları ve nasıl kullanılacağına dair kısa bir liste.

  • Obs: Tek seferde yazılacak verinin boyutunu belirtir. Varsayılan değer 512 bayttır.
  • cbs: Tek seferde dönüştürülecek verinin boyutunu belirtir.
  • ibs: Tek seferde okunacak verinin boyutunu belirtir.
  • Sayı: Yalnızca N blok kopyalandı
  • Arama: Çıktının başında N bloğu atla
  • Atla: Bir girişin başlangıcında N bloğu atla

transfer= ascii: dönüştürür bir dosya EBCDIC’den ASCII’ye Giriş

transfer= ebcdic: dönüştürür bir dosya ASCII’den EBCDIC’ye Giriş

transfer= ibm: dönüştürür bir dosya ASCII’nin EBCDIC Varyantına Giriş

transfer= durum: transferler bir dosya Büyük harfleri küçük harflere girin

transfer=ucase: dönüştürür bir dosya Küçük harften büyük harfe

transfer= Wipe: Her giriş çiftini temizle

Ekstra seçenekler:

  • nocreat: Çıktı dosyasını oluşturma
  • notruc: Çıktı dosyasını kesmeyin
  • noerror: Bir hatayla karşılaştıktan sonra bile işlemeye devam edin
  • fdatasync: İşlem bitmeden verileri fiziksel depolamaya yazın
  • fsync: fdatasync’e benzer, ancak meta verileri de yazar
  • iflag: Eylemi çeşitli etiketlere göre ayarlayın. Kullanılabilir etiketler şunları içerir: Çıktıya veri ekle

Ekstra seçenekler:

  • Dizin: Dizin arama başarısız oldu
  • dsync: senkronize veri girişi/çıkışı
  • Senkronizasyon: dsync’e benzer ancak meta verileri içerir
  • nocache: önbellek bırakma istekleri.
  • nofollow: Herhangi bir sembolik bağlantıyı takip etmeyin

Ekstra seçenekler:

  • count_bytes: “count = N” ile benzer
  • search_bytes: “see = N” ile benzer
  • skip_bytes: “skip = N”ye benziyorsunuz

Gördüğünüz gibi, işlemin davranışını değiştirmek için birkaç işaret ve seçeneği tek bir “dd” komutunda yığmak mümkündür.

jeğer= demo.txt bağlı kuruluş= demo1.txt BA=10saymak=100transfer= ebdic
iflag= ekle, önbellek yok, takip yok,senkronizasyon

Son düşünceler

“dd” iş akışı çok basittir. Ancak, gerçekten parlamak sizin elinizde. Akıllı etkileşimler yapmak için “dd”nin kullanılabileceği birçok yaratıcı yol vardır.

“dd” ve tüm seçenekleri hakkında ayrıntılı bilgi için man ve bilgi sayfasına bakın.

Diğer gönderilerimize göz at

[wpcin-random-posts]

İlk Yorumu Siz Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir