Linux temel olarak kullanıcıyla X Pencere Sistemi adı verilen (startx buyruğuyla başlatıldığını daha önce görmüştük.) bir pencere ortamı olmaksızın, komut satırından iletişim sağlayan bir sistemdir.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 ( - 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 ( - 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</td>
/[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ı, rku, 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
tailosyanın son bölümünü görüntüler.
$tail yedek
yedek dosyasının son 10 satırını görüntüler.