Temel Linux Komutları

Kodla Büyü

KingSkrupellos

Seçkin Üye
Seçkin Üye
Mesajlar
554
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.
localhost# who

Sisteme kim logon ise onu kullanıcısı gösterir.

localhost# rwho –a

Bu komut ile makinenizi remote baglı kullanıcıları görebilirsiniz.

localhost# echo $PATH

Çevre degişkenlerini ekrana basar.

localhost# dmesg

Açılıştaki çekidek mesajlarını ekrana basar.

localhost# sysctl –a

komutu ile kernel parametrelerini görebilirsiniz.

localhost# stat dosya_adi

verilen bir dosya hakkında bilgilere erişebilirsiniz.

localhost# badblocks

sistemdeki bad sektörleri gösterir.

localhost# quota
Eger kullandıgınız sistemde size bir kota koymuşlarsa bu kotanın hakkında bilgi almak için kullanılır.Kota koymak demek yani kullanıcıların diskte üzerinde kısıtlı alana sahip olmalarıdır.Mesela benim okul lab’ındaki kotam 5MBJ . (limit of disk usage).

localhost# ifconfig

sistemin TCP/IP ayarları , ethernet kartı ve Network hakkında bilgilere erişmek için kullanılan komuttur.

localhost# route

bu komutta route tablosunu ekrana basar.

localhost# netstat

bu komutla ag kartı üzerinde yapılan konfigürasyonları ögrenebiliriz.

localhost# traceroute ip

ip yerine yazılan ip’ye hangi noktalar üzerinden erişildigini gösteren bir komuttur.

localhost# crontab –l

crontable ‘ı listeler.

localhost# kbd-mode

keyboard modunu gösterir.

localhost# kbdrate

keyboard gecikme süresini gösterir.

localhost# messages

Bu komutla inbox’ımızda kaç mail varsa ekrana basar.

localhost# mailq

Gönderilen mail kuyrugunu gösterir.

localhost# atq

at ile sıralanmış gorevleri listeler.

localhost# batch

at ile aynı işleve sahiptir.

localhost# umask

oluşturulan bir dosyanın oluşturulmasındaki standart izinlerini ekrana basar.

localhost# users

sistemdeki userları listeler.

localhost#echo $SHELL

hangi shell’i kullanıgımızı ekrana basar.

localhost# tty

hangi konsolda oldugumuz ekrana basar.

3-) ÇOK ÇEŞİTLİ İŞLEMLER
localhost# cd ..

bir üst klasöre geçmeye yarar.’cd’den sonra bir boşluk konuyor sonra .. (iki tane nokta) konuyor.

localhost# cd klasör_ismi

Klasörlerin içine girmemizi saglayan komuttur.”ls -al” komutu ile listeledigimizde başında d harfi bulunan satırlar klasörleri ifade ediyor.

localhost# cd /

bizi “/” yani root dizinine götürür.

localhost# cd~

bizi sisteme girdigimiz klasöre götürür ki bu da büyük bir olasılıla /home/kullanıcı_adı/ gibi bir dizine gitmemizi saglar.

localhost# cp kopyalanacak_dosya kopyalanacak_yer

cp yani kopya komutudur.Kopyalanacak olan dosyanın tam path’ı verilir ve kopyalanacak yerinde pathı verilir eger bulunulan klasörde ise sadece adı verilebilir.Örnegin “localhost# cp /home/kara/deneme /etc/“ şeklinde bir komutla eger /home/kara/ dizinlerialtında deneme adında bir dosya varsa bu dosyayı /etc dizini altına aynı isimle kopyalar.” localhost# cp deneme1 ..” bu komut ise içinde bulundugumuz klasörde deneme1 isimli bir dosya varsa bunu bir üst dizine kopyalamamızı saglar.

localhost# mv taşınacak_dosya taşınacagı_yer

move bu komutta dosyanın kopyası degilde kendisi taşınır.Windoz altındaki cut/paste gibi düşünülebilir.Kullanımı yukarıda anlatılan “cp” komutu gibidir.
localhost# rm dosya_adı

