• Web sitemizin içeriğine ve tüm hizmetlerimize erişim sağlamak için Web sitemize kayıt olmalı ya da giriş yapmalısınız. Web sitemize üye olmak tamamen ücretsizdir.
  • Sohbetokey.com ile canlı okey oynamaya ne dersin? Hem sohbet et, hem mobil okey oyna!
  • Soru mu? Sorun mu? ''Bir Sorum Var?'' sistemimiz aktiftir. Paylaşın beraber çözüm üretelim.

GNU-Linux'da Dosyaların Dönüştürülmesinde Kullanılan Unix Komutu "dd"....

TRWE_2012

Süper Moderatör
Üyelik Tarihi
2 Haz 2020
Konular
3,095
Mesajlar
5,896
MFC Puanı
20,930
Dosyaların farklı biçimlere dönüştürülmesi gerektiğinde dd komutu kullanılır. Blok yapısının değiştirilmesinde, ASCII ve EBCDIC dosyaların dönüştürülmesinde ve dosya içindeki harflerin büyük veya küçük harflere çevrilmesinde bu komut tercih edilmelidir.

Komut,
Bash:
dd seçenek=değer...
biçiminde tanımlanır.

Seçenekler aşağıda açıklanmaktadır.

SeçenekAçıklama
if=dosya Giriş dosyası
of=dosyaÇıkış dosyası
ibs=n Giriş dosyasının blok boyu. Belirtilmez ise 512 bayt olduğu kabul edilir.
obs=nÇıkış dosyasının blok boyu. Belirtilmez ise 512 bayt olduğu kabul edilir.
bs=nHem giriş hem çıkış dosyasının blok uzunluğu
cbs=nDönüşüm işleminde kullanılan ara belleğin boyutu. Bu seçenek ascii veya ebcdic seçenekleriyle birlikte kullanılabilir.
skip=n Çıkış dosyası yaratılırken giriş dosyasından n bloğun atlanması sağlanır.
seek=nKopyalama öncesinde çıkış dosyasının başından itibaren n bloğu arar.
count=n Sadece n giriş bloğunu kopyalar.
conv=asciiEBCDIC dosyası ASCII dosyaya dönüştürür.
conv=ebcdicASCII dosyayı EBCDIC dosyasına dönüştürür.
conv=lcase Büyük harfleri küçük harflere dönüştürür.
conv=ucaseKüyük harfleri büyük harflere dönüştürür.
conv=noerrorHata durumunda dönüşüm işlemini durdurmaz.

Örnek

/usr/acct/personel
dizininde yer alan PERFLANA.dat dosyasından 2 blokluk veriyi, PER ismiyle bulunduğumuz dizin içine kopyalamak istiyoruz.

Bu durumda dd komutu şu şekilde kullanılır:

Bash:
$ dd if=/usr/acct/personel /PERFLANA.dat of=PER count=2
2+0 blocks in
2+0 blocks out
$ _

PER dosyasının boyutu ls komutuyla kontrol edilirse

Bash:
$ ls -l PER
-rw -rw -rw-   1   burak           1024   Mar   4   09:13  PER
$ _

Gerçekten 2 blok(1024 bayt) olduğu görülür.

Örnek

EBCDIC dosyaları UNIX işletim sisteminde kullabilmek amacıyla bir dönüşüme tabi tutmak gerekiyor. Bu amaçla dd komutu kullanılır.

Bash:
$ dd if=stokmas of=stok conv=ascii
0+1 blocks in
0+1 blocks out
$ _

Örnek

Aşağıdaki metin dosyasını göz önüne alalım.

Bash:
$ cat yazi
UNIX işletim sistemi baslangicta
bir grup arastirmacinin amaci icin gelistirildi.
Bu amac da, yazilim
gelistirilmesi icin daha uygun ve daha iyi
cevre kosullarinin saglanmasi idi.
Bircok isletim sisteminden farkli olarak donanim ureticilerinin
gereksindikleri bazi ozellikler gozetilerek
tasarlandi.
$ _

Metin içinde yer alan tüm karakterleri büyük harflere dönüştürmek için aşağıdaki işlem yapılır:

Bash:
$ dd if=yazi of=yaz conv=ucase
0+1 blocks in
0+1 blocks out
$ _

Yeni dosyanın içeriği şu şekildedir :

Bash:
$ cat yaz
UNIX ISLETIM SISTEMI BASLANGICTA
BIR GRUP ARASTIRMACININ AMACI ICIN GELISTIRILDI.
BU AMAC DA, YAZILIM
GELISTIRILMESI ICIN DAHA UYGUN VE DAHA IYI
CEVRE KOSULLARININ SAGLANMASI IDI.
BIRCOK ISLETIM SISTEMINDEN FARKLI OLARAK DONANIN URETICILERININ
GEREKSINDIKLERI BAZI OZELLIKLER GOZETILEREK
TASARLANDI.
$ _

Kaynak : Ubuntu Turkey
 
Üst