Linux Komutlari

Linux bölümünde yer alan bu konu hortLak tarafından paylaşıldı.

  1. hortLak

    hortLak c ε ή κ

    Bu dokumanda komutları , bazı temel linux ayarları ve sıkça gelen bazı sorulara yanıtlar vermeye çalıştım.İyi bir linux kullanıcısı olmak ancak komutların ve ayarların tatbikiyle olur. Ögrendiklerimizi tatbik etmedigimiz sürece sadece okumuş olmaktan öteye gidemeyiz.Ögrendiklerinizi linux üzerinde denemenizi öneriyorum.

    Linux hakkında

    Linux Unix’in free distribution versiyonudur.Finli bir bilgisayar mühendiligi ögrencisi olan Linus Torvalds tarafından Minix (küçük bir Unix sistemi –Andy Tanenbaum tarafından yazılmıştır. ) denilen işletim sisteminin daha gelişmişini yazmak amacıyla hobi olarak (kerneli) Helsinki Unv.’de yazılmaya başlanmıştır.İsmi yazarının adından gelen bu işletim sistemi yazıldıgı gibi okunur (linax diye okuyan arkadaşlara teessüf ediyorum J ).Linux işletim sistemi bazı özelliklerinden dolayı (protech mode-32bitlik OS-Multiuser-Multitasking) 386 ve daha üstü mikroişlemciler kullanmaktadır.Genelde Unix ve türevi işletim sistemleri hem paralı (AT&T’nin bir linux türevi System V 1500$) hem de serverlar için kullanılırken Linux free ve PC ortamında artı server ortamında da kullanılmaya başlandı.Linux ve türevleri System V ve Posix.1 uyumludur.

    Açıklamalar

    ‘localhost#’ bu karakter dos altinda bulunulan ortam gibidir yani “c:” imgesiyle eş anlamlıdır.”root” kullanıcısı sistemin en yetkili kullanıcısıdır.Tüm Unix türevlerinde oldugu gibi Linuxte key sensetive’dir yani büyük harf küçük harf ayrımı yapar.

    Komutlar “localhost#“ karakteri önüne yazılmıştır.Komuta parametre “-“ işareti ile eklenir yani “komut -parametre” şeklindedir.Komutlar yazılırken tırnak ya da çift tırnak ifadeleri yoktur.Sistem bilgisi edinilirken boru (pipe) yani | işareti bilgileri ekran dolana kadar olan kısmı alınabilir. Linux versiyonu olarak RedHat’ı ve onun üzerindeki programları baz aldık.Bazı program ya da betik isimlerini komut olarak yazdık mesela “messages” bir betiktir ama komut dedik anlaşılırlık açısından karmaşıklıga yol açmasını istemedigim için böyle yaptım.Bazı komutların çalışmaması sisteme girdiginiz kullanıcı ile alakalıdır mesela ifconfig komutunu roottan başka kullanıcı ile kullanmazsınız.Bazı komutlar çalışmayabilir nedeni ise o programın sistem yüklenirken standart olarak gelmemesinden kaynaklanır.Bazı komutların klasörler üzerinde yapılabilmesi için “–r” parametresi konulmalıdır.Mesela “rm” komutu dosyaları siler ama klsör silmek için “rm –r” komutu kullanılır. Komutların ya da programların hakkında daha ayrıntılı bilgi için manuel sayfaları (man) okunmalıdır.



    TEMEL KOMUTLAR

    1-) Yardım komutları

    2-) Sistem hakkında bilgi veren komutlar

    3-) Çok çeşitli İşlemler



    1-) YARDIM KOMUTLARI

    localhost# komut -- help

    komut yerinde yazılı olan şey hakkında bilgi verir mesela “localhost# ls --help” bu “ls” komutu hakkında bilgi verir.

    localhost# (komut , program) man

    man önünde yazılı olan şey ne ise hakkında bilgi verir.Bu bir komut ya da program ya da başka birşey de olabilir.man ile aldıgımız bilgilere manuel sayfaları deniliyor.man sayfasından çıkmak için “q” harfine basmak yeterlidir.Kullanımı “localhost# man ls”

    bu ls komutu hakkında bilgileri ekrana getirir.

    localhost# info (komut , program)

    komut ya da program hakkında bilgileri verir.



    localhost# apropos (komut , program)

    Komut ya da program hakkında bilgi verir.

    localhost# whatis (komut , program)

    Yukarıdakilerle aynı

    localhost# help (komut , program)

    Yukarıdakilerle aynı



    2-) SİSTEM HAKKINDA BİLGİ VEREN KOMUTLAR

    localhost# ls

    içinde bulunulan klasördeki bulunan dosya ve klasörleri listeler (dostaki “dir” komutu)

    parametreleri

    -i inode numaralarına bakmamızı saglar.

    –F çalıştırılabilir dosyaları listeler

    -l liste şeklinde ekrana çıkarır

    -a tüm dosyaları ve klasörleri gösterir gizlileride dahil.Başında nokta ‘.’ İşareti bulunan dosya ya da klasörler gizlidir.



    localhost# pwd

    hangi klasörün altında bulundugunuzu ekrana basar mesela /home/root/deneme/ gibi.path’imizi görüntüler.

    localhost# whoami

    Hangi kullanıcı ile sistemde bulundugunuz ekrana basar mesela root .

    localhost# du

    disk usage yani diskinizde hangi klasör ne kadar yer kaplıyor onu ögrenirsiniz kullanımı “localhost# du /etc” bu komutla /etc dizini ne kadar yer tutar onu ögreniriz.

    Parametreleri

    -b byte cinsinden

    -k kilobyte cinsinden

    -m megabyte cinsinden

    -s özetler

    -x başka bir filesystem varsa onuda hesaplar

    -c toplam

    -h insanın okuyacagı şekilde ekrana basar.

    En çok –h parametresini kullanmanızı tavisye edebilirim.

    localhost# uname

    Sistem hakkında bilgi edinmek için kullanılır.Hangi versiyon linux ? kernel versiyonu nedir? Vs

    Parametre

    -a all yani tüm bilgileri ekrana basar

    -m işletim sisteminin çalıştıgı donanım hakkında bilgi verir.

    -r işletim sisteminin dagıtım numarasını ekrana basar.

    -v versiyonunu ekrana basar.

    kullanımı “localhost# uname –a “ şeklindedir.

    localhost# top

    top sistemle ilgileri ekrana basar .Ne zamandan beri çalışıyor? Hangi prosesler var? ne kadar swap ne kadar bellek kullanılıyor? vs
    ctrl+d ya da q ile çıkıyorsunuz

    bunun gtop (gnome top), ktop (kde top) gibi Xwindows versiyonlarıda vardır.

    localhost# vmstat

    ne kadar swap ne kadar memory kullanılıyor sistem hakkında bilgi verir.

    localhost# hostname

    Sisteminizin networkteki adını gösterir.Eger “localhost# hostname deneme” yazarsanız ve rootsanız hostnameniz yani networkte makinamızın adı deneme olarak degişir.

    localhost# domainname

    Sisteminizin network adını gösterir.Eger “localhost# domainname deneme” yazarsanız ve rootsanız domainname’iniz yani networkumuzun adı deneme olarak degişir.Yani networkünüzün adı degişir.

    localhost# dnsdomainname

    yukarıdaki açıklamaların dns ile ilgili olan şekli.

    localhost#ypdomainname

    yp (NIS server) ile ilgili yukarıdaki açıklamalar.

    localhost# ypwich

    bu komutla sistemde bir NIS (Network Information Server) varsa bunu ögreniriz.NIS ‘in görevi ag ile ilgili ayarlamaları ve bilgi akışını saglamaktır.Eger bir networkte NIS server varsa tüm makineler bunu bilirler ve hesap isimleri , şifreler , kullıcı dizini , kabuk , giriş dizini vs gibi bilgiler bu server üzerindedir.

    localhost# env

    Öntanımlı ya da sonradan tanımlanmış çevre degişkenlerini listeler

    localhost# printenv

    Yukarıdaki env komutuyla aynı işlevi yerine getirir.

    localhost# alias

    Sistemdeki öntanımlı ya da sonradan tanımlanmış aliaslar yani takma isimleri lsteler

    Açıklama:alias bir komutun takma ismidir yani çok uzun bir komuta alias yaparak kısa şekilde kullanılabilir mesela “localhost#shutdown –hf now” yerine sadece “localhost# kapat” şekliden bir alias verilebilir.aliaslar /etc/bashrc içine şu şekilde yazılır.

    alias ls=”ls –al” mesela her ls yazışımızda ls ‘in parametreli halini çıkaracak ekrana.

    alias kısakomut=”gerçek komut” şeklide yazılır

    localhost# listalias

    sistemin ve userların kullandıkları aliasları listeler.

    localhost# runlevel

    Hangi init seviyesinde bulundugunuzu ekrana basar.7 init seviyesi vardır

    init 0 sistemi kapar.

    init 1 tek kullanıcı

    init 2 çok kullanıcı ama full degil NFS (Network File System) destegi yok

    init 3 full multiuser destegi (genelde kullanılan budur.)

    init 4 unused

    init 5 Xwindow

    init 6 reboot

    gibi ama bunlar Linux versiyonları arasında degişebilir hakkında bilgi edinemek için

    /etc/inittab dosyasına bakabilirsiniz.

    Kullanımı “localhost# runlevel” yazarsanız sadece hangi modda oldugunuzu ekrana basar

    “localhost# init 4” yazarsanız 4.moda geçer yani hangi sayıyı yazarsanız o moda geçer. “localhost#init q” eger /etc/inittab dosyasında bir degişiklik yapıldıysa bu komut ile yapılan degişiklikler onaylanır.

    localhost# telinit

    init ile hemen hemen aynı işlevlere sahip.

    localhost# mount

    Sistemdeki mount edilmiş deviceleri ekrana basar.

    Eger siz birşeyleri mount etmek istiyorsanız kullanımı en genel haliyle “localhost#mount –t filesystem hangi.device.mount.edilecek nereye.mount.edilecek.”

    Örnegin “localhost# mount –t iso9660 /dev/cdrom /mnt/cdrom” bu komut cdrom’u (/dev/cdrom) mnt dizininin altındaki cdrom dizinine (/mnt/cdrom) mount eder (-t iso9660 cdromların filesystemleri).Biz kendi oluşturdugumuz bir klasörede mount edebilirdik.

    localhost# umount hangi_device

    hangi_device ile verilen device adını bulundugu dizi mount edildigi klasör ile olan baglantısını keser.Bu ise umount işlemidir.Kullanımı “localhost# umount hangi.device” yani “localhost# umount /dev/cdrom” cdromu umount eder (komut unmount degil umount’tur dikkat ediniz lütfen )

    localhost# groups

    Hangi kullanıcı grubunda iseniz onu gösterir.Genelde evlerdeki sistemlerdeki kullanıcılar username ile aynıdır grup numarası.

    localhost# df

    Sistedeki disk alanı hakkında bilgi verir.