[b]KOMUTLAR
Konsolda her komuttan sonra helpine bakarsanız o komutun tüm fonksiyonlarını görebilirsiniz.Örnek :
ls --h
veya : ls --help
root@aku: ~# _
tipik bir komut yorumlayıcı komut (prompt). Komutların biçim ya da
yapısı kullanıcının isteğine göre oluşturulabilir. Bizim özel
örneğimizde "@" iminden önceki etiket (root ) şu anda geçerli olan
kullanıcıyı, aku ise sistemin konak adını belirtiyor. ~ karakteri,
yöneticinin hesabı halinde /root olacak olan kullanıcıların anayerleşim
(home) dizinini gösteriyor ve son olarak da "#" komutu bu özel hesabın
süper kullanıcıya ait olduğunu belli ediyor. Kullanıcı şimdi
hareketeden imleçten sonra herhangi bir komutu girebilir.
ls: dizin içeriğini listeler
Örneğin: root@aku:~$ ls
BasiliX/ dead.letter mail/
root@yonca:~# ls -l deneme
Bu örnekte kullanıcının nasıl bir komut (ls), bir komut seçeneği (-l)
ve bir parametreden (deneme) oluşan bir deyim oluşturduğunu
görebiliriz. Kullanıcı enter tuşuna bastığında, Linux deneme dosyasını
listeleyecektir (dosyanın büyüklüğü, oluşturulduğu tarih, ve birkaç
başka özelliğini görüntüleyecektir.) Bir kabuk deyiminin genel yapısı,
bir karakter boşluktan sonra komut adını izleyen seçeneklerden oluşur.
ls -l -a deneme
Seçenekler aşağıdaki gibi birlikte de kullanılabirler:
ls -la deneme
Son olarak, komut dosya olarak birden fazla dosyaadı belirtilebilir, bunlar da birbirinden boşluk karakteriyle ayrılmalıdır.
ls deneme word yedek
Bu, deneme, word ve yedek dosyalarını ayrıntı vermeden listeler.
Dosyaların daha ayrıntılı bir tanımlamasını almak isteyen daha önceki
gibi -l seçeneğini kullanabilir.
ls -l deneme word yedek
Linux, sistemin nasıl kullanılacağı hakkında çok geniş ağiletişimli
(online) bilgiye sahiptir. Bir komutun adını biliyor ve nasıl
kullanıldığını öğrenmek istiyorsanız :
man [komut]
Bu,
komutunun elyordam sayfasını oluşturacaktır. Hemen hemen tüm sistem
komutları için elyordam sayfaları sistemde var durumdadır. man
komutunun kendisinin seçenekleri hakkında daha çok bilgi almak
isterseniz, yalnızca man man yazmanız yeterli. Bir UNIX buyruğunun
seçeneklerini akılda tutmak asla gerekmez. Çünkü ağiletişimli elyordam
sayfaları her zaman belleğimizi tazelemek için hızlı ve kolay bir yol
sağlar. Öte yandan öğrenmek istediğiniz şeyin konusunu ya da bir açkı
sözcüğünü biliyorsanız şunu deneyin:
apropos [subject]
Bu, konuyla ilişkili tüm komutların bir listesini verecektir. root@yonca:~$ apropos zip
atalkd (8 ) - AppleTalk RTMP, NBP, ZIP, and AEP manager
bzip2, bunzip2 (1) - a block-sorting file compressor, v1.0 bzcat -
decompresses files to stdout bzip2recover - recovers data from damaged
bzip2 files
explodepkg (8 ) - Extract the contents of a
tar+GNUzip package (such as a Slackware software package) in the
current directory.
funzip (1) - filter for extracting from a ZIP archive in a pipe
gzip, gunzip, zcat (1) - compress or expand files
jaztool, ziptool (1) - Tool for Iomega JAZ and ZIP drives
mzip (1) - change protection mode and eject disk on Zip/Jaz drive '" t TQ $1 ..
unzip (1) - list, test and extract compressed files in a ZIP archive
unzipsfx (1) - self-extracting stub for prepending to ZIP archives
zforce (1) - force a '.gz' extension on all gzip files
zip, zipcloak, zipnote, zipsplit (1) - package and compress (archive) files
zipgrep (1) - search files in a ZIP archive for lines matching a pattern
zipinfo (1) - list detailed information about a ZIP archive
ls --help:
Bazı komutlar --help parametresiyle birlikte verildiğinde mümkün olan tüm seçeneklerin kısa bir tanımını verirler.
Bir komutun çıktısı bir ekrandan fazlasını dolduruyorsa kaygılanmak
için bir neden yoktur, çıktıyı okumak için klavye üzerindeki PageUp ve
PageDown tuşlarını kullanmak yeterlidir. Çoğu Linux sürümü çeşitli
programlar ve yararları hakkında birçok kaynakbilgi (document) içerir.
Bu kaynakbilgiler /usr/doc dizinindedir. Örneğin tetex ile ilgili bilgi
için yalnızca bu dizine girip more tetex yazmanız yeterlidir. /usr/doc
dizinindeki dosyaların çoğu ASCII dosyalarıdır. Daha da çoğu var. info
sayfaları komutların tanımlarını ve uygulamalarını içerir. emacs
editöründen [Control+h][Control+i] tuşlarıyla kolayca erişilebilen info
sayfalarında da açıklamalar bulabiliriz.
$ ls -l
drwxr-xr-x 3 fenix fenix 1024 Jun 15 1997 Calendar
drwx------ 5 fenix fenix 1024 Nov 6 19:35 Desktop
drwx------ 2 fenix fenix 1024 May 16 1997 Mail
drwxrwxr-x 2 fenix fenix 1024 Mar 10 00:28 X11
lrwxrwxrwx 1 root root 11 Mar 13 20:53 ada -> private/ada
drwxrwxr-x 2 fenix fenix 1024 Mar 10 00:28 bin
cp: Dosya kopyalama
Bu komut dosyayı başka bir dizinde bulmak veya yeni başka bir ad vermek için dosya kopyalamaya izin verir.
root@aku:/home/web# cp index.html /home/www/
Eğer, yedek varolan bir dizin değilse, komut, dosyayı başka bir ad
altında kopyasının yaratılmasının istendiği yorumunu yapacaktır.
Buradaki yedek dizini home altındaki son klasörünün içine
kopyalanacaktır.
mv: Dosya taşıma
mv "MoVe" demektir ve
taşı anlamına gelir. Bu komut ile dosyaları yeniden adlandırabilir veya
diğer bir dizine taşıyabilirsiniz.
root@aku:/home/web# mv index.html /home/www/
Eğer yedek varolan bir dizin olmasaydı, dosyayı yeniden adlandırmak
istediğiniz yorumu yapılacaktı. Yedek dizini home altına taşınacaktır.
cd: dizinin içine girmek
Argümansız cd buyruçu ilk dizine geçişi sağlar. Eğer yetkin kullanıcı
(superuser) iseniz bu komut size /root/ dizinini verecektir; eğer hasan
iseniz /home/hasan'a gideceksiniz. Burada görebildiğiniz şey dizinlerin
sağ tarafa eğimli çubuklara sahip olduğu gerçeğidir Son olarak, /home ~
karakteri ile yer değiştirebilir. Bu nedenle, cd ~yedek bizi
/home/yedek 'ğe götürür. root@sezer:/home/webadmin# cd linuxweb
root@sezer:/home/webadmin/linuxweb#
mkdir: dizin oluşturmak
root@sezer:/home/webadmin# mkdir linuxweb
root@sezer:/home/webadmin/linuxweb#
mkdir [dizinadı] biçiminde çok basit bir yapıdır ve bu ad altında bir dizin yaratır.
rmdir: boş bir dizini silmek
root@sezer:/home/webadmin# rmdir linuxweb
İçinde dosyalar bulunmayan bir dizini yok etmek istiyorsanız, rmdir
[dosyaadı] komutuyla yapılır. Eğer dosyalara sahip dizinleri yok etmek
istiyorsanız (ya da diğer dizinler) rm komutuna bakın.
rm: dosyayı silmek
rm [dosyaadı] ile her tür dosya silinir.
Diğer ek komutları: -i Dosyayı silmeden önce doğrulama gerektirir.
-r Bir dizini ve onun tüm içeriğini siler.
-rf Bir dizini ve onun içeriğini herhangi bir doğrulama gerektirmeksizin siler.
ln: diğer dosyalara link vermek
Linux dosyaların ayrı adlara sahip olduğunu veya onlara ayrı
dizinlerden erişebileceğimizi varsayar. Bu, bağlantılar ile yapılır.
İki türü vardır: " katı: bağlantıda dosya içeriğinin tamamını kopyalar,
kaynak dosya veya tersine bağlantı değiştiğinde karşılığı da değişir. "
simgesel: Kopyalamaz, kaynak dosyaymış gibi çalışır. Bu yolda dosya
içeriğinin kopyası yoktur, böylece tekerde boş yer kalır. Bugünlerde
neredeyse yalnızca bu tür bağlantılar kurulmaktadır. Bu yolla dizinler
sadece simgesel bağlantılara izin verir. Katı bağlantılar ln ile
yapılır. Ve simgesel bağlantılar ln -s [kaynakdosyalar] [erekdosya] ile
yapılır.
cat:dosyanın içini gösterir
cat [dosyaadı]
more: sayfalamalı dosya içeriği gösterimi, eğer göreceğimiz dosya çok
uzunsa (ekranda görmek istediğimiz birçok satırı varsa), en üstteki ilk
satırları yitireceğiz. Çözüm ise ekran buffer kullanmaktır. Bu buffer
altında, Mays+Repag ile yer değişimi sağlanabilir. Fakat bu buffer
sınırlı büyüklüktedir ve çoğu kez yardımcı olmaz. more buyruğu
dosyaları sayfalayarak görmemizi sağlar.
more [dosya-adı]
Bu etkileşimli bir programdır. Daha ilginç olan "keys" (etkileşimli komutlar) aşağıdadır: Açkı Fonksiyon (Key Function)
spacebar Bir sayfa ileri
b bir sayfa geriye al
return bir satır ilerle
/[string] katar'ın dosya içindeki bir sonraki yerini bul
?[string] katar'ın dosya içindeki son görüldüğü yeri bul
q bırak çık
chmod:dosya izin haklarının değiştirilmesi
Düzenli kullanıcılar (root her şeyi yapabilir) yalnızca sahip oldukları
dosyaların erişim izinlerini değiştirebilirler. Bu, boşlukla ayrılmış 2
parametre türünün birleşimidir.
chmod [kim][+/-] [yenihaklar] [dosya]
kim'de aşağıdakilere gönderim yapabiliriz: Kim Betimlemesi u dosyaya sahip olan kullanıcı
g dosyaya sahip olan grup
o geriye kalan kullanıcılar
a herhangi bir kullanıcı (sahip, grup, diğerleri)
+ ile izin hakları ekler - ile izin haklarını çıkartırız.
Yeni izinlerde hangi izinlerin eklendiğini veya kaldırıldığını
gösteriyoruz. Bunlar ls yardımı ile uzun listenin ilk alanındaki
harfler ile betimlenirler (Bunun anlamı, r:oku, w:yaz, x:çalıştır veya
konuk ol, s:SetUID şeklindedir).
chmod u+rw my
Bununla sahip (bu genellikle sizsiniz), my dosyası üzerinde okuma ve yazma iznine sahip olur.
chmod a-x directory
Ve bununla tüm kullanıcıların (siz ve sahip dahil) directory dizinine konuk olma izinlerini kaldırıyoruz.
chmod diğer ve daha gelişmiş niteliklere sahiptir, bunları burada
görmeyeceğiz, fakat man chmod komutunu kullanarak elyordam sayfaları
kullanabilirsiniz:.
man chmod
* : Herhangi bir katara (0 veya daha çok sayıda) gönderme yapar
rm *:Bütün dosyaları sil.
rm a* :a ile başlayan tüm dosyaları sil.
rm bet*as :bet ile başlayıp as ile biten tüm dosyaları sil.
? :herhangi karakter (yalnızca bir)
cat c?t : c ile başlayan ve sonu t ile biten tüm dosyaların içeriklerini görüntüler.
[group]: köşeli parantezler arasındaki karakter grubu
more [tp]erez:Eğer varsa, sayfa düzeninde terez ve perez dosyalarını gösterir.
cp c[AEIOU]endo directory c ile başlayan, [ ve ] arasında verilen büyük
harflerle süren ve endo ile sona eren dosyaları directory adlı dizine
kopyalar. Aralıkları yaratmak için "-" kullanabiliriz:
mv *[a-z] trash :Büyük harf ile bitmeyen tüm dosyaları trash adlı dizine taşır. Aralıkların dışı da taban alınabilir:
ls [!a-zA-Z]* :İlk karakteri büyük veya küçük harf olmayan dosyaları listeler.
nl :Bir dosyayı satırlarını numaralamak ve mantıksal sayfalar halinde göstermek için kullanılır.
nl komutu nl [seçenekler][dosya] şeklinde kullanılır. $nl x _file
1 aku
2 bim
wcosyada bulunan satır,kelime veya karakter sayısını gösterir.Sokakta başka anlama gelir
$wc index.html
59 95 1188 index.html
pwd: Kullanıcı dizinler üzerinde hareket ederken zaman zaman hangi
dizin üzerinde çalıştığını öğrenmek için bu komut kullanılır.
$pwd
/usr/ser
chown:Bir dosyanın veya dizinin paremetresinde tanımlı bulanan dosya
veya dizinin sahibi parametrelerini değiştirir. Dosya veya dizin sahibi
parametresi /etc/passwd dosyasında, kullanıcı kimliği(user ID) veya
bağlantıı ismi (login name) olarak kayıtlı bulunmak zorundadır.Dosya ve
dizin parametreside /etc/group dosyasında, group kimliği (group ID)veya
gurup ismi (group name ) olarak kayıtlı olmak zorundadır.
chown [-f][-h][-R] sahibi[:grubu]{dosya I dizin}
ps:Aktif işlemler hakkında çeşitli bilgileri görüntüler root@yonca:~/mail$ ps
PID TTY TIME CMD
15085 ttyp1 00:00:00 bash
15232 ttyp1 00:00:00 ps
You have new mail in /var/mail/root
kill:Çalışan süreci durdurmak için singal gönderir.Bir root kullanıcı
herhangi bir süreci kil komuduyla öldürebilir.Eğer root kullanıcısı
değilseniz sadece kendinize ait işlemleri öldürebilirsiniz.
kill [-s{sinyal ismi Isinyalnumarası}]süreç tanıtım numarası (PID)
lprmline printer remove)Printer'da döküm için bekleyen işlemleri sıran çıkarır.
lprm[-P Printer][görev sırası][Kullanıcı adı..][-]
echo:İfadeleri görüntülmek için bu komut kullanılır,kabuk programlarında kullanılır.
Önce a değişkenini "hasan"'a aktaralım sonra da echo komutula hasanı görüntüleyebiliriz.
$ a=hasan
$echo $a
hasan
$_
date:Sistemin tarihini ve zamanını gösterir.date komutu "date+%X"şeklinde kullanılır.
$date
Mon Jan 11 13:29:48 Mest 2002