remove eger bulundugunuz dizinde degilse dosya tam dizin sırası yani path’ı verilmelidir.Mesela “localhost# rm /home/kara/deneme2 ” yani eger /home/kara/ bu dizinler varsa (home dizini kesinlikle vardır sistemle beraber default olarak gelir ama kara klasörü olmayabilir bu bizim kullanıcı adımızdır) bu klasörlerin altında bulunan deneme2 adlı dosyayı siler.Sistemden birşey silerken iki kere düşünün çünkü windozdaki gibi geri dönüşüm kutusu yoktur.Yani geri dönüşsüz olarak silinir.

Açıklama sisteme kullanıcı eklendiginde kullanıcıya özel dizin oluşturulur bu dizin ise eger ayarlarla oynanmamışsa /home/kullanıcı_adı/ şeklinde olur.

localhost# rmdir klasör.adi

Adı belirtilen klasörü silemeye yarar.Bunun yerine

“rm –r” komutuda kullanılabilir ya da “rm –R” şeklinde kullanılabilir (büyük-küçük harf parametrelerde de farklı işlevleri dile getirir.)

localhost# mkdir deneme3

make directory yani bulundugunuz dizine klasör oluşturmak için kullanılan komuttur.Yukarıdaki komutla bulundugunuz klasörün içine deneme3 isimli klasör oluşturmuş olduk.

localhost# startx

Sistemdeki Xwindow arayüzünü çalıştırmaya yarayan bir komuttur.Eski sistemlerde genelde standart olarak gnome arayüzü gelirdi ve startx yazınca gnome açılırdı.Yeni sistemlerde ise kde daha popüler.Daha çok Windoza benziyor ve kullanımı daha kolay.Eger degişik bir arayüz kullanmak istiyorsanız afterstep’I öneririm.

localhost# xinit

bunu yazınca xwindow açılacak ve bir pencere çıkacak o pencere içine istedigimiz program adını yazarak istedigimiz masaüstü programını çalıştırabiliriz.Mesela çıkan pencereye afterstep yazarız ya da kde vs.Bu eski bir yöntemdir switchdesk komutu daha kolay ve kullanışlıdır.

localhost# switchdesk

her startx yazınca aynı masa üstü açılsın istiyorsak bu komutu kullanırız.Mesela “localhost# switchdesk kde” yaparsak startx yazınca kde açılır. “localhost# switchdek afterstep” yaparsak startx yazınca afterstep açılır vs.Sisteme girdiginiz directory (/home/username/ olur genelde ) içine “.Xclient” diye (başında nokta var ve X büyük)dosya açarız (varsa yeniden oluşturmayız.)İçine de “exec kde” yazarız.Daha sonra bu dosyayı çalıştırılabilir hale getiririz chmod komutuyla sonra bir defa çalıştırırız.Sonuç olarak startx yazınca artık kde çalışacak böylece “switchdesk kde” komutunun yaptıgını manuel olarak yaptık.

localhost# mount –t filesystem mount.edilecek.aygıt mount.edilecek.yer

mount komutunu kullanım örnekleri

localhost# mount –t iso9660 /dev/cdrom /mnt/cdrom

cdrom mount etme komutu.Xwindowda cdrom simgesine tıklayınca otomatikmen mount eden linux verisyonlarıda vardır.

Aşagıdaki komut ile windows partionınına linux altından erişebilecek hale gelecegiz.

localhost# mount –t msdos /dev/hda1 /mnt/dos

Yukarıdaki komutta varsayılan şeylerden ilki benim bir windows pariton’ınım var ve bu partion /dev/hda1 aygıtında.İkincisi ise /mnt/ klasörü altında önceden dos adında bir dizin oluşturulmuş.

Bu dizini kendimiz oluşturabiliriz. “fsconf” komutuyla windows partion’nımızın nerede olduguna bakabiliriz.Eger bu komut çalışmaz ise /etc/lilo.conf dosyası içinde label=dos olan satırın üstündeki kısımdaki devicenin ne olduguna bakarız.

