Tarih: 2006-06-09, 19:55:26 Mesaj konusu: Linux Komut Yapısı
UNIX ve benzeri işletim sitemlerinde kullanıcının komut yazmasını sağlayan, bu komutları yorumlayarak gerekli işlemleri yapan programlara kabuk (shell) adı verilir. UNIX'te bir kullanıcı bir dizi kabuktan istediğini seçebilir. Kabuklar ile ilgili ayrıntılı bilgi ileride verilecektir. Kullandığınız kabuk ne olursa olsun, gerek kabuktan kaynaklanan, gerekse UNIX komutlarının hepsinin uyduğu bazı standartlardan kaynaklanan bazı geleneksel yapılar vardır. Bunları bilmeniz ilk kez duyduğunuz bir komutun kullanımını bile kolayca çıkarabilmenizin yanı sıra, bir dizi genel hatadan kaçınmanızı da sağlayacaktır.
UNIX'te (ve Linux'ta) bütün komutlar ve dosya isimlerinde büyük/küçük harf ayrımı önemlidir. Sistem komutlarının ve dosyaların çoğu küçük harfle yazılır.
Komut ve dosya adlarında kullanacağınız bazı karakterlerin gerek dosya ve dizin yapısı, gerekse kabuk ve diğer komutlar nedeniyle bazı özel anlamları vardır. Bu karakterlerden yeri geldikçe söz edilecektir. Örneğin, `/' karakteri hiçbir dosya adında bulunamaz (dosya ve dizinler için ayraç olarak kullanıldığından). `-' ile başlayan bir dosya oluşturulabilir olsa da silmeye kalktığında yeni bir UNIX kullanıcısının başına dert açabilir.
UNIX'te komutlara seçenek verirken seçenekten önce `-' karakteri kullanılır. Örneğin ls -l
UNIX komutları tersi istenmedikçe girdilerini standart girdiden (klavye) alır, çıktılarını standart çıktıya (ekran) yazar. Bu özellik ileride anlatılacak olan yönlendirme ve boru (pipe) öperatorleri ile birlikte komut satırından birçok işlemi kolayca yapmanızı sağlar.
UNIX kabukları komut satırından verilen komutu çalıştırmadan önce bir dizi karakteri yorumlayarak dosya ad(lar)ına çevirirler. Bu karakterler:
* 0 dahil herhangi bir sayıda karakter yerine geçer. Örneğin rm * komutu bütün dosyaları siler, ls -l a* komutu `a' ile başlayan dosyaların listesini verir.
? tek bir karakter yerine geçer. Örneğin ?? adı iki karakterden oluşan bütün dosyalar anlamına gelir.
[] karakterleri arasında yazılan liste içindeki herhangi bir harfe dönüştürülür. Örneğin cp *[abc] /tmp komutu `a', `b' ya da `c' ile biten bütün dosyaları /tmp dizinine kopyalayacaktır. liste içinde aralarına `-' işareti koyarak aralıklar verebilirsiniz. Örneğin, [A-Z]* büyük harfle başlayan bütün dosyalar anlamına gelir. Liste içindeki `^' karakteri sonrasında belirtilen liste dışındaki bütün karakterler anlamına gelir. Örneğin *[^0-9]* adında rakam olmayan herhangi bir dosya anlamına gelecektir
Bu forumda yeni başlıklar açamazsınız Bu forumdaki başlıklara cevap veremezsiniz Bu forumdaki mesajlarınızı değiştiremezsiniz Bu forumdaki mesajlarınızı silemezsiniz Bu forumdaki anketlerde oy kullanamazsınız