Alternatifim Cafe

MS-DOS Komutları

Discussion started on İşletim Sistemleri

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

Bu komut girilen satırların(klavyeden) dosya1 dosyasının arkasına eklemeye yarar.Örnekler:
$ 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!
^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.

Sözdizimi

chgrp [ -f ] [ -h ] [ -R ] Grup { Dosya..... | Klasör.....}


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)

İzinler üzerindeki işlemler için:
+ : yetki ekleme
= : yetki eşitleme
- : yetki çıkarma

İ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.

ilgili komutlar

http://gnu-tr.net/Destek/Linux_Komut/chgrp.html tppabs=http://www.linux.org.tr/documents/kullanici_belgeleri/Bash/chgrp.html

**********************************************************************
Komut:
cp veya copy Komutu

Amac:Kutuk kopyalama.

Soz dizimi
Bir kutugu baska bir kutuge kopyalamak icin:
{ cp | copy } [-f] [-h] [-i] [-p] [--] Kaynak_Kutuk Hedef_Kutuk

Bir kutugu bir klavuza kopyalamak icin:
{ cp | copy} [-f] [-h] [-i] [-p] [-r | -R] [--] Kaynak_Kutuk ... Hedef_Klavuz

Bir klavuzu bir klavuza kopyalamak icin:
{ cp | copy} [-f] [-h] [-i] [-p] [--] [-r | -R] Kaynak_Klavuz ... Hedef_Klavuz




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

**************************************************************************************************************************
Komut

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

İlgili Komutlar

http://gnu-tr.net/Destek/Linux_Komut/cp.html tppabs=http://www.linux.org.tr/documents/kullanici_belgeleri/Bash/cp.html
*************************************************************************************************************************

Komut

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

Örnekler

$date
Mon Jan 11 13:29:48 MEST 1999

$date +%j
011

$date +%D
01/11/99

$date "+%A %B %Y"
Monday January 1999

$date +%A%D%Y
Monday01/11/991999

$date "+%j %U %Y"
011 02 1999

$date +%Z
MEST

$date +%A%B%Y
FridayJanuary1999

$date "+%d %m %y"
15 01 99

$date "+%a %b"
Fri Jan

$date "+%I:%M %p"
10:44 AM

$date "+%A %B %d %Y"
Friday January 15 1999
*****************************************************************
Komut

df-Bir disk üzerindeki mevcut kapasite ve bos alanlarin miktarin

ögrenmek amaciyla kullanilir.


Seçenekler


-t : Her dosyalama sisteminin, bos alanlar yanisira toplam alani

ve i-dügümlerini görüntüler.

-f : Dosya sisteminin bos alanlarini, i- noktalarini vermeden ve

toplayarak görüntüler.Bu nedenle diger seçenege oranla yavas
çalisir.

Örnekler

Sistemdeki mavcut tüm disklerin üzerine kurulu dosya sistemleri ve

bos alanlari görüntülemek üzere df komutu dogrudan dogruya kullanilir.

$ df
/ (/dev /ds000 ): 22104 blocks 14590 i-nodes
/disk0 (/dev /ds001 ): 24288 blocks 39359 i-nodes
/disk1 (/dev /ds002 ): 106240 blocks 39798 i-nodes
/disk2 (/dev /ds003 ): 7624 blocks 28987 i-nodes
/disk3 (/dev /ds004 ): 69624 blocks 19187 i-nodes
/disk4 (/dev /ds005 ): 16264 blocks 14590 i-nodes
$ _

Ayni görüntü içine mevcut toplam disk kapasitelerini de eklemek için
-t seçenegi seçilir.
$ df-t
/ (/dev /ds000 ): 22104 blocks 14590 i-nodes
total: 150000 physscal (18750 4096-byte logical) blks 18688 i-nodes
/disk0 (/dev /ds001 ): 24288 blocks 39359 i-nodes
total: 319336 physscal (39917 4096-byte logical) blks 39872 i-nodes
/disk1 (/dev /ds002 ): 106240 blocks 39798 i-nodes
total: 319336 physscal (39917 4096-byte logical) blks 39872 i-nodes
/disk2 (/dev /ds003 ): 7624 blocks 28987 i-nodes
total: 244336 physscal (30542 4096-byte logical) blks 30528 i-nodes
/disk3 (/dev /ds004 ): 69624 blocks 19187 i-nodes
total: 159304 physscal (19913 4096-byte logical) blks 19904 i-nodes
/disk4 (/dev /ds005 ): 16264 blocks 25514 i-nodes
total: 244336 physscal (30542 4096-byte logical) blks 30528 i-nodes
$ _