Otomatik olarak her defasında windows partion’ımızı mount etsin istiyorsak mnt dizini altında dos adında bir klasör oluştururuz bunun için gerekli komut ” localhost# mkdir /mnt/dos” ve sisteme root olarak gireriz./etc/fstab dosyasını bir metin editörü ile açıp içine

/dev/hda1 /mnt/dos msdos 0 0

satırı ekleriz.

localhost# shutdown now

sistemi kapatmak için kullanılır.Eger now yerine hiçbirşey yazmazsak shutdown komutunun parametrelerini gösreten bir yazı çıkar eger now yerine bir sayı yazarsak o kadar dakika sonra sistem kendini kapatır.Mesela “localhost# shutdown 2” 2 dakka sonra sistem kendini kapatır. “localhost# shutdown –hf now” sistemi kapatır.” localhost# shutdown –hfr now” restart eder.Komut için root olmak gerekiyor.

localhost# reboot

sistemi reboot komutudur.root olmak gerekiyor.

localhost# lpr dosya_Adı

belirtilen dosyayı lokal printerdan kâgıda dokmek için kullanılan komuttur.

localhost# ln orjinal.dosya linkin.adi

bu komut windowstaki shortcut (kısayol) ‘a benziyor.Birinci parametre orjinal dosya ikinci parametre ise linkin adı oluyor.Linuxte disk dosyalarına isim ile erişilmez inode denilen işletim sistemi tarafından verilen numaralarla erişilir.Eger ln komutu kullanılırken hiçbir parametre kullanılmazsa hardlink oluşur.Eger –s parametresi kullanılırsa sembolik link yapmış oluruz. Aralarında bazen uygulamada önem kazanan farklar olabilecegi için kısa bir açıklama verebiliriz.

hardlink ancak aynı filesystem içinde yapılabilir.Yani windows partion’ınındaki bir dosya için Linux partion’ınında hardlink veremeyiz.Sembolik linkte ise böyle bir kısıtlama yok.hardlinkte iki dosya da aynı inodeye sahip oluyorlar sembolik linkte farklı inodeleri oluyor.Sembolik link oluşturulmuş bir dosyada erişim hakları rxw hepsi tüm userlar için var görünür ama buna aldanmamak gerek çünkü linkin erişimide orjinal dosyada erişimle aynıdır.hardlinkte orjinal dosyayı silsekte linki kalıyor. Sembolik linkte ls komutu verilince link işareti görülür ve neye link ettigini anlayabiliriz.hardlinkte ise aynı inodeye sahip dosyalar

linklidir diye düşünebiliriz.

localhost# chmod kullanıcı(+,-)izinler dosya_adi

change mod komutu ile dosyalar ve klasörler üzerinde erişim haklarını degiştirebiliriz.ls –al komutu verince en sagda d rwx r— r– gibi ifadeleri görürüz.

Bunlardan en sagdaki d ifadesi bunun bir klasör oldugunu ifade eder. r read yani okuma iznini w write yani yazma iznini x execute yani çalıştırma iznini gösterir.En soldan ilk üç izin dosyanın sahibinin iznini , sonraki üç izin grup iznini , en sagdaki üç izin ise diger kullanıcılar o dosya ya da klasör üzerindeki izinlerini gösterir. Eger izin ifadesi yerinde – işareti varsa o noktadaki izin yoktur manasına gelir. Klasörlerde okuma izni o klasörün ls ile içerigini ögrenme , yazma ise o klasörün içine birşeyler kopyalama ya da içinde birşeyler oluşturma olarak karşımıza çıkar.

d rwx r-x r– :yandaki izinleri şu şekilde yorumlarız

bu bir klasördür.
Kullanıcı rwx tüm izinlere sahiptir.

Kullanıcın içinde oldugu grup rx haklarına sahiptir.

Diger kullanıcılar ise sadece r izinine sahiptir.

İzinleri degiştirme ise şu şekilde olur.

“chmod kimlere.izin.verilecek+hangi.izinler.verilecek

dosya” kimlere.izin.verilecek grubunda üç kişi vardır.u user’ı ifade eder.g user’ın içinde oldugu grubu ifade eder. o others yani diger kullanıcıları ifade eder.Örnegin

