Bu bölumde, temel ve çok karşılaşılan unix komutlarının basit kullanımları anlatılacaktır. Internet üzerindeki bilgisayarların önemli bir kısmının işletim sisteminin unix ve unix türevleri (ultrix, linux, solaris vb) olduğu düşünülürse, unix bilmeyenlerin de yollarını bulabilecek kadar temel bazı bilgilere sahip olmaları yararlı olacaktır. Unix ile ilk kez karşılaşanlar her zaman için (Unix'te) küçük/büyük harflerin FARKLI olduğunu akıllarında bulundurmalıdırlar.
Bu bölümdeki bilgiler aslında daha geniş bir dökumanın ilk bölümünden yapılan bir alıntıdır. unix ile ilgili daha ayrıntılı bilgiler içeren orijinal dökümana ftp://ftp.bilkent.edu.tr/pub/INFO/Turkce/css/unix-all.css ile erişilebilir.
2. Dosyaların listesini nasıl elde edebilirim ?
ls komutu ile. Aşağıda bu komutun temel kullanımı verilmiştir.
ls (secenekler) (dosya veya dizin...)
Bazı seçenekler:
ls -l sezen* --w-rw--w- 1 e065247 B386 603 Oct 24 22:14 sezen_aksu_88.html --w-rw--w- 1 e065247 B386 607 Oct 24 22:23 sezen_aksu_soyluyor.html
3. Bir dosyayı başka bir yere ya da isme nasıl kopyalayabilirim?
cp komutu ile yapılır. Kullanımı : cp -[secenek] dosya başka_bir_dosya_ismi Örnek : cp sezen.html s.html // sezen.html'i s.html'e kopyalar. cp s.html ~/tmp // s.html'i HOME dizinimdeki /tmp dizininin altına kopyalar cp -r ~/tmp ~/dump // HOME dizindeki tmp dizinini dump dizininin altına kopyalar.
4. Nasıl dizin oluşturabilirim, ve silebilirim?
5. Dosyaları ya da dizinleri başka bir yere nasıl taşıyabilirim?
mv komutu ile dosyaları başka bir dizine, hatta dizinleri başka dizinlere taşıyabilirsiniz. Bu işlemin sonunda orjinal dizinin içindeki dosyalarin isimlerinde bir değisiklik olmaz. mv komutu DOS'taki rename ve move komutuna benzer, ancak onlardan çok daha beceriklidir.
Kullanımı :
mv dosya1 dosya2
6. Dosyaları nasıl silebilirim?
Unix'te dosyaları silmek için rm komutu kullanılır. Aslında rm'nin yaptığı şey dosyanın sahip olduğu linklerden birini çıkarmaktır. Eger dosyanın sadece bir link'i varsa sonuçta dosya silinir.
D?KKAT : Unix'te DOS'takine benzer bir UNDELETE komutu yoktur (mimarilerinin farkli olmasından dolayı) bu sebeple dosyalarınızı silerken çok dikkatli olmanız gerekir. Eğer bir dosya'yı yanlışlıkla silerseniz, system sorumlunuza başvurun, belki backup'lardan dosyanızı geri getirebilir.
Kullanımı :
rm -[secenekler] Dosya_ismi_1 Dosya_ismi_2 ... Seçenekler : -e : Dosyanın silinmesinden sonra ekrana bilgi verir. -f : Sormadan write-protected dosyaları siler. -i : Dosyayı silmeden önce bunun doğruluğunu sorar. -r : Recursive olarak alt dizinleri siler. -R : -r ile aynidir. Örnek : rm sezen* // bulunduğumuz dizindeki sezen ile başlayan tüm dosyaları siler rm -rf tmp // tmp dizinini ve alt dizinlerini uyarmadan siler.
7. Sahip olduğum bir işlemi nasıl kesebilirim?
kill (-sinyal) PID
PID numaraları ps komutu ile görünür. Bir çok sinyal tanımlanabilir. Bunlardan -9 islemi öldürür.
8. Yerini bilmediğim bir dosyayı nasıl bulurum?
Find programı ile bulabilirsiniz. Kullanımı : find <yol tanımı> <seçenekler> Seçenekler: -name isim:aranılacak dosyanın ismi. -perm izin:izinleri oktal olarak belirlenmiş dosyaların aranılması. -links n:linke sahip dosyalar. -user kullanıcı:Belirli bir kullanıcıya ait dosyaların aranması. -group isim:Belirli bir gruba dahil dosyaların aranması. -atime n:n gün içinde erişilen dosyalar. -mtime n:n gun içinde işlem gören dosyalar. -ctime n:n gun içinde değiştirilen dosyalar. -print :bulunan dosyaların ekranda görüntülenmesini sağlar. Örnek : Bulunduğum dizinden itibaren tüm alt-dizinlerdeki "sezen" ile başlayan dosyaları bulmak için find . -name "sezen*" -print ./faq/sezen_aksu_88.html ./faq/sezen_aksu_soyluyor.html ./sezen ./sezen/sezen ./sezen/sezen.c Not 1 : Burada arayacağım dosyada wildcard kullandığım için " " işaretini kullandım. Eğer dosyanın tam ismini biliyorsaniz buna gerek yoktur. Not 2 : Eğer bir aramayi root'tan ( / ) başlatırsaniz çok büyük olasılıkla bazi dosyaları okumaya izininiz olmadığı için size bunu belirten bir uyarı mesajı verilecektir, ve bu mesajlar arasında aradığınız şey ekrana yazılsa bile bunu gözden kaçırabilirsiniz. Bu sebeple çıktıyı bir dosyaya yöneltip, daha sonra o dosyayı okumanızda fayda vardır. Örnek : find / -name gzip -print > gzip.listesi
9. Şifremi nasıl değiştirebilirim?
Şifre değiştirmek icin passwd programı kullanılır. Bazı systemlerde yppasswd olarak ta geçebilir. Bu komut'u yazdıktan sonra sizden ilk olarak eski şifreniz ardından yeni şifreniz sorulacaktır. Daha sonra tekrar yeni şifreniz kontrol amacı ile sorulur. Eğer bir hata yapmadiısaniz şifreniz değiştirilir.
10. Şifreler konusunda bir sınırlama var mıdır?
Unix şifreleri genelde 5-8 harf arasında olur. 8 harften uzun bir şifre girseniz bile 8 harften sonrası dikkate alınmaz. Şifrelerinizi seçerken güvenlik açısından bazı şeyleri gözönünde bulundurmanız gerekir. Örnegin isim,soyisim,isim-soyisim kombinasyonları,çok kullanılan sözcükler vs. kötü şifrelerdir. Çünkü bazı programlar bu olasılıkları deneyerek kullandığınız şifreleri bulabilir. Esasen iyi seçilmiş bir şifrenin bulunabilme olasılığı son derece düşüktür.
11. Bir dosyanın izinlerini nasıl değiştirebilirim?
chmod izin modu dosya : Bir dosyaya verilen izinlerin değiştirilmesi. ls -l [dosya] yazdığınızda en solda görülen bilgiler, o dosyanin izinlerini gosterir. Örnek : ls -l sezen* --w-rw-r-- 1 e065247 B386 603 Oct 24 22:14 sezen_aksu_88.html Görüldüğü gibi en soldaki kısım 10 tane alandan oluşmaktadır. Bunların ilk'i dosyanın niteliğini ( dizin yada dosya ) sonraki 9'u da o dosyanın izinlerini gosterir. Eğer en soldaki alan "d" ile başlarsa bu onun bir dizin oldugunu, "-" ile başlarsa normal bir dosya olduğunu gösterir (bu arada unix'te her dizin özel bir dosyadır ! ) Bu ilk karakterden sonra gelen 9 karakter de kendi aralarında 3 gruba bölunur. ?lk 3 Alan : Kullanıcı izinlerini Sonraki 3 Alan : Grup ile ilgili izinleri En Sağdaki 3 Alan : Diğer kullanıcılarla ilgili izinleri gösterir. Herbir bölüm de 3'e bölünür : r : Read ( okuma ) hakkı; w : Write ( yazma ) hakkı; x : Execute ( calistirma ) hakkı. Örnek : -rw-r--r-- 1 e065247 B386 533 Oct 24 21:35 sen_aglama.html gibi bir dosya bu dosyanın herkes tarafından okunabilir olduğunu, ama sadece o dosyanın sahibi tarafından yazılabilir olduğunu gösterir. chmod programında kullanılan izin modlari iki türlü belirtilebilir : 1- Nümerik olarak : r'nin değeri : 4 w'nin değeri : 2 x'in değeri : 1 dir. Örnekler : ORANTILI IZIN KODLARI ------------------------------------------------ Orantili kod - Izin durumu - ------------------------------------------------ 0400 - Dosya sahibi için okuma - 0200 - Dosya sahibi için yazma - 0100 - Dosya sahibi için calistirma - 0040 - Gruptakiler icçn okuma - 0020 - Gruptakiler için yazma - 0010 - Gruptakiler için calistirma - 0004 - Diğerleri için okuma - 0002 - Diğerleri için yazma - 0001 - Diğerleri için calistirma - ------------------------------------------------ ls -l --w-rw--w- 1 e065247 B386 603 Oct 24 22:14 sezen_aksu_88.html --w-rw--w- 1 e065247 B386 607 Oct 24 22:23 sezen_aksu_soyluyor.html chmod 0220 sezen* // Kullanıcıya ve grub'a yazma hakkı verelim ls -l --w--w---- 1 e065247 B386 603 Oct 24 22:14 sezen_aksu_88.html --w--w---- 1 e065247 B386 607 Oct 24 22:23 sezen_aksu_soyluyor.html 2- Karakter olarak : u:Dosyanın sahibi. g:Grup o:Diğerleri a:Herkes +:Izin vermek -:Izinleri kaldırmak. =:Belirli bir izin atamak üzere. chmod go+r sezen* // Ek olarak gruba'a ve diğerlerine okuma hakkı verelim ls -l --w-rw-r-- 1 e065247 B386 603 Oct 24 22:14 sezen_aksu_88.html --w-rw-r-- 1 e065247 B386 607 Oct 24 22:23 sezen_aksu_soyluyor.html
12. Sahip olduğum dosyaların ne kadar yer kapladığını nasıl oğrenebilirim?
Başlıca 2 yolu vardır;
/home/e065247/m>du 72 ./.m 8 ./m 8 ./ch 496 ./temp 632 .
/home/e065247/m>quota Disk quotas for user e065247 (uid 517): Filesystem blocks quota limit grace files quota limit grace /home211 2748 3000 5000 302 1000 1500
13. Sistemde kimlerin çalıştığını nasıl ögrenebilirim?
w [seçenekler]
w komutu sistemin yükü, ve çalışanların faaliyetleri konusunda bazı bilgiler verir. Komutu çalıştırdıktan sonra çıkan bilgilerden ilki, sistem hakkındadır : sistem saati, o anda kaç kişinin açık olduğu, ve sistemin yükü gibi.. Sistem yükü genelde 0 ile 40 arasında değisen bir değer ile gösterilir. Eğer sistemin yükü 0-5 arasında ise fazla yüklü olmadığını söyleyebiliriz o anda sistemin. Ancak bazı çok kullanıcılı ya da ağır işlerin yapıldığı makinlerde bu sayı 5 ten çok cok fazla olabilir.
Bu ilk satırın ardından gelen satırlarda sıralar halinde kullanıcılarla ilgili bilgiler bulunur.
Örnek :
/home/e065247/m>w e065247 01:09AM up 10 hrs, 40 users, load average: 2.44, 5.04, 5.33 User tty login@ idle JCPU PCPU what e065247 pts/5 11:50PM 1 5 5 telnet e065247 pts/7 11:56PM 0 1 0 w e065247 pts/12 11:50PM 0 0 0 telnet
14. Bir dosyanın içini görmek için hangi programları kullanabilirim?
cat [dosya_ismi] [dosya_ismi] ...
Bir dosyanın içine bakmaya yarar. Dosyanın içeriği hiç bir şekilde durmadan ekrandan akıp geçer. Boyları küçük olan dosyalara bakmak için kullanilabilir, ancak büyük dosyalara bakmak için ugun değildir. Ancak başka amaçlar için de kullanılabilir örnegin :
cat file1 >> file2
komutu file1 dosyasının içeriğini file2 dosyasının arkasına kopyalar. Bu işlem sonunda file1'in içeriğinde bir değisiklik olmaz.
- o -
pg seçenekler (dosya..)
Seçenekler:
-numara:Her defasında göruntülenecek satırların sayısını gösterir. -p dizgi:Normal olarak sayfanın en alt satirinda (:)işareti oluşarak kullanıcının return a basması beklenir. -c:Her bir sayfa görüntülenmeden önce ekran temizlenir ve imleç baslangıç konumuna döner. -e:Her dosyanın sonunda kullanıcının return a basması gerekmez. -n:Normal olarak komutlar yeni satir karakteri ile son bulur.Otomatik olarak komut sonunun belirlenmesine olanak sağlar. -s:msg lerin görüntülenmesini sağlar. +satir no:Belirli bir satırdan itibaren dosya görüntülenmek isteniyorsa doğrudan satır numarası yazmak sureti ile bu sağlanır. +/kalip/:Belirlenen kalıbı içeren ilk satırı bulmak amacıyla bu tür bir tanım yapılabilir. - o - more [dosya_ismi] [dosya_ismi] ... Bir dosyanın içeriğini ekranda görmek için kullanılır, ancak cat'ta olduğu gibi dosya'nin iceriği ekrandan kayıp gecmez. Her sayfanın sonunda ekranın sol alt köşesinde --More--(x%) şeklinde bir yazı belirir. Buradaki x' dosyanın yüzde kaçının görüldüğünü gösterir. Bu dosyanın büyüklüğü hakkında size bilgi verebilir. --More--(x%) yazısını gördükten sonra aşağıdaki tuş'ları kullanabilirsiniz. SPC : Arka sayfaya geçilmesini sağlar. K : K herhangi bir tam sayıdır. Bu sayı kadar ileriye gidilmesini sağlar Kb : K sayısı kadar geri dönülmesini sağlar. Ks : K sayısı kadar ileri gidilir, ancak aradaki satırlar görüntülenmez. = : Bulunduğunuz satır numarası verilir. / : Dosyada arama yapmak için kullanılır. v : vi editörünü çağırır. q : programdan çıkar.
Linux, öncelikle i386 ve üstü işlemcili PC'ler üzerinde çalışması için tasarlanmış, ve GNU Public License'a göre bedava dağıtılan bir Unix türevi işletim sistemidir. Ancak Linux, DecAlpha, SunSparc ve PowerPC gibi ortamlarda da çalışabilmektedir. Linux ana kernel'i, Linus Torvalds tarafından yazılmıştır. Daha ayrıntılı bilgi, Türkiye Linux Topluluğu Web Sitesi'nden alınabilir. Adresi : http://www.linux.org.tr