Sadece /dev/ds001 diski için df komutu kullanilabilir.Bu takdirde
diger disklere ait bilgiler görüntülenmez.

$ df -t /dev/ds001

/ disk0 (/dev /ds001 ): 24288 blocks 39359 i-nodes
total: 319336 physscal (39917 4096-byte logical) blks 39872 i-nodes

$ _
**********************************************************************
Komut

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

şeklinde olsun.

Eğer diff komutunu kullanırsak;

$diff liste liste1
2c2
< Ayşe Birinci:1978:300
---
> Ayşe Birinci:1988:300
5c5 < Burak Zorlu:1981:350
---
> Burak Zorlu:1981:300
$

biçiminde çıktı oluşur.

2. Örnek

$diff -w dark.doc.txt dark.txt

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.

$ du
1 ./personel/data
46 ./personel/programlar
48 ./personel
15 ./yönetim
54 ./satis/ihracat
38 ./satis/magaza
93 ./satis
159 .
$_

Herbir dizinde yer alan dosyaların görüntülenmesi isteniyorsa, bu kez -a seçeneğininin tercih edilmesi gerekmektedir.


$ du -a
3 ./profile.r
1 ./personel/data
10 ./personel/programlar/perpg003.r
15 ./personel/programlar/perpg002.r
20 ./personel/programlar/perpg001.r
46 ./personel/programlar
48 ./personel
5 ./yönetim/nakit1.r
9 ./yönetim/nakit2.r
15 ./yönetim
54 ./satis/ihracat
38 ./satis/magaza
93 ./satis
159 .
$ _


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.

İlgili Komutlar
fdisk df
****************************************************************************************************************

Komut

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

Secenekler
-g:Dosya adlarindaki metakarakterlerin genislemesini engeller.

-v:Veri transfer istatigini verir ve uzaktaki serverin cevaplarini
yazar

!:ftpden shelle donmeyi saglar.bkz.ornek12

?[komut]:Komutla ilgili yardim bilgisi verir.

append[dosya_ismi][uzaktaki_dosya]:Belirtilen dosyayi uzaktaki
makinada bulunan dosyanin sonuna ekler.

ascii:Transfer modunu ASCIIye cevirir.

bell:Transfer islemi sonunda zil sesi verir.

binary:Transfer modunu resim transferinde kullanilan binarye cevirir.bkz.ornek10

bye:ftpden cikmayi saglar.

cd[dizin_ismi]:Bulundugunuz dizini belirtilen dizine getirir.bkz.ornek4

cdup:Bulundugunuz dizinden bir ustteki dizine cikartir.

close:ftp komutundan cikmadan, dosya transferi
oturumunu bitirir.

cr:ASCIIli dosya transfer islemlerinde RETURNu kaldirir.bkz.ornek13

delete[dosya_ismi]:Dosyayi siler.bkz.ornek15

dir:Dosyalari listeler.bkz.ornek2

disconnect: face=Courier New color=#606420Close ile ayni gorevdedir.

get[dosya_ismi]:Sunucudan dosya indirmeyi saglar.
bkz.ornek19

hash:Dosya transfer islemleri sirasinda islemin surdugune dair bir
uyari verir(ekrana transfer suresince # isareti
baslacaktir).

help[komut]:Komutla ilgili yardim bilgisi verir.

lcd[dizin_ismi]:Yerel makinada bulundugunuz dizini degistirir.

ls:Bulundugunuz dizinin ayrintili listesini verir.

mdelete[dosya_isimleri]:Belirtilen dosyalari ya da dizinin butun
dosyalarini siler.bkz.ornek14

