Temel Linux Komutları
GNU GENEL KAMU LİSANSI (GPL)
Piyasaya
sürülen her yazılım, üretici şahıs yada firmanın haklarını ve kullanıcının
haklarını korumaya yönelik bir lisans anlaşması içerir. GPL lisans anlaşması, 1983 yılında Richard Stallman
tarafından geliştirilmiş lisans türüdür. GPL’nin en çok üzerinde durduğu konu
yazılımların kaynak kodu ile birlikte dağıtılmasının gerekliliğidir. Üretici firma
yazılımını binary olarak dağıtsa bile kaynak kodunu da herkes tarafından
erişilebilir bir yere bırakmak zorundadır. GPL, yazılımın ücretlendirilmesi
hakkında hiçbir fikir beyan etmez. GPL yazılımları ücretsiz olmak zorunda
değildir. GPL yazılımlarının çok büyük bir kısmı ücretsizdir. Genel yaklaşım
yazılımdan değil, kullanıcıya sunulan destekten para kazanılmasıdır.
Unix
: 1970, Dennis Ritchie – Ken
Thompson, C programlama dili.
Linux
: 1991, Linus Torvalds.
Kernel (Çekirdek) : Software ve Hardware arasındaki bağlantı
(arayüz)’dir. Çalışan tüm programların ve süreçlerin hafıza ile olan ilişkilerini
düzenler. İşlemcinin tüm bu programlar arasında adil bir şekilde dağıtımını
yapar. Sistem açılırken belleğe yüklenir ve sistem kapatılıncaya kadar bellekte
kalır.
Shell (Kabuk) :
Kernel ile kullanıcının iletişim kurmasını sağlayan programlardır. Linux,
Unix gibi sistemlerde komutları yorumlamak ve yönetmek için kullanılan
programlardır. (bash, sh, csh, ksh)
Linux’un
Genel Kullanım Amaçları
Kişisel Kullanım :
Gelişimleri henüz tamamlanmamış olmasına rağmen, herhangi bir kişisel
bilgisayardan beklenebilecek yazı editörleri, hesap cetvelleri, çizim
yazımları, veritabanları ve birçok ihtiyaca cevap verir.
İnternet Sunucusu :
(WWW, DNS, SMPTP, FTP)
Yazılım Geliştirme :
(C, C++, Java, Fortran, Pascal)
LİNUX DOSYA SİSTEMİ
Kök Dizin ( / ) : Linux işletim
sistemlerinde dosya hiyerarşisinde en üstte bulunan dizindir. Diğer bütün
dizinler kök dizininin altında bulunur.
/bin
: Genel kullanıcıların
kullanabileceği komutlara ait dosyaların bulunduğu dizindir. Is, mkdir, cat, cp… gibi temel komutlar bu
dizin altında bulunur.
/sbin
: Sadece root kullanıcının
kullanabileceği komutlara ait dosyaların bulunduğu dizin.
/boot
: Sistem açılıiında
kullanılan dosyaların bulunduğu dizin.
/dev
: Aygıtlar ve disk
bölümlerine ait dosyaların bulunduğu dizin.
/etc
: Sisteme ait yapılandırma
dosyalarının tutulduğu dizin.
/etc/passwd
: Her kullanıcı hakkında
ayrıntılı bilgilerin bulunduğu, kullanıcı veritabanı olarak da
düşünebileceğimiz yerdir. Burada kullanıcıların gerçek ismi, kullanıcı
isimleri, şifrelenmiş parolaları, ev dizinleri gibi bilgiler yer almaktadır.
/etc/group
: /etc/passwd dosyasına
benzer ama kullanıcılar yerine grupları tanımlar.
/etc/rc veya /etc/rc.d : Açılışta çalıştırılacak betikler ve betik
dizinleri burada bulunur.
/home
: Sistemdeki kullanıcıların
ev dizinidir. Kullanıcının kişisel dosyları burada tutulur. Sisteme yeni bir
kullanıcı eklendiği zaman bu dizin altında kullanıcı adıyla bir dizin (klasör)
oluşturulur. (/home/Furkan…)
/lib
: Programların ihtiyacı olan
kütüphane (library) dosyalarının bulunduğu dizindir.
/mnt
: Sistem yöneticisinin geçici
olarak herhangi bir dosya sistemine ulaşmak için oluşturabileceği bağlama
noktalarını içeren dizin.
/opt
: Dağıtımdan bağımsız ekstra
yüklenen paketler için kullanılan dizin.
/var
: Log dosyaları, e-mail ve
printer kuyrukları gibi değişken sistem bilgilerini barındırır. Ayrıca web
sunucu yazılımına ait dosyaların bulunduğu dizindir.
/tmp
: Geçici dosyaların tutulduğu
dizindir.
/proc
: Sistem süreçlerinin
bilgisinin bulunduğu, sanal dosya sisteminin dosyalarının bulunduğu dizin.
/root
: Sistem yöneticinin (root
kullanıcısının) ev dizinidir.
/usr
: Tüm kullanıcılarda
paylaşılan verileri (programlar, komutlar, kütüphaneler vb.) içeren dizindir.
/media
: Kaldırılabilir aygıtların
(CD-ROM, Flash Bellek gibi) sisteme eklendiği dizindir.
LİNUX YARDIM KOMUTLARI
- Linux’ta
komutlar hakkında yardım almak için kullanılan komutlar : man,
info, whatis, apropos
man ls
: ls komutu hakkında bilgi
verir. /
man pwd :
pwd komutu hakkında bilgi verir.
Linux işletim sisteminde temelde 2
farklı dosya tipi vardır : Aygıt Dosyaları ve Sıradan Dosyalar
Aygıt dosyaları :
Sistemde bulunan donanım ile haberleşmeyi sağlayan dosyalardır.
İki farklı aygıt dosya tipi vardır;
Karakter aygıt dosyası :
Veri alışverini byte bazında yapan aygıtlar. (Klavye, Mouse gibi…)
Blok aygıt dosyası :
Veri alışverişini bloklar halinde yapan aygıtlar (Harddisk gibi…)
Sıradan Dosyalar :
Aygıt dosyaları dışında kalan dosyalardır.
* ls –l
-rwxr—r-- :
Normal sıradan dosya.
crw-rw-rw- :
Karakter aygıt dosyası.
brw-r—r-- : Blok
aygıt dosyası.
lrw-r—r-- : Link
dosyası.
srw-rw-rw- : Soket dosyası
prw------- : Pipe
dosyası.
drwxr-xr-x :
Klasör.
Link dosyası oluşturma : ln –s
dosyaKonumu linkinAdi
root@hp: ~ Desktop$ ln –s /boot/grub/grub.cfg acilis
root@hp: ~ Desktop$ ls –l
lrw-r--r--
1 root
root acilis ->
/boot/grub/grub.cfg
şeklinde çıktı görünür.
DOSYALARIN İSİMLENDİRİLMESİ
Linux’ta
dosya isimlerinin uzunluğu 256 karaktere kadar uzayabilir. Dosya isimleri
büyük/küçük harfe karşı duyarlıdır.
“/”
karakterleri dosya yolunda kullanıldığı için dosya isimlerinde kullanılmaz. “.” İle başlayan dosyalar gizli dosyalardır
ve “ls
–a” komutu ile görüntülenirler.
ls : Bir dizin(klasör) içindeki dosya ve
klasörleri listeler.
ls –a
: Gizli dosyalar. (. İle
başlayan) dahil tüm dizin içeriğini listeler.
ls –l
: Dosyalar hakkında ayrıntılı
bilgi verir. (Dosyanın sahibi, boyutu, değiştirilme tarihi…)
ls –t
: En son yaratılan
dosya/dizinden ilk yaratılana doğru sıralar.
ls –al
: Şeklinde iki parametre birlikte de kullanılabilir.
pwd
: İçinde bulunduğumuz dizinin
adresini görüntülemek için kullanılır.
cd : Dizin(klasör) değiştirmek için kullanılır. cd/etc
komutu ile kök dizini altındaki
etc klasörüne geçiş yapılır.
cd ..
: Üst dizine geçer.
touch :
Dosya(txt) oluşturmak için kullanılır.
“touch deneme” şeklinde.
mkdir
: Klasör oluşturmak için
kullanılır. “mkdir müzikler” şeklinde.
rm : Dosya(txt) silmek için kullanılır. “rm dosya/dizinadi” şeklinde.
rmdir
: Dizin(Klasör) silmek için
kullanılır. “rmdir dizin_adi” şeklinde.
rm
-i : Dosyanın silinmesi için kullanıcıdan izin
ister.
rm
-f : Kullanıcıdan hiçbir zaman onay istemez.
rm
-r : Komut recursif çalışıp,
alt dizin ve dosyaların da silinmesini sağlar.
rm
-rf müzikler :
Komutu ile müzikler klasörü içerisindeki tüm dosya ve alt klasörleri
siler.
cp : Dosya ve dizin kopyalamak için
kullanılır. “cp kaynakDosya hedef”
şeklinde
cp
abc.txt /tmp :
abc.txt isimli dosya kök dizini altındaki tmp klasörüne kopyalanır.
cp
-R furkanDosyasi /home/furkan/belgeler :
furkanDosyasi dizini içindeki tüm dosya ve alt klasörlerle birlikte
/home/furkan/belgeler dizinine kopyalar.
Recursif kopyalar.
mv : Dosya taşımak
/ Yeniden adlandırmak için kullanılır. Parametleri;
mv
-i : Hedef dosya veya dizin varsa üzerine yazma
için onay alır.
mv
-f : Hedef dosya ve dizin
varsa üzerine yazma işlemini onay almadan yapar.
mv furkan.conf /etc : furkan.conf dosyası /etc
dizininin altına taşınacaktır.
mv
test test2 :
test adlı dosyanın ismini test2 olarak değiştirir.
DOSYA OKUMA
Linux’ta
dosya okumak için kullanılan temel komutlar
: cat, more, less, tac, rev, head,
tail
cat
: Dosyanın içeriğini ekrana
bastırır. “cat -n
veriler” veriler dosyasının
içindeki yazıları numaralı şekilde alt alta yazdırır.
more
: Dosyanın içeriğini sayfa
sayfa gönderir.
less
: Aşağı ve yukarı ok
tuşlarıyla sayfada ilerlenebilir.
*space : Bir sonraki sayfaya geçer.
*b : Bir önceki sayfaya geçer.
*q : Çıkış yapar.
tac
: Dosyanın içeriğini sondan
başa doğru gösterir. “tac dosyaAdi”
şeklinde.
rev : Dosyanın içeriğini her satırı
ters çevirerek gösterir. “rev dosyaAdi”
şeklinde. Bütün herşeyi tersten yazar.
head : Dosya içeriğinin baştan
belirtilen satır kadar gösterilmesini sağlar. Varsayılan değeri 10’dur.
head
-5 linux :
linux isimli dosyanın ilk 5 satırını ekrana bastırır.
head linux
: linux isimli dosyanın ilk
10 satırı ekranda görüntülenir.
tail
: Dosya içeriğinin sondan
belirtilen satır kadar gösterilmesini sağlar. Varsayılan değeri 10’dur.
tail
-5 linux : Linux isimli dosyanın son 5 satırı ekranda
görüntülenir.
tail
linux : Linux isimli dosyanın son 10 satırı ekranda
görüntülenir.
DOSYA / DİZİN İZİNLERİ
Dosya sahibi
izinleri : u
Dosya
grubunun izinleri : g
Diğer
kullanıcıların izinleri : o
Okuma : r
Yazma : w
Çalıştırma :
x
-rwxrw-r-- (1. indexteki – , dosya tipinin belirlendiği
kısımdır.)
“-“ normal dosya anlamına gelir.
“d” Dizin (Klasör).
“c” Karakter bazında işlem yapan aygıt
sürücüleri.
“b” Blok bazında işlem yapan aygıt
sürücüleri.
“l” Başka bir dosyayı gösteren link
dosyaları
* İzinlerin
belirtildiği kısım (ls –l komutu çıktısıdır.)
root@localhost
# ls –l
drwxr-xr-- 10 murat gs 4096 Nov 14 23:43
isletim komutuna göre;
d : dizin olduğunu gösteriyor.
1.
Üçlü : (rwx) murat isimli kullanıcı tüm haklara
sahip.
2.
Üçlü : (r-x)
gs grubuna üye olan kullanıcılar
okuma ve çalıştırma haklarına sahip.
3.
Üçlü : (r--)
Diğer(other) kullanıcılar sadece okuma haklarına sahip.
chmod
:
Linux sisteminde dosya ve dizinlerin erişim yekilerini belirlemek,
değiştirmek için kullanılır.
-R : Alt klasör ve dosyalardaki izinleri
değiştirir. (recursive şekilde).
* İzin eklemek için “+” , kaldırmak için “–“
kullanılır.
* Okuma : r,
Yazma : w, Çalıştırma : x
* Sahibi : u, Grubu : g, Diğerleri : o, Herkes
: a
“chmod u+rwx,
g-w, o-rwx fileName”
şeklinde kullanılabilir.
$chmod
go-rwx deneme : Deneme
klasörü için grup ve diğer kullanıcılardan okuma, yazma ve çalıştırma yetkileri
alınmıştır.
$chmod
+x dosya : Herkese çalıştırma izni verilmiştir.
$chmod
u+rwx deneme : Kullanıcılara okuma, yazma ve çalıştırma
yetkileri verilmiştir.
chmod izinlerinin sayı sistemleriyle gösterimi
;
chown
: Dosya/dizin sahibini
değiştirmek için kullanılan komuttur.
sudo
: Normal bir kullanıcıya root
hakları ile komut çalıştırma yetkisi verir.
“sudo chown
yeniSahip dosya/dizin” şeklinde
kullanılabilir.
Önceki
durum;
-rwxr-xr-x furkan users
……. deneme
“$sudo chown
mehmet deneme”
Sonraki
durum;
-rwxr-xr-x mehmet
users …… deneme
chgrp
: Dosya/dizin grubunu
değiştirmek için kullanılır.
“sudo
chgrp yeniGrup dosya/dizin”
* Bu komutu
çalıştırabilmek için de kullanıcının root yetkisine sahip olması gerekir.
Önceki
durum;
-rwxr-xr-x furkan users
……. deneme
“$sudo chown
mehmet deneme”
Sonraki
durum;
-rwxr-xr-x mehmet
murat …… deneme
YENİ KULLANICI EKLEMEK - SİLMEK
sudo adduser
kullaniciAdi
sudo deluser
kullaniciAdi
GRUP OLUŞTURMAK - SİLMEK
sudo
addgroup grubunAdi
sudo
delgroup grubunAdi
GRUBA KULLANICI EKLEMEK
“sudo
adduser userName groupName” şeklinde
kullanılır.
sudo adduser murat gs : Komutu ile murat kullanıcısı gs grubuna
eklenecektir
KULLANICININ ÜYESİ OLDUĞU GRUPLARI
LİSTELEMEK
furkan@localhost# groups
: Komutu ile furkan kullanıcısının üyesi olduğu gruplar
ekranda listelenir.
BİR GRUBUN KULLANICILARINI
LİSTELEMEK
Bir gruba
üye kullanıcılar /etc/group dosyasında
tutulur.
murat@localhost# cat
/etc/group : Komutu ile sistemde var olan tüm grupları ve
bu gruba üye kullanıcıları ekranda listeleyebilirsiniz.
LİNUX METİN EDİTÖRLERİ
vi Editörü :
Yazma işlemine başlamak için “i” harfine
basmak gerekir.
Metin silme ve düzünleme işlemleri ;
Kursörün
üzerindeki satırı silme : dd
4 satır
silme :
4dd
Kursör
üzerindeki karakteri silme : x
Satırı
kopyalama : yy
5 satır
kopyalama : 5yy
Yapıştırma : p
Arama işlemleri ;
Geriye doğru
metin arama : ?kelime
İleriye
doğru metin arama : /kelime
Dosya kaydetme işlemleri ;
Değişiklikleri
kaydetme > :w
Değişiklikleri
kaydedip editörden çıkma > :wq!
Değişiklikleri
kaydetmeden çıkma > :q!
Dosyayı yeni
dosya olarak kaydetme > :w dosya
KOMUTLAR (Devam)
ls
–a > deneme
: ls -a komutunun çıktısı deneme isimli dosyaya
yönlendirilir. Eğer dosya yoksa yaratılır, varsada üzerine yazılır.
ls
-a >> deneme
: ls -a komutunun çıktısı deneme isimli dosyaya
eklenir, üzerine yazılmaz. Eğer dosya yoksa yaratılır.
sort
: Bir dosyanın yada farklı
bir komuttan gelen bir girdinin içeriği sıralanabilir.
sort
- r : Sıralama tersine çevrilir.
sort
-u : Yinelenen satırları
atar.
wc : Bir dosyadaki veya komut çıktısındaki satır,
karakter ve kelime sayılarını bulmak için kullanılır. Alabileceği bazı
parametreler aşağıdaki gibidir ;
wc
-l : Satır sayısını bulur.
wc
-w : Kelime sayısını bulur.
wc
-c : Karakter sayısını bulur.
| (Pipe) işareti : Bir komutun çıktısını diğer bir komuta
girdi olarak gönderebiliriz, wc komutu ile beraber kullanalım;
cat
kod | wc –l
: kod dosyasında kaç tane
satır olduğunu bize döndürür. cat normalde sadece yazıyı basar.
cal :
Şuanki ay için bir takvim bastırır.
grep
: Dosyaların içinde arama
yapar.
grep
furkan deneme :
Deneme adlı dosyanın içinde furkan kelimesi geçen bütün satırları
listeler.
grep
furkan /etc/passwd :
/etc/paswd dosyasında furkan kelimesi geçen satırları listeler.
find
: ls komutu ile dosyaları
aramaktansa bu komutu kullanarak daha
fonksiyonlu bir şekilde arama yapılabilir.
find
/home/murat -name bilgisayar
: Komuttaki dosya yolu içinde
adı bilgisayar olan bütün belgeleri basar.
find
-user furkan : Sahibinin adı furkan olan dosya/dizinler
find –group
myo : Sahibi myo grubuna dahil olan dosya/dizinler
find
-perm 755 : Erişim izni 755 olan dosya/dizinler
find
- size +100k :
100 Kbyte’dan büyük olan dosyalar
ps : Çalışmakta olan programları listeler.
ps
-aux | grep murat :
Sadece murat kullanıcısına ait süreçler ekranda listelenir.
kill
: Çalışmakta olan bir
programı sonlandırmak için kullanılır.
kill
-9 1125 :
1125 PID nolu uygulamayı sonlandır.
zip
- r deneme.zip :
Zip ile sıkıştırma işlemi yapar.
unzip
deneme.zip : Zip dosyasını açma
telnet www.google.com : Telnet
protokolü (İletişim ağı) Ağ üzerindeki çok kullanıcılı bir makineye başka bir
makine (pc) kullanılarak bağlanmak ve o pc üzerinde bazı komutları çalıştırmak
için kullanılır.
PAKET KURULUMU
sudo apt-get
install paketinAdi
Kurulu olan bir paketi kaldırmak
sudo apt-get
remove paketinAdi
sudo apt-get
purge paketinAdi
Paket arşivini güncellemek
sudo apt-get
update
SSH Server
: Ağ üzerinden uzaktaki bir
makineye erişip yönetebilmemizi sağlayan bir protokoldür.
# sudo
apt-get install openssh-server
# ssh
username@ IPadress
Yorumlar
Yorum Gönder