Sistem görevlisinin en çok kullandığım komutlardan birisi
ps -aux | grep -i xxx komutudur. Bu satır
yardımıyla çalışan xxx isimli program
hakkında daha ayrıntılı bilgi elde edilebilir.
ps komutu ayrıntılı bir süreç listesini
ekrana verirken çıktı doğrudan grep komutuna yönlendirilir ve
sadece istediğimiz bilgi monitörde görünür. Fakat her zaman aynı
uzun satırı tekrar tekrar yazmaktansa bu satırı bir dosyaya gönderip,
dosya adını komut satırından çalıştırmak zamandan tasarruf sağlayacaktır.
Biz de öyle yapalım ve aşağıdaki satırları "p" isimli dosyaya yazalım.
#!/bin/bash
if [ $# = 1 ]
then
ps -ax | grep -i $1
else
ps -ax
fi
Ardından dosyayı PATH değişkeninin işaret ettiği dizinlerden
/usr/local/bin altına yerleştirip çalıştırılabilir
olması için chmod +x /usr/local/bin/p komutunu
uygulayın. Kendi yazdığınız dosyaları /usr/local
veya ~/bin dizini altına kopyalamanız bunların derli
toplu olarak tek bir dizinde her an erişilebilir şekilde durmaları
açısından önem taşır.
grep komutu, bir dosyadaki veya standart girişteki
satırlar içinden belirli bir kelime, harf veya harf grubunu bulmaya yarar.
Aşağıdaki birkaç örnek grep'i özetlemeye yeter.
$ grep while sort.c
sort.c dosyasinda while kelimesini iceren tum satirlari ekrana yazar.
$ w | grep demir
sistemde demir isimli kullanici var mi?
$ ls -al | grep "^d"
Son örnek, ls -al çıktısında satır başında ``d''
varsa ekrana getirir. Sadece dizin isimlerinin başında ``d'' harfi
bulunur. Şapka isareti, satır başlangıcını gösterir.
Dosyaya biraz daha yakından bakalım. İlk satır, bu dosyanın
/bin/bash programı tarafından çalıştırılacağını gösterir.
İkinci satır yardımıyla komut satırı üzerinde kaç tane seçenek olduğu
bulunur. $# çevresel değişkeni her biri TAB veya boşluk karakteri ile ayrılmış
komut satırı seçeneklerinin sayısını verir. Aşağıdaki komutta toplam 3
seçenek vardır.
$# komutuna benzer şekilde $1, $2, $3...
değişkenleri de seçenekleri verir. Yukarıdaki komutta $1, $2, $2
değişkenleri sırasıyla
değerlerini alırlar. Komut satırından çalıştırılan komut ise $0
değişkenine atılır. Yukarıdaki örnekte $0 değişkeni
ls değerini tutacaktır.
p dosyasına tek seçenek yollayacağız. Bu seçenek de
hakkında ayrıntılı bilgi alacağımız süreç olacaktır. Dosya içinde
$1 değişkenini ps komutuna yerleştirmek için:
yazılır. Bundan sonra komut satırında, örneğin:
girilirse $1 değişkeni bash e eşit olacak ve bu da
ps -ax | grep -i bash eşdeğer komutunu çalıştıracaktır.
Komut olarak sadece p girilirse $# değişkeni 0'a
eşit olacağından dosyada yeralan ve hiç bir filtreleme yapmayan
ps -ax komutu çalışır.
Linux'u yüklerken HOWTO dökümanlarını da eklemeyi
ihmal etmediniz, değil mi? Aşağıdaki kısa program, bu dosyalara en hızlı
şekilde ulaşmanıza yarıyor. Tüm HOWTO'lar kurulum aşamasında
/usr/doc/faq/howto dizini altına kopyalanır ve sıkıştırılır.
Bu programı herhangi bir isimle kaydedin. Ardından komut satırından
programın ismi ile birlikte ekranda görüntülemek istediğiniz
HOWTO dökümanının ismini yazın (örneğin PPP).
Bir parametre girilmez ise /usr/doc/faq/howto
dizinindeki dosyalar ekrana gelir.
#!/bin/bash
if [ "$1" = "" ]; then
ls /usr/doc/faq/howto | less
else
gunzip -c /usr/doc/faq/howto/$1-HOWTO.gz | less
fi