Az önce bir arkadasım MS DOS komutlarıyla ilgili birsey sordu bende biraz bilgilendiriim dedim. Alıntı ama hiç yazmamaktan iyidir: Ms-dos ping de aldığım olumlu eleştiriler beni kamçıladı hem sizler hem de kendim için dos ortamında kullanılabilecek komutlar hakkında sıkı bir bilgi topladım. Sanırım bu veriler hem bilmeyen arkadaşlara hem de bana faydalı olur. Neyse başlayalım; Komut
cat -dosya yaratmaya veya çıktı almaya yarar.
Seçenekler
-b : boş olmayan satır sayısı -n : çıktıya giden tüm satır sayısı -e : her satırın sonuna $ görüntüler -t : TAB yerine ^I görüntüler -u : UNIXe uygunlu§u önemsiz -v : karaterlerden önce yer alan ^ ile TAB ve LFD hari‡ kontrol karakterlerini görüntüler -et: satır sonuna $, TAB yerine ^I görüntüler -h : kullanım mesajı verir -s : çok sayıda yer alan boşlukları bire indirir
Anlatım ve örnekler
UNIXte çok kullanılan ,çok işlevli bir komuttur.Bu işlevlerden bir tanesi,MS-DOStaki TYPE komutu ile aynıdır. En basit kullanım formu: $ cat dosya_adı
şeklindedir.Bu formda kullanıldığı zaman,dosya_adı adlı dosyayı ekrana (daha dogrusu,UNIX diliyle standart çıktı birimine:standart output) gönderir.Standart çıktı birimi genellikle ekran olduğu için,dosyayı ekrana listelemek için kullanılır.Örnek komut: $ cat /etc/motd Dosya yaratmak için kullanılan form ise daha farklı... $ cat > yenidosya $ cat > dosya1 komutu verilir.İmleç(cursor) yeni satırın başına geldiğinde,dosyanın içinde yer alması istenen satırlar girilir.Girmek istenen satırlar tamamlanınca,imleç satır başındayken Ctrl ve D tuşlarına birlikte basarak (EOF:end of file karakteri)standart giriş biriminizde dosya sonuna gelindiği belirtilir. Dosya adı verirken dizin adı belirtilmediğinden dosya1 adlı dosya çalışma dizininizde yaratılır.Herhangi bir hata mesajı alınmazsa dosya hatasız yaratılmış demektir.E§er dosya1in yaratılıp yaratılmadığını kontrol etmek istenirse iki yöntem önerilebilir: $ cat dosya1 ve $ ls Birinci komut(cat),dosya1 dosyasının içine yazdıklarımızı ekrana görüntüleyecek,böylece yaratma işleminin tamamlanıp tamamlanmadığını sağlam bir şekilde kontrol etmiş oluruz.İkinci komutla(ls) ise sadece dosyanın adını,uzunluğunu, ne zaman yaratıldığını ve sahibinin kim oldugunu öğrenebiliriz. Eğer cat komutu parametresiz kullanılırsa pek anlamlı olmayan bir iş yapılmaya başlanır.Standart giris biriminden okunanlar standart çıktı birimine kopyalanacaktır.Yani klavyeden basılan her tuş ekrana kopyalanacaktır.Bu durumdan kurtulmak için,imleç satır başındayken Ctrl-D tuşuna basmak kopyalama işini sona erdirecektir. $ cat >> dosya1
Çıngıraksız,rehbersiz deve kervanı nasıl, İpekli mallarını kimseye göstermeden, Sonu gelmez kumlara uzanırsa muttasıl, Ömrüm öyle esrarlı geçecek ses vermeden. Ve böylece bu ömür,bu ömür her dakika, Bir buz parçası gibi kendinden eriyecek. Semada yıldızlardan,yerde kurtlardan başka Yaşayıp öldüğünü kimseler bilmeyecek! ^D
12 satırlık bir dosya olusturduk.Arkasına 2 satır eklemek için $ cat >>siir.cst Cahit Sıtkı TARANCI ^D
Böylece dosya 14 satır olur.Eğer dosyayı okumak istersek: $ cat siir.cst ÖMRÜMDE SÜKUT Çıngıraksız,rehbersiz deve kervanı nasıl, İpekli mallarını kimseye göstermeden, Sonu gelmez kumlara uzanırsa muttasıl Ömrüm öyle esrarlı geçecek ses vermeden. Ve böylece bu ömür,bu ömür her dakika, Bir buz parçası gibi kendinden eriyecek. Semada yıldızlardan,yerde kurtlardan başka Yaşayıp öldüğünü kimseler bilmeyecek! Cahit Sıtkı TARANCI
Dosyanın satır sayısını öğrenmek istersek $ cat -n siir.cst 1 ÖMRÜMDE SÜKUT 2 3 Çıngıraksız,rehbersiz deve kervanı nasıl, 4 İpekli mallarını kimseye göstermeden, 5 Sonu gelmez kumlara uzanırsa muttasıl, 6 Ömrüm öyle esrarlı geçecek ses vermeden. 7 8 9 Ve böylece bu ömür,bu ömür her dakika, 10Bir buz parçası gibi kendinden eriyecek. 11Semada yıldızlardan,yerde kurtlardan başka 12Yaşayıp öldüğünü kimseler bilmeyecek! 13 14Cahit Sıtkı TARANCI
Eğer bos olmayan satır sayısını görmek istersek
$ cat -b siir.cst 1 ÖMRÜMDE SÜKUT
2 Çıngıraksız,rehbersiz deve kervanı nasıl, 3 İpekli mallarını kimseye göstermeden, 4 Sonu gelmez kumlara uzanırsa muttasıl, 5 Ömrüm öyle esrarlı geçecek ses vermeden. 6 Ve böylece bu ömür,bu ömür her dakika, 7 Bir buz parçası gibi kendinden eriyecek. 8 Semada yıldızlardan,yerde kurtlardan başka 9 Yaşayıp öldüğünü kimseler bilmeyecek! 10Cahit Sıtkı TARANCI Eğer TAB yeralıp almadığını görmek istersek $ cat -t siir.cst Bu dosyada ilk ve son satırlarda tab yer almaktadır.Bu nedenle diger satırları aynen yazar ilk ve son satırları ise ^IÖMRÜMDE SÜKUT Cahit Sıtkı^ITARANCI şeklinde görüntüler. $ cat -e siir.cst ÖMRÜMDE SÜKUT$ $ Çıngıraksız,rehbersiz deve kervanı nasıl,$ İpekli mallarını kimseye göstermeden,$ Sonu gelmez kumlara uzanırsa muttasıl,$ Ömrüm öyle esrarlı geçecek ses vermeden.$ $ $ Ve böylece bu ömür,bu ömür her dakika,$ Bir buz parçası gibi kendinden eriyecek.$ Semada yıldızlardan,yerde kurtlardan başka$ Yaşayıp öldüğünü kimseler bilmeyecek!$ $ Cahit Sıtkı TARANCI$
$ cat -et siir.cst şeklinde bir komut hem TAB yerine ^I,hem de satır sonlarına $ koyar yani son iki örnek birliktedir. $ cat -h cat:Not a recognized flag :h Usage:cat [-qrSsu] [-n] [-v[et]] [-|File ...] **********************************************************************
Komut
chgrp -bir dosyanin yada klasörün grup sahipligini degistirmeye yarar.
Tanim chgrp komutudaha belirtilen grupla iliskilendirilmis olan dosya veya klasörü belirtilen grup ismi veya grop ID si ile degistirir.Bir sembolik linkle karsilastiginda ve siz -h parametresini özellestirmediginiz zaman, "chgrp" komutu belirtilen linkin grup sahipliginde olan dosya veya klasörün göstermekte oldugu linki degistirir ama linkin kendi grup sahipligini degistirmez
Eger -h parametresini özellestirirseniz, "chgrp" komutu üstte anltilana ters islem yaparak linkin grup sahipligini degistirir ama linkin isaretledigi dosya veya klasörün grup sahipligini degistirmez Eger -h ve -R paremetrelerini özellestirirseniz,"chgrp" komutu belirtilen klasörleri özyineli olarak azaltir, ve sembolik linkle karsilastigi zaman, linkin grup sahipligi degistiriliyor ama linkin isaretledigi dosya veya klasörün grup sahipliginde bir degisiklik meydana getirmiyor
Parametreler -f : Kullanim hatalari hariç bütün hatalari çikartir -h : sembolik linkin grup sahipligini degistirir ama linkin isaretledigi dosya veya klasörün grup sahipligini degistirmez -R : Klasörleriözyineli olarak indirger,her dosya için belirtilen grup IDsini yerlestirir.Eger bir link ile karsilasirsa ve link bir klasörü isaretliyse,bu klasörün grup sahipligini degistirir ama klasörün daha içlerine girilmez Çikis durumu
Bu komut asagidaki degerleri döndürür 0:Basari ile tamamlandi >0:Bir hata olustu
Örnekler 1.dosya1 isimli dosya veya klasörün grup sahipligini grup1e degistirmek için: $ chgrp grup1 dosya1 Dosya1in grup giris izinleri artik grup1 olarak ayarlanir 2.klasör1 isimli klasörün ve içindeki bütün dosyalarin ve alt klasörlerin grup sahipliklerini grup1 olarakdegistirmek için: $ chgrp -R grup1 klasör1 Klasöre1in ve içindeki tüm dosyalarin ve alt klasörlerin grup giris izinleri grup1 olarak degistirilir. ********************************************************************** Komut chmod -Dosya ve dizinlere erişim yetkilerini değiştirmek için kullanılır.İzin modlarını iki türlü ifade etme olanağı vardır.Bunlardan birincisi onaltılı sisteme (octal) göre tanımlama,ikincisi ise sembolik tanımlama şeklindedir.Onaltılı sisteme göre:
chmod [-R][-h][-f] izin kodu {dosya...|dizin...} Yetki tanım grupları aşağıdaki gibi sayısal birer değerle eşleşterilir: r : 4 w : 2 x : 1 Bu eşleştirmeler dosya/dizin sahibi (owner),grup ve diğerleri (others) için ayrı ayrı yapılır. Sembolik Tanımlama :
chmod [-R][-f][-h][[g]
[a]]{{-|+|=}[r][w]
}{dosya...|dizin...}
Bu formda chmod komutu sembolik harflerle kullanılır.Bunlar: İzin değişiminin kiminle ilgili olduğu: u : dosya/dizinin sahibi (user) g : dosya/dizinin sahibiyle aynı grupta olanlar (group) o : diğer kullanıcılar (others) a : herkes (all)
İzinlerin sembolleri: r : okuma yetkisi (read) w : yazma yetkisi (write) x : çalıştırma yetkisi (execute) s : programı çalıştıran kullanıcıların,progam çalıştığı sürece ve sadece bu programla ilgili komutlar açısından,program dosyasının sahibinin yetkilerine sahip olmalarını sağlar.
Seçenekler
-f :Geçersiz izinler ve kullanım cümleleri dışında bütün hata mesajlarını ihmal eder.
-h :Sembolik link tarafından gösterilen dosya veya dizinler için mod değişimini ihmal eder.
-R :Tekrarlı olarak dizinlere iner.-R seçeneği her bir dizinin ve belirlenmiş bir şablona uyan bütün dosyaların dosya modu bitlerini değiştirir.
Örnekler
Örnek1: prog isimli dosyanın erişim yetkilerinin rwxr-x--x olmasıisteniyor.Bu yetki kalıbı üçer üçer ayrılmış olarak düşünülüp (rwx r-x--x),yukardaki eşleştirmelere göre verilmek istenen yetkilere karşılık gelen sayılar üçer üçer toplanır ve elde edilen üç rakam yan yana getirilip üç basamaklı bir sayı elde edilir.Başka bir deyişle:
Dosya sahibi için : 4+2+1 =7 Grup için : 4+0+1 =5 Diğer kullanıcılar için : 0+0+1 =1 Elde edilen üç basamaklı sayı =751
Örnek2 : prog isimli dosyanın sahibine okuma,yazma ve çalıştırma;grubuna ve diğerlerine de yalnızca çalıştırma yetkisi vermek için yazılması gereken kod.
$chmod 711 prog veya $chmod go-rw prog Örnek3 : func.txt isimli dizinin altındaki f1.dat isimli dosyanın sahibine ve grubuna okuma,yazma,çalıştırma;diğerlerine de okuma ve çalıştırma hakkı vermek için yazılması gereken komut satırı.
$chmod 775 func.txt/f1.dat veya $chmod o-w func.txt/f1.dat
Örnek4 : Birden çok dosyada değişiklik yapmak için: Örnek olarak pro1 ve pro2 isimli dosyaların gruplarına okuma(read) izni verelim.
$chmod g+r pro1 pro2
Örnek5 : Bir defada birden çok izin değiştirmek için:
$chmod go-w+x deneme.htm Bunu ayrı ayrı yazmak istersek: $chmod g-w deneme.htm $chmod g+x deneme.htm $chmod o-w deneme.htm $chmod o+x deneme.htm
kodlarını yazmamız gerekr. İlgili Komutlar
http://gnu-tr.net/Destek/Linux_Komut/chown.html tppabs=http://www.linux.org.tr/documents/kullanici_belgeleri/Bash/chown.html ********************************************************************* Komut chown - Bir dosyanın veya dizinin, parametresinde tanımlı bulunan dosya veya dizin sahibi parametrelerini değiştirir.Öyleki dosya veya dizin sahibi parametresi /etc/passwd dosyasında, kullanıcı kimliği(user ID) veya bağlanti ismi(login name) olarak kayıtli bulunmak zorundadir.Ayni şekilde, dosya veya dizin gurubu parametresi de /etc/group dosyasında, gurup kimliği (group ID) veya gurup ismi(group name) olarak kayıtlı bulunmak zorundadır. Bir dosyanın veya dizinin sahibini ancak kok(root) kullanıcı degiştirebilir. Bundan dolayı sıstemde eğer kullanılcıya izin verilirse bu komutu kullanabilir. Kullanımı aşağıdakı gibidir, chown [-f][-h][-R] sahibi[:Grubu] {Dosya | Dizin}
Seçenekler -f :Kullanım için hata mesajları dışında butun error mesajlarının ihmal edilmesini sağlar. -h :Bulunan bir sembolik linkin ve sembolik linke bagli olmayan dosya ve dizinlerin sahipliğini degiştirir. -R :Tekrarlamalı olarak dizinlere iner ve her dosyanın sahipliğini degiştirir Sembolik linkle karşılaşıldıgında ve link bir dizini gosteriyorsa dizinin sahipliği degişir.
Örnekler
1.inf.dat isimli dosyanin sahibini degiştirmek Bir dosyanın sahibini ögrenmek amacıyla ls komutu çektigimizi düsünelim, ekrandaki görüntü aşağıdakı gibidir, $ls -l
-rwxrwxr-x 1 bbm819 obbm 5744 oct 15 12:11 inf.dat
$-
yukardaki inf.dat isimli dosyanın sahibi bbm819 isimli kullanıcıdir,gurubu ise obbmdir. Dosyanın sahibini bbm870 isimli kullanıcı yapmak istiyoruz.O halde chown komutu,
$chown bbm870 inf.dat dir
Tekrar ls komutu kullanılırsa ekranda görüntü aşagidaki gibidir.
-rwxrwxr-x 1 bbm870 obbm 5744 oct 15 12:11 inf.dat
şimdi kullanıcı izni artık bbm870e geçmiştir.
2.(/etc/src) isimli dizinin içindeki tum dosyaların sahipliği değiştirirken Sistemde bbm819 isimli kullanicının oldugunu varsayalım,
$chown -R bbm819 /etc/src
komutu, /etc/src dizinini ve altdizinlerinin sahipligini bbm819a vermis oldu.
Tanim cp komutu Kaynak_Kutuk parametresi ile belirtilen kaynak kutugu Hedef_Kutuk parametresi ile belirtilen hedef kutuge kopyalar. Ayrica cp komutu ile Kaynak_Kutuk parametresi ile belirtilmis kaynak kutukleri (veya Kaynak_Klavuz parametresi ile belirtilmis klavuzlari) Hedef_Klavuz parametresi ile belirtilmis klavuza kopyalamak mumkundur.
Not: Eger kaynak parametrelerinden biri bir klavuzsa, -r veya -R seceneklerinden birisinin kullanilmasi gerekir. Eger kopyalama islemi sirasinda yeni yaratilan bir klavuz varsa bu yeni klavuz karsilik gelen kaynak klavuzla ayni moda sahip olacaktir. color=#0000ffIMod/Ilar hakkinda daha fazla bilgi icin cp komutuyla ozel arac kutuklerini de kopyalayabilirsiniz. Bu islemi gerceklestirmek icin gereken secenek -Rdir. -Rnin belirtilmesi yeni klavuzda bu ozel kutuklerin yeniden yaratilmasina sebep olur. -r seceneginin belirtilmesi halinde ise cp komutu arac ozel kutugunu normal bir kutuk olarak kopyalamaya kalkisacaktir.
Secenekler
-f : Hedef kutuk yazma islemleri icin acilamiyorsa hedef kutugun silinmesini saglar. Silinme, cp komutu herhangi bir kopyalama yapmadan gerceklesir. -h : cp komutunun sembolik baglari kopyalamasini saglar. Varsayilan, sembolik baglarin izlenmesidir; yani sembolik baglarin gosterdigi kutukler kopyalanir. -i : Eger hedef klavuz veya kutuk kopyalanan kutuk ile ayni ise ayni adla kutuk iceriyorsa kutuk isminin degistirilebilmesi icin soru sorar. y tusuna basarsak islem devam eder. -p : Kopyalanan kutuk veya klavuzun asagidaki ozelliklerinin tekrarlanmasini saglar: * Son bilgi degisimi, son erisim tarihi ve kutuk izin bitleri yoksa cp komutu hata mesaji verir. * Eger izin bitleri, S_ISUID ve S_ISGID yoksa cp komutu hata verir. * Eger kullanici ve grup hakki yoksa hata mesaji verir. -r : Kutuk hiyerarsilerinin Kaynak_Kutuk veya Kaynak_Klavuz parametresi ile belirtilmis kutuk veya klavuzun altina kopyalanmasini saglar (ozyineli,recursive, kopyalama). -R : Kaynak_Kutuk veya Kaynak_Klavuz parametresi ile belirtilmis klavuzdan Hedef_Klavuz parametresi ile belirtilmis klavuza kutuk hiyerarsilerinin, normal kutuk ve klavuzlar altina kopyalanmasini saglar. Ozel kutuk tipleri (first-in, first-out(FIFO) kutukleri gibi) ve blok ve karakter arac kutukleri kopyalanma yerine yeniden yaratilirlar. Eger -h secenegi secilmemisse sembolik baglar izlenir. (-R, -rden daha fazla tercih edilir.) -- : Bunu izleyen parametrelerin kutuk isimleri olarak algilanmasini saglar. Boylece eksi (-) isareti ile baslayan kutuk isimlerini belirlebiliriz.
Not: Bu komut asagidaki cikis degerlerini dondurur: 0 Tum kutukler basariyla kopyalandilar. >0 Bir hata olustu.
Ornekler: cp prog.c prog.bak prog.c adli kutugu prog.bak adli kutuk olarak kopyalar. Eger prog.bak kutugu yoksa teskil edilir. Eger zaten mevcutsa prog.cnin bir kopyasi ile degistirilir. cp jones /home/nick/clients jones adli kutugu home/nick/clients klavuzuna kopyalar. cp -p smith smith.jr smith adli kutugu; bu kutugun son bilgi degisimini, son erisim tarihini, kutuk izin bitlerini ve bunun gibi butun ozelliklerini smith.jr isimli baska bir kutuk olarak ayni klavuza kopyalar. cp programs/*.c . programs klavuzunun altindaki uzantisi c olan kutukleri icinde bulunulan klavuza (. ile ifade edilmistir) kopyalar. cp *pg* /users Isimleri icinde pg harf cifti yer alan kutukleri users klavuzunun altina kopyalar. cp muh001 muh002 muh009 /users muh001 muh002 muh009 isimli kutukleri users klavuzuna kopyalar. cp muh?? /users Isimleri 5 karakterli ve isimlerinin ilk 3 karakteri muh olan kutukleri users klavuzuna kopyalar. cp /home/janet/clients/* /home/nick/customers clients klavuzundaki butun kutukleri customers klavuzuna kopyalar. Ancak sadece kutukleri kopyalar; klavuzlari kopyalamaz. cp -R /home/nick/clients /home/nick/customers clients klavuzunu, tum kutukleri, alt klavuzlari ve bu alt klavuzlardaki kutukleriyle beraber customers/clients klavuzuna kopyalar.
Ilgili komutlar http://gnu-tr.net/Destek/Linux_Komut/mv.html tppabs=http://www.linux.org.tr/documents/kullanici_belgeleri/Bash/mv.html cpio link unlink
Cut - Bir dosya içerisindeki satırların içerdiği alanları keserek belirli bir yere kopyalamak için kullanılır.Kesme işlemi bazı ayıraçlara göre olabildiği gibi, sabit uzunluktaki alanlara göre de yapılabilir.
Kullanımı cut [seçenekler] [dosya] biçiminde tanımlıdır.
Seçenekler
-b : Karakter konumlarını belirler.Byte tipinde işlem yaparak karakterleri byte birimiyle algılar. -c : Karakter konumlarını belirler.Byte tipinde işlem yaparak karakterleri karakter olarak algılar. -f : Özel bir ayıraçla ayrılan alanları tanımlamak amacıyla kullanılır. -d : Ayıraçları tanımlamak için kullanılır. -s : -f seçeneği kullanıldığı durumlarda, ayıraca sahip olmayan satırların atlanmasını sağlar. -n : Tek bytetan fazla olan karakterleri tamamiyle alır.
Örnekler
$ cat liste Ahmet KARA:1975:9328 Ali ÖZKAN:1982:634 Pervin ONKUL:1992:1576
Sadece isimleri içeren kısmı liste dosyasından kopyalamak için: $ cut -d: -f1 liste Ahmet KARA Ali ÖZKAN Pervin ONKUL
Eğer ikinci alanlar liste dosyasından kopyalamak için: $ cut -d: -f2 liste 1975 1982 1992
Dosyanın belirli konumdaki karalterlerini listelemek için: (liste dosyasının üçüncü karakterlerini için) $ cut -c3 liste m i r
date- Sistem tarihini ve zamanını gösterir. date komutu "date +%X" seklinde kullanilir. Format "+%X" şeklindedir. Xin yerine gelebilecek seçenekler aşağıda sıralanmıştır. Seçenekler
S: saniyeyi g,ster M: dakikayi g,ster 1-12 :arası saati g,ster p :am or pm (sabah veya oğleden sonra) H: 0-23 arası saati g,ster T :hh:mm:ss formatında zamanı goster(h:saat-m:dakika-s:saniye) Z :zaman dilimini g,ster A :gün ismini tam olarak yaz a : gün isminin ilk üç harfini yaz w :gün ismini sayısal olarak belirtir (0-6) d :ayın kaci oldugunu belirt (1-31) j :yılın kacinci gununde bulunuldugunu belirt (1-366) U :yılın kacinci haftasinda bulunuldugunu belirt (0-53) m :yılın kacinci ayinda bulunuldugunu belirt (1-12) b :içinde bulunulan ay isminin ilk üç harfini yaz B :ay isminin tamamını yaz y :hangi yılda bulunuldugunu 2 basamakli yaz Y :hangi yılda bulunuldugunu 4 basamakli yaz D :tarihi MM/DD/YY (ay/gun/yil) formatında yaz c : tarih va zamanı aynı anda yaz
diff Dosyalar arasındaki farklılıkları ortaya koyarak, gerekiyorsa değişiklikleri yapmak için kullanılır.
Söz Dizilimi
diff [seçenekler] dosya-1 dosya-2
Seçenekler
-b Takip eden boşlukların gözardı edilmesine ve diğer boşluk çizgilerinin eşit biçimde karşılaştırılmasına olanak sağlar.
-e a,c ve d komutlarının kullanılmasını sağlayan bir editör oluşturur. Bu sayede, iki dosya arasındaki farklılıkların ortadan kaldırılabilmesi için ortam sağlar.
-f Yine bir editör sağlar fakat -e seçeneği kadar kullanışlı değildir.
-h İki dosya arasındaki farklılıkları hızlı bir biçimde görüntüler. -e -f seçenekleri ile birlikte kullanılamaz.
-i Büyük-küçük harf ayrımı yapmadan karşılaştırma işlemi yapar.
-l Geniş bir çıkış raporu verir.
-l -e seçeneği ile benzer çıkışı verir. Fakat onun tam tersi düzendedir.
-t Çıkış satırlarında ki tabları genişletir.
-w Bütün boşluk ve tab karakterlerini önemsenmemesini sağlar.
-C Lines Komutun yaptığı karşılaştırma işlemi sırasında birbiriyle aynı olan satırların, satır numaralarını verir.
-c Komutun yaptığı karşılaştırma işlemi sırasında birbiriyle aynı olan 3 satırın, satır numaralarını verir.
-D [string] Girilen bu karakter dizisini iki dosyayı karşılaştırarak arar.
-c Sık kullanılan alt dizinlerle karşılaşıldığında komutun uygulamasının tekrarlanmasını sağlar.
-s Birbiriyle aynı fakat bilinmeyen dosyaları gösterir.
-S [File] Dizinler karşılaştırılırken, dosya değişkenleri vasıtasıyla belirlenmiş olan dosyalardan önce isimleri araştırılmış olan dosyaları önemsemez.
Çıkış Durumları
Bu komut aşağıdaki çıkış değerlerinden birini döndürür.
0 Hiç bir farklılık bulunamadı. 1 Farklılıklar bulundu. >1 Bir hata oluştu.
Örnekler
1. Örnek Elimizde liste ve liste1 isimli iki dosya olsun. Bu dosyaların içerikleri:
$cat liste $cat liste1 Mahmut Yıldırım:1975:350 Mahmut Yıldırım:1975:350 Ayşe Birinci:1978:300 Ayşe Birinci:1988:300 Begüm Aydın:1990:350 Begüm Aydın:1990:350 Barış Çağlar:1980:401 Barış Çağlar:1980:401 Burak Zorlu:1981:350 Burak Zorlu:1981:300
Eğer kelimeler arasındaki boşluk karakteri birden fazla ise -w komutu bunları tek bir karakter olarak düşünüp işlem yapar.
3. Örnek
$diff -e plus plus.old >new.to.old.ed
Bu komutla ismi new.to.old.ed olan ve plus dosyasını plus.old dosyasındaki textlere göre değişimini içeren yeni bir dosya oluşturulur. Genellikle oluşan bu son dosya plus.old dosyasından kısadır.
İigili Komutlar Diff Komutu ile alakalı diğer komutlar
bdiff cmp diff3 ed pr
Not : Karşılaştırılacak dosyalar çok büyük ise, diff yerine bdiff komutu tercih edilmelidir. Bu komut aynı olan satırları görüntülemez farklı olan satırları küçük parçalara ayırarak herbiri üzerinde diff komutunu uygular. ******************************************************************* Komut du Komutu (Diskin Kullanımı) Sistem yöneticisi zaman zaman disklerin nasıl kullanıldığını öğrenmek isteyecektir.Özellikle aşırı büyüyen dosyalar ve dizinleri belirlemesi, sistem yönetimi açısından önem taşımaktadır.Diskin kullanımı hakkında özet bilgiler sağlamak amacıyla du komutundan yaralanılabilir.Bu komut aşağıda gösterildiği gibi tanımlanmaktadır. du [ seçenekler ] [ isimler ]
Seçenekler du komutunun seçenekleri şunlardır;
Herbir dosyanın disk kullanım miktarlarını listelemek için -a parametresi kullanılır.
Sadece genel toplamlar görüntülenemk istenirse -s parametresi kullanılır.
Du komutunun okuyamadığı yada açamadığı dizinleri karşısında hareketsizdir. Eğer bu durumların mesajla bildirilmesi isteniyorsa -r seçeneği kullanılır. NOT:Eğer du komutu tek başına kullanılırsa, içinde bulunduğu dizini işleme koyar.
Örnekler Kullanıcının bulunduğu dizinden itibaren disk hakkında dizinler düzeyinde bilgi edinmek istediğini varsayalım.Bu durumda du komutunu doğrudan doğruya kullanabilir.
Eğer sistem yöneticisi özel bir dosya için araştırma yapmak istiyorsa du -a komutunu grep komutu ile birlikte kullanabilir. $ du -a | grep perpg002 15 ./personel/program/perpg002.r $ _
Dosya yada dizinler ekranda listelenmeden,sadece toplam alanın görüntülenmesi -s seçeneği yardımıyla sağlanır. $ du -s 159 . $_
NOT:Örneklerdeki numaralar, o dosyanın ya da dizinin blok sayısıdır. Mesela her bir blok disk üzerinde 512,1024 veya 2048 byte yer tutabilir.
echo -Belirtilen ifadeleri görüntülemek üzere echo komutundan yararlanılır.Genellikle kabuk programlarında kullanılır.
Seçenekler
-n : Sondaki "newline" ı yazmaz. -e : Aşağıdaki karakterlerin yorumlanmasını sağlar.
\b -geri boşluk
\c -yeni satıra başlamadan yazmaya devam eder.
\f -yeni satır
\r -return tuşu
\t -tab
\ -ters slash
\v -dikey tab
\a -zil
Örnekler 1. Önce "a" değişkenine "serdar" ı aktaralım.Sonra echo komutu yardımıyla görüntüleyelim.
$ a=serdar $ echo $a serdar $_
2. Üstteki ile aynı işlemi -n seçeneği ile uygulayalım.
$ a=serdar $ echo -n $a serdar$_ ******************************************************************* Komut find - bir kılavuz ağacı içinde kütüklerin aranması Bu kılavuz, find komutunun GNU versiyonunu ele almaktadır. find komutu, belirtilen kütük isimlerinin kılavuz ağacında aranmasını sağlar. Bu arama işlemi ifadelerde belirtilen biçime göre yapılır. İfadeler, soldan sağa doğru, öncelik kurallarına uyularak değerlendirilir ( bak OPERATÖRLER). ` - , ` ( , ` ) , ` , veya ` ! işaretlerinin herhangi birisiyle başlayan ilk argüman ifadeler kısmının başlangıcı olarak kabul edilir. Bundan önce gelenler aranacak yolları, sonra gelenler ise geri kalan ifadeleri oluştururlar. Eğer herhangi bir yol belirtilmemişse, içinde bulunulan kılavuz kullanılır. Eğer herhangi bir ifade belirtilmemişse, ` -print ifadesi kullanılır. find, bütün kütükleri başarıyla işlenmesi halinde 0, bir hata oluştuğu taktirde 0dan daha büyük bir değer alır. Söz dizimi
find [yol...] [ifade] Komutun seçenekleri İFADELER İfadeler; seçenekler ( işlemin tamamını etkilerler ve her zaman doğru geri döndürürler), testler ( doğru veya yanlış değer geri gönderirler) ve hareketlerden ( yan etkileri vardır, doğru veya yanlış değer geri döndürürler) oluşur. Bunların herbiri operatörlerle birbirlerinden ayrılırlar. Eğer ifade -prune haricinde herhangi bir hareket içermiyorsa ifadenin doğru olduğu bütün kütükler için -print kullanılır. SEÇENEKLER Bütün seçenekler her zaman doğru geri döndürürler ve ifadelerdeki sıraları göz önünde bulundurulmaksızın işlem üzerinde her zaman etkilidirler. Bu nedenle, komut satırının anlaşılırlığı için, ifadelerin başında kullanılmalarında fayda vardır. -daystart Bugünün başlangıcından sonraki zamanları ölç ( -amin, -atime, -cmin, -ctime, -mmin ve -mtime için). -depth Kılavuzun içeriğini kılavuzun kendisinden önce işleme koy. -help, --help find komut satırının kullanılmasıyla ilgili özet görüntüle ve çık. -maxdepth n Komut satırında belirtilen argümandan en fazla n ( negatif olmayan tamsayı) basamak kılavuz in. nin 0 olması halinde işlemler komut satırında belirtilen argümanlar üzerinde uygulanır. -mindepth n n ( negatif olmayan tamsayı)den daha düşük basamaklardaki kılavuzlarda işlem yapma. nin 1 olması, işlemlerin komut satırında belirtilen argümanların haricinde uygulanacağını gösterir. -mount Diğer kütük sistemlerinin kılavuzlarına inilmez. -noleaf Kılavuzların, link sayılarının iki eksiği kadar alt kılavuzlara sahip oldukları göz önünde bulundurulmaz. Bu seçenek, Unix kılavuz-link düzeni dışındaki bir kütük sisteminde ( CD-ROM veya MS-DOS kütük sistemi) arama yapıldığında gereklidir.Unix kütük sisteminde normalde her kılavuzun en az iki linki vardır: adı ve ` . girişi. Ayrıca her alt kılavuz ( varsa) için bir ` .. vardır. -version, --version find komutunun versiyon numarasını görüntüle ve çık. -xdev Diğer kütük sistemlerinin kılavuzlarına inilmez. TESTLER Sayısal argümanlar; +n nden daha büyük sayılar için, -n nden daha küçük sayılar için, n tam olarak n için kullanılır. -amin n Son n dakika içinde erişilen kütükler. -anewer file filein değiştirilmesinden çok daha yakın bir zaman içinde erişilen kütükler. -anewer, komut satırında kendisinden önce gelen -follow argümanından etkilenir. -atime n Son n*24 saat içinde erişilen kütükler. -cmin n Son n dakika içinde değiştirilen kütükler. -cnewer file filein değiştirilmesinden çok daha yakın bir zaman içinde değiştirilen kütükler. -cnewer, komut satırında kendisinden önce gelen -follow argümanından etkilenir. -ctime n Son n*24 saat içinde değiştirilen kütükler. -empty Kütük boş. Kütük ya bir kılavuz ya da gerçek bir kütük. -false Her zaman yanlış. -fstype type Kütük, type tipinde bir kütük
Komut FTP:Iki bilgisayar arasinda dosya transferini saglar.Uzaktaki bilgisayara dosyalar koyabilirsiniz(upload). Ya da uzaktaki bilgisayardan yerel bilgisayara dosyalar indirebilirsiniz.(download)bkz.ornek1
verbose:Sunucudan gelen tum mesajlari ekrana yazar.(Islemi tersine cevirmek icin tekrar verbose yazilir.)bkz.ornek7
Örnekler
**conopus makinasina baglanti yapiliyor.Baglanmak icin isim ve sifre giriliyor.
1.$ftp canopus
Connected to canopus.austin.century.com FTP server (Version 4.1 Sat Nov 23 12:52:09 CST 1991) ready Name (canopus:eric):dee 331 Password required for dee. Password: 230 User dee logged in.
**Bulundugunuz makinadaki dosyalar listeleniyor
2.ftp>dir
200 PORT Command Successful 150 Openning data connection for /bin/ls total 4368 -rw-r--r-- 1 bbm893 obbm 304 Dec 07 14:09.addressbook drwxr-xr-x 2 bbm893 obbm 512 Dec 29 09:38 images
**Bulundugunuz dizini gosterir.
3.ftp>pwd
257 "/ev/muh/bbm/ogr/bbm898" is current directory.
**Images dizinine girer
4.ftp>cd images
250 CWD Command successful
**Butun dosyalari topluca indirir ve her dosya icin onay alir
5.ftp>mget *.*
mget lif.exe?n mget mono.exe?y 200 PORT command successful 150 Opening data connection for mono.exe(213051 bytes) 226 Transfer complete 213051bytes received in 0.56 seconds(355.08 Kbytes/sec)
**Yapilan islemde(mget) onay almaz
6.ftp>prompt
ineractive mode off. ftp>mget *.*
200 PORT Command Successful 150 Openning data connection for /bin/ls 226 Transfer complete 22860 bytes received in 2.75 seconds(1.1 Kbytes/sec)
**ilk ornekte verboseu kapatiyoruz,server islemlerle ilgili cevaplarini yazmiyor; actigimizda ise cevaplar yaziliyor.
7.ftp >verbose
Verbose mode off. ftp>mget finder ##
ftp>verbose
Verbose mode on
ftp>mget finder
200 PORT Command successful 150 Openning data connection for /bin/ls ## 226 Transfer complete 5680 bytes received in 0.11 seconds(51.64 Kbytes/sec)
**Status komutuyla modlarin durumunu ogreniyoruz
8.ftp>status
Connected to lidya.cc.hun.edu.tr Type:ascii; Verbose:On; Bell:Off; Prompting:Off; Globbing:On; Debugging:Of; Hash mark printing:On
**ilk ornekte transfer modunu asciiye ceviriyor, 2.de ise asciiden binarye ceviriyor
9.ftp>type ascii
200 Type set to A;from set to N.
ftp>type binary
200 Type set to I.
**Transfer modunu binarye ceviriyor
10.ftp>binary
200 Type set to I.
**Kullaniciyi degistiriyor
11.ftp>user
(Username)bbm898 331 Password required for bbm898 Password: 230 bbm898 logged in.
**! komutuyla ftpden cikip shell ortamina geri donuyor
mput odev.bak?y 200 PORT Command Successful 150 Openning data connection for ODEV.BAK 226 Transfer complete 6228 bytes send in 0.06 seconds(103.8 Kbytes/sec)
**deneme2 adli yeni bir dosya olusturuyor
18.ftp>mkdir deneme2
---->XMKD deneme2 257 MKD Command Successful
**Resim transferi yapilacagindan mod once binarye cevriliyor.Sonra dosya serverdan indiriliyor
19.ftp>bi
ftp>get Snowman.exe 200 PORT Command Successful 150 Opening data connection for Snowman.exe (1447847 bytes) 226 Transfer complete. 1447847 bytes received in 2.97 second(48749Kbytes/sec)
Ilgili Komutlar: face=Arial color=#0000ffkill, face=Arial color=#0000ffmkdir
"grep" , karakterlerden olusan belirli kaliplari bir veya daha fazla dosya içinde aramamizi saglayan bir komuttur.Komut kullanimi su sekildedir:
grep [seçenekler] ifade [dosya...]
"Grep" komutu bir kalibi dosyalar içinde aramasina karsilik,"egrep" komutu ayni islemlere ek olarak,bazi ilave islemleri de gerçeklestirebilir. "Egrep" komutu yardimiyla, "+" isaretiyle biten ifadeler bir veya daha fazla sayida karsilastirilabilir. Buna karsilik "-" isareti ile biten ifadeler 0 veya 1 kere karsilastirilabilir; birbirinden "|" veya "newline" karakteri ile ayrilmis ifadelerden biri veya digeri karsilastirma islemine sokulabilir ve son olarak, bu ifade parantez içine alinarak gruplandirilabilir. "Fgerp" komutu ise, "newline" ile ayrilmis dizgileri içeren dosyalari arastirmak amaciyla kullanilir.
"Egrep" ve "fgerp" komutlari, aynen "grep" komutunda oldugu gibi dosyalardan belirli kaliplarin aranmasi amaciyla kullanilabilir. Bulunan her satir ekranda görüntülenir. "Egrep" tarafindan kullanilan kaliplar düzgün ifadeler seklindedir. Buna karsilik "fgrep" ile sabit dizgiler arastirilir. Bu durumda "-e" seçenegi sadece "egrep" ile kullanilabilir. Egrep ile aranilan ifadelerin tirnak isaretleri arasinda kullanilmasi tavsiye edilir.
Seçenekler
-v : Aranilan kalibin bulunmadigi satirlari görüntüler. -c : Aranilan kalibin toplam kaç satirda yer aldigini görüntüler. -i : Küçük harf,büyük harf ayrimi yapmaz. -l : Aranilan kalibin bulundugu dosya isimlerini görüntüler. -n : Bulunan satirlar dosya içindeki satir numaralariyla birlikte görüntülenir. -b : Bulunan satirlarin blok numaralarini listeler. -s : Dosya bulunamadigi zaman, hata mesaji almak istenmiyorsa bu seçenek tercih edilebilir. -e ifade : "_" ile baslayan ifadelere izin verir. "Egrep" ve "fgrep" komutlariyla kullanilabilir. -f dosya : Bir dosyanin içerdigi ifadeleri bir baska dosya içinde aramak amaciyla kullanilir.
Örnekler
"Deneme.c" adli bir dosya oldugunu varsayalim. Dosyanin içerigini görüntülemek istersek:
Yukarida görüldügü gibi "veya" isleci karsiligi olarak "|" isareti kullanilmistir.
"isim" dosyanin icerigi su sekilde olsun:
$ cat isim Etem Begum $_
Bu dosyadaki isimlerin "liste" adli dosyada olup olmadigini arastirmak istiyoruz. Bu amaçla fgrep veya egrep "-f" seçenegi ile birlikte kullanabilir.
$ fgrep -f isim liste Etem ESKIN 9999 Bugum OZKAN 89855 $_
Fgrep komutuyla birden fazla dizgi ayni anda aranilabilir. "Yalcin","Begum" ve "ESKIN" dizgilerini aramak için asagdaki yöntem izlenir: Önce fgrep komutuyla birlikte "Yalcin" dizgisi yazilir ve return tusuna basilir. İkinci sairda > isareti görüntülenir. Bu isaret ardindan ikinci dizgi yazilir ve return tusuna basilir. Son olarak üçünü dizgi kaydedilerek tirnak kapatilir.
Herhangi bir dizide,adi "mektup" ile baslayan dosyalar arasinda bir veya birkaç tanesinin içinde ayfer sözcügünün bulundugunu biliyorsunuz ama hangileri oldugunu bilmiyorsunuz. Böyle bir durumda:
$ grep ayfer mektup1 mektup2 mektup3
veya
$ grep ayfer mektup*
komutlari kulllanilabilir.
"grep" komutu, arama isini birden fazla dosya üzerinde yaptigi zaman, kullaniciya kolaylik olmasi için bulunan satirlari ekrana listelerken, her satirin basina, satirin bulundugu dosyanin adini ekler.
Eger bulunan satirlar için yalnizca dosya adlarini görmek istiyorsaniz:
$ grep -l ayfer mektup*
formu kullanilabilir.
Adi "mektup" la baslayan dosyalarda ayfer sözcügünün kaç defa geçtigini ögrenmek istiyorsaniz:
gzip : Gzip komutu dosya ya da dizinleri sıkıştırma, gziple sıkıştırılmış dosya ya da dizinleri açma işlemini yapar. Dosyanın kullanıcı hakları, erişim ve değiştirme zamanları gibi özellikleri korunarak, dosya .gz uzantılı bir dosya ile değiştirilir. Gzip komutu bir çok seçenek ile kullanılmakla beraber genel formatı aşağıdaki gibidir.
Sıkıştırılmış dosyalar gzip -d , gunzip ya da zcat kullanılarak orijinal hallerine geri getirilebilir.
Seçenekler
-a : Ascii text dosyalarındaki satır sonlarının saklanmasını sağlar. -c : Çıktının standart çıkışta (ekran) görülmesini sağlar. -d : Sıkıştırılmış dosyaların eski haline getirilmesini sağlar. -f : Sıkıştırma ya da açma işlemlerinde; dosya başka yerlere link içeriyorsa, böyle bir dosya varsa ve üzerine yazma tehlikesi oluşmuşsa ya da dosya terminal tarafından kullanımdaysa, bu durumlarla ilgili uyarı vermeden sıkıştırma işlemini yapar. -h : Gzip komutunun seçenekleri hakkında kısa bir bilgi verir. -l : Sıkıştırılmış dosyalar hakkında bilgi verir. -L : Gzip komutunun lisans bilgilerini verir. -n : Dosyanın orijinal adı ve zaman ayarları saklanmaz. -N : -n komutunun tersine orijinal dosya adının korunmasını sağlar. -q : Uyarıların gösterilmemesini sağlar. -r : Gzip ile birlikte bir dizin adı verilmişse, bu dizinin tüm alt dizinlerini inceler ve bulduğu tüm dosyaları ayrı ayrı sıkıştırır. -t : Sıkıştırılmış dosyanın güvenilirliğini ve sağlamlığını denetler. -v : Her dosya için isim ve sıkıştırma yüzdesi bilgisini verir. -V : Kaçıncı versiyon olduğunu ve derleme seçeneklerini gösterir. -# : (1-9)Sıkıştırma işleminin hızını belirler.
Sonek
-S .suf : Sıkıştırdığınız dosyaların uzantılarının .gz yerine .suf olmasını sağlar.
Örnekler
1.Dosya adı doğru olarak verilmişse, dosyanın kullanıcı hakları, erişim ve değiştirme zamanları gibi özellikleri korunarak, dosya .gz uzantılı bir dosya ile değiştirilir. Ancak olmayan bir dosya ya da "-" isimli bir dosya adı verilmişse ya da dosya adı yazılmamışsa uyarı mesajı alınır.
$gzip - gzip: compressed data not written to a terminal. Use -f to force compression. For help, type: gzip -h
$gzip gzip: compressed data not written to a terminal. Use -f to force compression. For help, type: gzip -h
Görüldüğü gibi bulunduğumuz terminalde böyle bir dosya olmadığı uyarısını aldık.
2.Gzip dosyanın türüne göre farklı oranlarda sıkıştırma işlemi yapabilmektedir.
$gzip -v deneme.out deneme.out: 62.6% -- replaced with deneme.out.gz $
Burada çalıştırılabilir bir dosya %62.6 oranında sıkıştırılmıştır.
$gzip -v ornek.txt ornek.txt: 30.3% -- replaced with ornek.txt.gz $
Burada da bir text dosyası %30.3 oranında sıkıştırılmıştır.
3.-c seçeneği ile komutun çıktısı ekrana yazdırılmaktaydı.
Bu çıktı ne işe yarar bilinmez ama en baştaki gzip.html bize dosyanın orijinal adının saklandığını gösteriyor.
4.Gzip ile sıkıştırdığımız bir dosyayı gzip -d ile açmamız mümkün.
$gzip -d odev1.txt.gz $ls -l total 120 -rw-r--r-- 1 bbm897 obbm 17336 Jan 06 12:20 gzip.txt -rw-r----- 1 bbm897 obbm 3833 Dec 21 10:54 odev1.txt -rw-r----- 1 bbm897 obbm 2209 Jan 06 12:17 odev2.txt -rwx------ 1 bbm897 obbm 30574 Jan 06 12:20 resim.bmp $
5.Seçenekler hakkında özet bir bilgi için -h seçeneğini kullanıyoruz.
$gzip -h gzip 1.2.4 (18 Aug 93) usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...] -c --stdout write on standard output, keep original files unchanged -d --decompress decompress -f --force force overwrite of output file and compress links -h --help give this help -l --list list compressed file contents -L --license display software license -n --no-name do not save or restore the original name and time stamp -N --name save or restore the original name and time stamp -q --quiet suppress all warnings -r --recursive operate recursively on directories -S .suf --suffix .suf use suffix .suf on compressed files -t --test test compressed file integrity -v --verbose verbose mode -V --version display version number -1 --fast compress faster -9 --best compress better file... files to (de)compress. If none given, use standard input. $
Burada; compressed : sıkıştırılmış haldeki uzunluğu uncompr. : sıkıştırılmamış haldeki uzunluğu ratio : sıkıştırma yüzdesi uncompressed_name : dosyanın orijinal adı bilgilerini vermektedir.
7.Gzip komutunun lisans bilgilerini alalım.
$gzip -L gzip 1.2.4 (18 Aug 93) Copyright (C) 1992-1993 Jean-loup Gailly This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. $
8.Gzip -r ile birlikte bir dizin adı verilmişse, bu dizinin tüm alt dizinlerini inceler ve bulduğu tüm dosyaları ayrı ayrı sıkıştırır.Bu bir arşivleme işlemi değildir."Gzip ile dizinler sıkıştırılabilir mi?" sorusunun yanıtı da burdan çıkarılabilir: dizinler değil ama tüm dizin içeriği gziple sıkıştırılabilir.Dizinleri arşivlemek için face=Arial color=#0000fftar komutunu kullanılmalıdır.
[bbm897@lidya bbm897]$gzip -r deneme [bbm897@lidya bbm897]$cd deneme [bbm897@lidya deneme]$ls -l total 48 -rwxr-xr-x 1 bbm897 obbm 3231 Jan 06 12:38 deneme.out.gz -rw-r--r-- 1 bbm897 obbm 6022 Jan 06 12:20 gzip.txt.gz -rw-r----- 1 bbm897 obbm 792 Dec 21 10:54 odev1.txt.gz -rw-r----- 1 bbm897 obbm 997 Jan 06 12:17 odev2.txt.gz -rwx------ 1 bbm897 obbm 3448 Jan 06 12:20 resim.bmp.gz [bbm897@lidya deneme]$
deneme dizinindeki tüm dosyalar sıkıştırıldı.
9.Gzip ile sıkıştırdığımız dosyalara genel olarak .gz uzantısı verilmektedir. Ancak istediğimiz taktirde bu uzantının başka bir dizgi olmasını sağlayabiliriz. İstediğimiz uzantıyı(boşluk dahil) verebileceğimiz gibi , karışıklık yaratması kaçınılmaz olduğu için dikkatli kullanılması tavsiye edilir.
$gzip -S .zip zzz.bmp $ls -l total 48 -rwxr-xr-x 1 bbm882 obbm 916 Jan 06 14:54 gzip.html.gz drwx------ 2 bbm882 obbm 512 Jan 06 14:52 mail drwxr-xr-x 2 bbm882 obbm 512 Dec 24 14:11 public_html -rw-r----- 1 bbm882 obbm 5436 Oct 26 11:29 zzz.bmp.zip $
Sıkıştırdığımız zzz.bmp dosyası .gz yerine .zip uzantısı ise saklandı. Ancak bu dosya gzip -d ile tekrar açılamaz.Gzip -d .zip uzantısını tanımamaktadır.
11.Sıkıştırma işleminin hızını belirlememiz mümkün. -1 : en hızlı fakat en az sıkıştırma. -9 : en yavaş fakat en iyi sıkıştırma. -6 : belirtilmezse aldığı değer. olmak üzere gzip -1 ya da gzip -6 gibi sıkıştırma işleminin hızını belirleyebiliriz.
12.Sıkıştırılan dosyaların isimleri, işletim sistemi için çok uzunsa, gzip dosya isimlerini kısaltır. Yalnız bu kısaltma noktalarla ayrılan bölümlerde, 3 karakterden fazla karakter varsa gerçekleştirilir. Örnegin; Dosya isimlerinin 14 karakterli olabileceği bir işletim sisteminde, unix.komut.tar isimli bir dosya üzerinde gzip komutu çalıştırılırsa, bu dosya, uni.kom.tar.gz dosyasına sıkıştırılır.
Gzip komutu dosya ya da dizinleri sıkıstirma, gziple sıkıstirilmis dosya ya da dizinleri acma islemini yapar.
GNUnun sıkıstirma programi olup, Lempelziv kodlama yontemini(LZ77) kullanir. Gzip ile sıkıstirilmis dosyalar UNIXte .gz ; VMSte -gz ; MSDOS, OS/2 ve WINDOWS NTde .z uzantili dosyalardir.
Dosya adi dogru olarak verilmisse, dosyanin kullanici haklari, erisim ve degistirme zamanlari gibi ozellikleri korunarak, dosya .gz uzantili bir dosya ile degistirilir. Ancak olmayan bir dosya ya da "-" isimli bir dosya adi verilmisse ya da dosya adi yazilmamissa uyari mesaji alinir.( color=#606420 ornek-1).
Sıkıstirilan dosyalarin isimleri, isletim sistemi icin cok uzunsa, gzip dosya isimlerini kisaltir. Yalniz bu kisaltma noktalarla ayrilan bolumlerde, 3 karakterden fazla karakter varsa gerceklestirilir.
Ornegin; Dosya isimlerinin 14 karakterli olabilecegi bir isletim sisteminde, unix.komut.tar isimli bir dosya uzerinde gzip komutu calistirilirsa, bu dosya, uni.kom.tar.gz dosyasina sıkıstirilir.
Gzip dosyanin turune gore farkli oranlarda sıkıstirma islemi yapar. %60-70 oraninda text ve kod dosyalari, %70-90 oraninda bmp uzantili dosyalar ... sıkıstirilabilmektedir. ( color=#606420 ornek-2).
Gzip bazi ozel bilgileri saklayabilmek amaciyla, bir kac byte dosya basligi icin, 5 byte her 32Klik blok icin veya uzun dosyalarin %0.015i kadarlik bellek kullanir.
Gzip genel olarak, compress(LZW kodu), pack(Huffman kodu) ve compact(Gelistirilmis Huffman kodu) ten daha iyi sonuc verir.
GZiP KOMUTUNUN KULLANIM SEKLi
Gzip komutu bir cok secenek ile kullanilmakla beraber genel formati asagidaki gibidir.
Kullanimi icin color=#606420 ornekler, Secenekler icin de color=#606420 secenekler bolumlerini inceleyiniz.
GZiPLE SIKISTIRILMIS BiR DOSYANIN ACILMASI Sıkıstirilmis dosyalar gzip -d , gunzip ya da zcat kullanilarak orijinal hallerine geri getirilebilir.
Gunzip ile .gz , -gz , .z , -z , _z , .Z ya da .tgz(.tar.gz) , .taz(.tar.Z) uzantili dosyalar acilabilir.
zcat gunzip -c ile ayni isi yapar. Bazi sistemlerde gzcat olarak da yuklu olabilir.
SECENEKLER
Gzip komutu bir cok secenegi ile degisik kullanim olanaklari sunmaktadir. Ancak en basit anlamda;
gzip dosya_adi yazmakla bir dosyayi sıkıstirabilir,
gzip -d dosya_adi yazmakla da sıkıstirilmis bir dosyayi acabilirsiniz.
Gzip komutu ile kullanabileceginiz secenekler sunlardir:
-a --ascii Ascii text dosyalarindaki satir sonlarinin saklanmasini saglar. Unix disindaki sistemlerce desteklenmektedir.
-c --stdout Ciktinin standart cikista (ekran...) gorulmesini saglar. Orijinal dosya degismeden kalir.Eger birden fazla giris dosyasi verilmisse bunlar ardarda yazdirilir. Birden fazla dosyayi sıkıstirmadan once dosyalari birlestirmek daha iyi bir sonuc verecektir. ( color=#606420 ornek-3).
-d --decompress Sıkıstirilmis dosyalarin eski haline getirilmesini saglar. ( color=#606420 ornek-4).
-f --force Sıkıstirma ya da acma islemlerinde; dosya baska yerlere link iceriyorsa, boyle bir dosya varsa ve uzerine yazma tehlikesi olusmussa ya da dosya terminal tarafindan kullanimdaysa, bu durumlarla ilgili uyari vermeden komutu calistirir.
-h --help gzip komutunun secenekleri hakkinda kisa bir bilgi verir. ( color=#606420 ornek-5).
-l --list Sıkıstirilmis dosyalar hakkinda bilgi verir. ( color=#606420 ornek-6).
-L --licence gzip komutunun lisans bilgilerini verir. ( color=#606420 ornek-7).
-n --noname gzip komutu dosya isimlerini kisaltabilir(bkz. ( color=#606420 Gzip Ne Yapar?)). Boyle bir durumda dosya adi ve zaman ayarlari korunur. Ancak -n secenegi kullanilirsa dosyanin orijinal adi ve zaman ayarlari saklanmaz.
-N --name -n komutunun tersine orijinal dosya adinin korunmasini saglar. Dosya adlari icin sinir koyan isletim sistemleri icin oldukca kullanislidir.
-q --quiet Uyarilarin gosterilmemesini saglar.
-r --recursive gzip ile birlikte bir dizin adi verilmisse, bu dizinin tum alt dizinlerini inceler ve buldugu tum dosyalari ayri ayri sıkıstirir. Bu bir arsivleme islemi degildir."Gzip ile dizinler sıkıstirilabilir mi?" sorusunun yaniti da burdan cikarilabilir: dizinler degil ama tum dizin icerigi gziple sıkıstirilabilir.( color=#606420