mget[yerel dosyalar]:Birden cok dosyayi indirir.bkz.ornek5

mkdir[dizin_ismi]:Yerel sunucuda yeni bir dizin olusturur.bkz.ornek18

mput[dosya_ismi]:Birden cok dosya koymak icin kullanilir.Her dosya
icin sizden onay isteyecektir.bkz.ornek17

open[sunucu_adi]:Belirtilen sunucuya baglanti acar.

prompt:Toplu transfer islemleri sirasinda onay istemez.bkz.ornek6
(Tekrar ayni komutu yazarsaniz islem tersine doner.)

put[dosya_ismi]:Sunucuya bir dosya koymak icin
kullanilir.

pwd:Bulundugunuz dizini gosterir.bkz.ornek3

quit:ftp komutundan cikmayi saglar.

quote[arg1 arg2...]:Yazilan komutlari uygulatir.bkz.ornek16

recv[dosya_ismi]: face=Courier New color=#606420Get komutu ile ayni gorevdedir.

rename[dosya_ismi][dosya_ismi]:Dosyanin ismini 2.parametre olarak
degistirir.

restart[get|put|append]:Kalınan yerden dosya transferine devam eder.

rmdir[dizin_ismi]:Belirtilen dizini yerel sunucudan siler.

send[dosya_ismi]: face=Courier New color=#606420Put ile ayni gorevdedir.

status:Modlarin durumunu belirtir.bkz.ornek8

type[ascii|binary|ebcdic|image]:Transfer modunu degistirir.bkz.ornek9

user:Kullaniciyi degistirir.bkz.ornek11

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

12.ftp>!

[u@hw]$


**Asciili dosyalarda RETURNu kaldiriyor

13.ftp>cr

Carrige Return stripping off



**Butun dosyalari onay alarak siler

14.ftp>mdelete yeni.txt

mdelete yeni.txt?y
250 DELE Command successful

**gunay.htmyi onay almadan siliyor

15.ftp>delete gunay.htm

250 DELE Command successful

**Yaninda belirtilen mkd komutuyla c:\ dizininde deneme dosyasi
olusturuyor.

16.ftp>quote mkd c:\deneme

257 MKD Command successful

**Dosyayi onay alarak topluca hosta koyar

17.ftp>mput odev.bak

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

**********************************************************************************************************************

Komut

"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:

$ cat deneme.c

#include "stdio.h"
main()
{
printf("HELLO!");
return(0);
}
$_

Bu dosyada "include" dizgisini içeren satiri görüntülemek istersek:

$ grep include deneme.c

#include"stdio.h"

$_

Grep komutunu kullanarak arama islemine baslamadan önce,/etc/passwd dosyasinin içerdigini görüntüleyelim.

$ cat passwd
root: 40jarw :01::/bin/sh
startup: Gxox223 :0:1::/va/script/multi.sh
begum:asdasDF8:122:103::/usr/acct/begum:/bin/sh
$_

Parola dosyasinda yer alan "begum" isimli kullaniciya ait satiri grep komutuyla belirlemek
istiyoruz. Bu durumda komut su sekilde kullanabilir:

$ grep bugün /etc/passwd
begum:asdasDF8:122:103::/usr/acct/begum:/bin/sh
$_

"liste" isimli dosyanin asagidaki satirlari içerdigini varsalim:


$ cat liste
Yalcin OZKAN 22
Mehment SAYSEL 666
Aynur KUCUKYILMAZ 5555
Gulser DONDOUMACI 55588
Etem Eksin 9999
Zaki KUCUK 1588
pervin OZKAN 8244
Bugum OZKAN 89855
Ali OZAZICI 5555
$_

Bu durumda "Etem" dizgisini içermeyen satirlari görüntülemek için grep komutu su sekilde
kullanabilir:

$ grep -v Etem liste
Yalcin OZKAN 22
Mehment SAYSEL 666
Aynur KUCUKYILMAZ 5555
Gulser DONDOUMACI 55588
Zaki KUCUK 1588
Yalcin OZKAN 22
Ali OZAZICI 5555
$_

