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:

  • -F: Dosya isimleri sonunda * ; dizin isimleri sonunda / iÅŸaretleri görüntülenerek birbirinden ayırt edilmelerini saÄŸlar.
  • -R: Belirlenen bir dizin içindeki dosyalar yanısıra varsa tüm alt dizinler içerikleriyle birlikte listeler.
  • -a:  . ile baÅŸlayan dosyalar dahil dizinin tüm içeriÄŸini listeler. (.login , .rc gibi)
  • -l: Dosyalar hakkında daha ayrıntılı bilgi verir.
  • -m: Dosya isimleri virgüllerle birbirinden ayrılarak listelenir.
  • -p:Dizinlerin / iÅŸaretiyle simgelenmesini saÄŸlar.
  • -s:Blok cinsinden dosyaların boyutunu verir.
  • -u:Dosyalara en son eriÅŸim zamanlarına göre sıralanmasını saÄŸlar.

Örnek :

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?

  • mkdir dizin_ismi –> dizin oluÅŸturur
  • rmdir dizin_ismi –> ici boÅŸ olan bir dizini siler.


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;

  • du komutu : du komutu bununduÄŸunuz dizinden itibaren tüm alt dizinleri tarayarak block cinsinden ne kadar yer kapladığını gösterir. Block büyüklükleri genelde 512 byte’tır bu sebeple çıkan sayıyı iki’ye bölerek o dizinin nekadar yer kapladığını görebilirsiniz. En aÅŸağıdada toplam miktar belirtilir.

Örnek :

/home/e065247/m>du
72      ./.m
8       ./m
8       ./ch
496     ./temp
632     .
  • quota komutu : quota komutu toplam olarak nekadar yer kapladığınızı ve sizin ne kadar yazma hakkınızın olduÄŸunu gosterir. Aynı zamanda eÄŸer geçici disk sınırınızı aÅŸtıysanız, kalan gün miktarı vs. gibi bilgileri de gösterir.

Örnek :

/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.


15. Linux

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

Yorum yaz