“localhost# chmod u+rx dosya” user’a rx izini verilir.

“localhost#chmod gu+w dosya” grup ve user’a w izini verilir.

“localhost#chmod o+x” diger kullanıcılara execute izni…

eger ‘+’ yerine ‘-’ işareti kullanılırsa o izinler verilmez alınır.

Mesela

“localhost# chmod uo-w dosya” user ve others’dan w izini kaldırılır.

“localhost# chmod a-w dosya“ a parametresi ise herkes yani all yani user+grup+others ‘ı temsil eder.

Unix sistemlerde ise sayısal olarak yapılır.izinleri ikilik sayı düzeninde sayılara karşılık düşürürüz.3 izin ikilik sistemde en fazla 7 sayısına karşılık düşer.

Yani şu şekilde düşünürüz

d 111 1– -1- : 7 4 2

d rwx r– -w- :

mesela “chmod 755 dosya” bu dosyaya şu izinleri verir

rwx r-x r-x : yani usera tüm izinler others ve gruba ise r ve x izinleri

localhost# chown kullanici.adi dosya.adi

bu komutla bir dosyanın sahibinin degiştirilmesi (owner) saglanır.” localhost# chown kara beep.c” eger dosyayı degiştirme hakkına sahipsek yukarıdaki komutla beep.c dosyası kara isimli kullanıcıya atanır.

localhost# chgrp grup.adi. dosya.adi

bu komutla bir dosyanın grubu degiştirilir ve chown sonrasında kullanılır.Mesela kara isimli kullanıcı kernelhacker isimli grup üyesi olsun bu komutların kullanımı beep.c dosyası üzerinde şu şekildedir.

localhost# chown kara beep.c

localhost# chgrp kernelhacker beep.c

localhost# loadkeys ülke.kodu

bu komutla klavyemizi ilgili ülke kodunda olacak şekilde degiştirmemizi saglar.Meslea “loadkeys trq” bu komutla klavyemiz tr ve q tipinde olur (Türkçe q klavye).

localhost# tar –cvf dosya.adi.tar dosya

dosya.adi yerine klasör adı da gelebilir.Mesela bir dizinde ‘veriler’ adında klasörümü tarlamak istiyorsam

“localhost# tar –cvf veriler.tar veriler” şeklinde yazarız.

Eger tarlanmış bir dosyayı açmak istiyorsak parametrelere x parametreside eklenir.Mesela açmak için “localhost# tar –cvfx veriler.tar veriler” şeklinde verilir komut.

-c create oluşturma.

-f force

-x extract açma.

-v verbose yani olayın gelişmesi ile ilgili açıklamaları ekrana basar.

localhost# gzip dosya

dosya sıkıştırma formatlarından biridir.Dosya yerinde klasörde olabilir ama klasörün adı degişmez sadece içindeki dosyaların isimleri dosyaadi.gz şekline dönüşür.Kullanımı “localhost# gzip deneme” yaptıgımızda deneme isimli dosya deneme.gz şekline dönüşür.gziplenmiş bir dosyayı açmak içinde iki yöntem vardır.

localhost# gzip –d deneme.gz

ya da

localhost# gunzip deneme.gz

localhost# gzip –h ise yardımı görüntüler.

localhost# compess dosya

gzip gibi bir sıkıştırma biçimidir.Sıkıştırma sonucunda oluşan dosya şu şekildedir.” localhost# compress deneme”

deneme.Z şeklinde oluşur.

Açma işlemi localhost# uncompress deneme.Z

ya da

localhost# compress –d deneme.Z

şeklindedir.

localhost# lilo

Eger lilo içinde bir degişiklik yapmışsanız sisteminizin bunu algılayabilmesi için yukarıdaki komutu vermelisiniz.

“localhost# lilo –u ” komutu ise liloyu siliyordu.

localhost# at –m saat (am-pm) (today vs ya da tarih)

karşımıza çıkan menuye istenilen gorevler yazılır.ctrl+d tuşu ile çıkılır.

-m parametresi mail gondermesini saglar.

Selametle.
 
Geri
Üst