"Etem" dizgisinin tüm dosyalar içinde aranmasini saglamak ve bulunan dosya isimlerini
görüntülemek istersek:

$ grep -l Etem*
liste
telefon
$_

"liste" dosyasi içinde hem "a" hem de "A" karakterini içeren satirlari belirlemek için, grep komutuyla birlikte [aA] seçenegi kullanilabilir.

$ grep [aA] liste
Yalcin OZKAN 22
$_

Bu islemin tersini yapmak için yani içinde "a" ve "A" karaterini içermeyen satirlari
bulmak için "-v" seçenegi tercih edilebilir.

$ grep -v [aA] liste
Mehment SAYSEL 666
Aynur KUCUKYILMAZ 5555
Gulser DONDOUMACI 55588
Zaki KUCUK 1588
pervin OZKAN 8244
Bugum OZKAN 89855
Ali OZAZICI 5555
$_

Dosya içinde aranilan satirlari -n seçenegini kullanmak suretiyle satir numaralariyla birlikte görüntüleyebiliriz.

$ grep -n OZKAN liste
1: Yalcin OZKAN 22
7: pervin OZKAN 8244
8: Bugum OZKAN 89855
$_

Eger blok numaralari görüntülenmesi istiyorsa -b seçenegi kullanilir.

$ grep -b OZKAN liste
0: Yalcin OZKAN 22
0: pervin OZKAN 8244
0: Bugum OZKAN 89855
$_


Dosya içinde "Aynur" veya "ESKIN" dizgilerini içeren satirlari bulmak amaciyla egrep komutu kullanilabilir.

$ egrep "Aynur | ESKIN" list
Aynur KUCUKYILMAZ 5555
Etem ESKIN 9999
$_

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.


$ fgrep "Yalcin
>Begum>ESKIN" liste
Yalcin OZKAN 22
Bugum OZKAN 89855
Etem ESKIN 9999
$_

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:

$ grep -c ayfer mektup*

komutunu kullanmalisiniz.

Ilgili Komutlar

face=Arial color=#0000fffind

**********************************************************************************************************************

Komut

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.

gzip [seçenekler] [-S sonek] [dosya adı[dosya adı...]]

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ı.

$gzip -c gzip.html
ÚN“6gzip.html•UmoÛ6şî_qS¿l@m5Ù€¥�¢N?Û°,ez êEA[´ÄEò
øØ?íO Ğ£$¿
ÜV�Ä
#�÷Üñø
üÒí?¬[; íãÚ?Àо@�!ÖÌò•ˆSÇö¦ÑÈÁ88ÄÅ×ì
Ú‹·Ç*è ]…ø&Ş4
ËÓÀğŞCÀ9
“Èq,w<Ãey6Œkj©ŒĞ‚.ÍTDz glîÈ·ï(¾e–§¬ÔÌI–Ve%aR Á$¦ğD ¡[¦¡“Á KÉ?mØšå
‰$©õú
$

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.
$

6.Sıkıştırılmış bir dosya hakkında bilgi alalım.

$gzip -l resim.bmp.gz
compressed uncompr. ratio uncompressed_name
3448 30574 88.8% resim.bmp

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.

10.Kullandığımız gzip programının versiyonunu öğrenelim.

$gzip -V
gzip 1.2.4 (18 Aug 93)
Compilation options:
DIRENT UTIME STDC_HEADERS HAVE_UNISTD_H
$

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.

İlişkili Komutlar
face=Arial color=#0000fftar, face=Arial color=#0000ffman

**********************************************************************************************************************

GZiP KOMUTU NE YAPAR?


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.

gzip [secenekler] [-S sonek] [dosya adi[dosya adi...]]

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
#1 - Temmuz 10 2006, 09:47:59

yukarıda yazılanlara tamamen katılıyorum.

çok detaylı açıklamışsın ellerine sağlık
#2 - Ağustos 07 2007, 20:10:23
Hayatım Kural Dışı Olmuş.Kendimin Kuralıyım ߣN ...

 
£я§@N_05

Üye:

0 Üye ve 1 Ziyaretçi konuyu incelemekte.