http://www.slideshare.net/AhmetGrel1/linuxa-giris-ve-kurulum
Bu döküman linkte ki bir önceki dökümanın devamıdır.Bu sunumda Temel Linux Kullanımı ve Komutlarını anlatmaya çalıştım.şinize yaraması dileğiyle iyi çalışmalar.Soru,görüş ve önerileriniz için ahmetgurel.yazilim@gmail.com a mail atabilirsiniz.
2. HAKKIMDA
AHMET GÜREL
BLOGGER ~ www.gurelahmet.com
SDÜ YAZILIM KULÜBÜ ~ BAŞKAN YARDIMCISI
Süleyman Demirel Üniversitesi Bilgisayar Mühendisliği
www.linkedin.com/in/ahmetgurell
@ahmtgrll
MAİL:
ahmetgurel.yazilim@gmail.com
ahmet@gurelahmet.com
4. Sunum Kazanımları
Linux Dosya ve Dizin Yapısı
Dosya İşlemleri
Process(Süreç) Yönetimi
Arama Komutları
Dosya İzinleri
Sistem Bilgileri
Dosya Sıkıştırma İşlemleri
Ağ Komutları
Yazılım Derleme/Kurma
Metin Editörleri
Linux’ta Alias Kullanımı
Linux’ta Crontab(Zamanlanmış Görevler)
Linux’ta DNS Değiştirme
Linux’ta Root Şifresi Değiştirme
6. Linux’ta Dosya ve Dizin Yapısı
/bin : Olması zorunlu temel komut dosyalarını içerir.
/boot : Başlangıç için gerekli dosyaları bulundurur.
/home: Ev dizinidir.Içinde kullanıcı dosyaları masaüstü,resimler,indirilenler gibi dosyalar bulunur.
/dev : Donanım dosyaları vardır.
/etc : Sistem ayarlarını barındırır.
/lib : Kütüphane dosyaları ve çekirdek modülleri bulunur.
/media : Kaldırılabilir aygıtların (CD-ROM, USB bellek vb.) sisteme eklendiği klasördür.
/mnt : Sistem açılışında otomatik olarak bağlanan sabit disk bölümleri bu dizin altında eklenir.
/opt : Üçüncü parti kullanıcı programlarının kurulması içindir.
/sbin : Sistemi yöneticisiyle ilgili çalıştırabilir dosyaları tutar.
/srv : Sistemin sunduğu hizmetlerle alakalıdır.
/tmp : Geçici dosyaları tutmak içindir.
/usr : Tüm kullanıcılarca paylaşılan verileri içeren dizindir.
/var : Log dosyaları, e-posta ve yazıcı kuyrukları gibi değişken verileri barındırır.
8. Dosya İşlemleri
ls – dosyaları listeler ls al- gizli dosyalar dahil tüm dosyaları listeler
cd – seçtiğiniz dizinin içine girmenizi sağlar
9. komut --help ya da man komut ile komutların diğer parametrelerini görebiliriz.
ls --help komutunun çıktısı man ls komutunun çıktısı
Komutlar Hakkında Yardım Alma
10. pwd:Bulunduğumuz dizini verir clear: Terminal ekranını temizler mkdir klasör_adi – belirtilen isimde dizin oluşturur.
mkdir -p klasör1/klasör2- -p parametresi iç içe klasör oluşturmaya yarar.Bu ve daha fazla parametreyi man mkdir
ile görebilirsiniz
11. Silme ve Kopyalama İşlemleri
rm dosya – dosya siler rm -r klasör – belirtilen klasörü siler
touch dosya – boş dosya oluşturur
**Burada silme işlemini gerçekleştirirken silinsin mi diye soruyor y(yes) diyerek işlemi onaylıyoruz.
15. Çalışan Process(Süreçler)’i Görme
top- Tüm süreçleri gösterir.
**Burada gördüğünüz PID(Process ID) dır.Bir process’i öldürmek(durdurmak) için kullanacağız.
16. Process(Süreçler)’i Durdurmak
kill pid (process id) –Belirtilen süreçi sonlandırır.
**5604 PID(process id) firefox uygulamasına denk geliyor biz bu uygulamayı kill 5604 diyerek durdurmuş olduk.
17. Arama Komutları
find - find komutu girdiğimiz dizin ve alt klasörlerinde arama yapar.Kullanımı: find dosya_yolu -name “aranacak_ifade”
**Belirtilen yolda *(hrehangi bir ifade) ile başlayıp .odt ile biten dosyaları arıyan komuttur.find komutunun -name
gibi başka parametreleride mevcuttur merak edenler bunları internetten aratarak bulabilirler.
18. grep ifade dosya – Belirtilen dosyalarda ifadeyi arar.
**cd ile Deskop dizinine geldik.Burada grep ile oku.txt dosyasında “gürel” ifadesini arattık ve gelen sonuç
ekranda kırmızı ile yazdı.Hiç bir şey bulamasaydı birşey yazmayacaktı.
19. komut | grep ifade – Komutun çıktısında ifadeyi aratır.
**İlk olarak ps aux | grep firefox komutu ile firefox u arattık ve gelen sonuçlardan firefox un pıd(process id) numarasını
bulduk.Bunuda kill 7309 komutunu kullanarak durdurduk.Daha sonra yeniden ps aux | grep firefox komutunun
çıktısına baktığımızda o süreçin durduğunu hep beraber gördük.
20. Linux’ta Dosya İzinleri
● Öncelikle burada bilmemiz gereken Read(Okuma),
Write(Yazma),eXecute(Çalıştırma) izinlerinin sayısal
değerlerinin bulunduğu.r=4,w=2,x=1 dir.rwx(4+2+1) in
7 yi temsil ettiğini bilmemiz gerekiyor.Onun dışında
sayılar üç basamaklı olmakta.Birinci Basamağı
Owner(Kendisinin) izinlerini,İkinci basamağı Group
(Bulunduğu Grup)’un izinlerini,ve son olarakta
Üçüncü basamağıda Public(Diğerlerinin) izinlerini
temsil etmektedir.
21. ls -al - komutu ile tüm dosyaların özelliklerini ve
izinlerini görüntüledik.burada drwxr-xr-x gibi
karışık gelen ifadeler dosyanın izinlerini belirtir.Ilk
satırda ki drwxr-xr-x ele alırsak.
d rwx r-x r-x
d: dizin olduğunu belirtiyor.Dosyalarda - dir.
rwx: İlk basamak kendisinin izni(4+2+1=7)
r-x:İkinci basamak grubun izni(4+0+1=6)
r-x:Üçüncü basamak diğerlerinin izni(4+0+1=6)
Ele aldığımız ilk sıradaki dizinimizin izni 766 dır.
Aslında okumayı öğrenince hiç de karışık
olmadığını görüyorsunuz :)
22. Dosyaların İzinlerini Değiştirmek
chmod izin_degeri dosya- chmod ile vermek istediğimiz izin değerini o dosyaya atayabiliyoruz.
**Burada oku.txt dosyasına 7(read+write+execute)7read+write+execute)7read+write+execute) iznini verdik.Kendisi
grubu ve diğerleri hem okuyor hem yazıyor hem de çalıştırabiliyor.chmod ile dosyaların izinlerini bu şekilde
değiştirebilirsiniz.
23. Sistem Bilgileri
date – mevcut saat ve tarihi gösterir cal – içinde bulunan ayın takvimini gösterir
24. uptime – sistemin açık kalma süresini gösterir w – sistemle ilgili özet bilgiler verir
whoami – giriş yapan kullanıcıyı gösterir
Sistem Bilgileri
25. Sistem Bilgileri
finger kullanıcı – kullanıcı hakkında bilgi verir uname -a – çekirdek bilgisini gösterir.
**finger kurulu değil ise kurmanizi isteyecektir.sudo apt-get install finger komutu ile kurabilirsiniz.Bunu yazilim
derleme ve kurma adı altında ileride işleyeceğiz.
28. Sistem Bilgileri
df – disk kullanımını gösterir. du – dizinin kullandığı disk alanını gösterir.
** İlk olarak df ile disk kullanımını görüntüledik daha sonra mkdir ile yeni bir dizin oluşturmak istediğimizde permission
denied(izin reddedildi) hatasını aldık bu yuzden sudo ile root kullanıcısının yetkilerini kullanarak oluşturduk.Ve daha
sonra du ile disk te ne kadar yer kapladığını gördük.
29. Sistem Bilgileri
free – kullanılan RAM bilgisini gösterir which uygulama – uygulamanın tam yolunu gösterir
30. Linux’ta Dosya Sıkıştırma
tar cf dosya.tar.gz dosya – Sıkıştırılmış tar arşivi oluşturur. (gzip)
tar xf dosya.tar.gz – Sıkıştırılmış arşivi açar.
tar cf dosya.tar.bz2 dosya – Sıkıştırılmış tar arşivi oluşturur. (bzip2)
tar xf dosya.tar.bz2 – Arşivi açar.
34. Yazılım Derleme/Kurma
1-Öncelikle sistem açıldığında Ubuntuda Ubuntu Software Center i araç çubuğunda görebilirsiniz diğer dağıtımlarda
da bu tip uygulama merkezleri (paket depoları) vardır.Buradan istediğiniz programları bularak root şifrenizi girdikten
sonra oldukça basit bir şekilde yükleyebilirsiniz.
35. Yazılım Derleme/Kurma
2-Komut satırı üzerinden paket yönetimi sistemi ile de program kurabiliriz.Bunun için verilecek komutlar:
sudo apt-get install paket_adi - Programı kurmaya yarar
sudo apt-get remove paket_adi -Programı kaldırır.
37. Yazılım Derleme/Kurma
3-Yazılım Merkezlerinde bazen tüm yazilimlar olmuyor ya da olanlar da eski sürümleri olabiliyor.Bir önceki gördüğümüz
NetBeans Java IDE si 7.0.1 iken şuan 8.0.2 si mevcut.Bunları yüklemek için internetten kurulum dosyaları bulunur ve
yüklenir.Bu kurulum dosyaları “.sh”,”.bin” ve “.deb” tarzında olabilir.Bunları yükler iken:
sudo dpkg -i dosya_adi.deb **deb(debian kısaltması) farklı dağıtımlarda farklı şekilde olacaktır.
chmod +x dosya_adi.sh **Dosyayı komut olarak çalışır hale getirecektir.
./dosya_adi.sh şeklinde kurulur. **(.bin uzantılı dosyalarda .sh uzantılı dosyalarla aynı şekilde kurulur.)
39. Linux’ta Editörler
Linux ta metin dosyalarını okumak için nano ve vi editörleri içinde yüklü gelir.Vi nin çok daha gelişmiş hali olan vim
editörü çok yaygın bir şekilde kullanılır bende onu kullanmaktayım.Onu kullanmak için sudo apt-get install vim ile
yüklemeniz gerekmektedir.
touch komutu ile EditörÖgren adlı bir dosya oluşturup bunun içine vim editörü ile girmemizi sağlayacak komutu
terminale yazdık.
40.
41. Dosyamıza vim ile yazdıklarımızı kaydetip çıktıktan sonra cat komutu ile içine bakıyoruz ve yazdıklarımız kayıt edilmiş
mi diye ve her şey yazdığımız gibi :)
42. Linux’ta Alias Kullanımı
Alias ile Linux’ta istediğiniz bir komutun adını değiştirebilirsiniz.
Bu genelde uzun karışık gelip sık sık kullanılan komutları basitleştirmek için kullanılır.
Biz ise bugün cd nin yerine sec kullanmak isteyeceğiz ve bunu alias ile yapacağız.
Bunun için /etc/bash.bashrc dosyasını vim editörü ile açarak alias sec=”cd” şeklinde bir tanımlama yapacağız.
Aliasında kullanım şeklini öğrenmiş olduk. Aslında komutlara takma isim veriyoruz.
43. Burada dosyayı açtıktan İ ye basarak insert olup sonra alias sec=”cd” tanımlamasını yapıyoruz.Daha sonra ESC ye
basıp :wq ile dosyayı kaydedip çıkıyoruz.Terminali kapatıp açtıktan sonra cd komutu yerine sec komutunu
kullanacağız.
44. Linux’ta Crontab(Zamanlanmış Görevler)
Crontab Nedir?
Linuxta crontab istediğimiz bir komutu crontab dosyasına yazarak istediğimiz zamanlarda istediğimiz kullanıcı
tarafından komut yada uygulamaların çalıştırılma işlemidir.Etc dizininin altındaki crontab dosyasına cat komutu ile göz
atalım.Burada crontab ın ayarlarını görebilmekteyiz.
45. Crontab Parametreleri
$crontab -e → crontab dosyasının düzenlenmesi yoksa oluşturmayı sağlar.
$crontab -l → crontab dosyasını gösterir.
$crontab -r → crontab dosyasını siler.
$crontab -v → crontab dosyasının en son düzenlenme tarihini gösterir.
46. Crontab Nasıl Yazılır?
Crontan hakkında genel bilgileri verdikten sonra gelelim crontab yazımına.Crontab yazmak için uymamız ve bilmemiz
gereken bir kaç küçük kural var.
Dakika Saat Ayın Günler Ay Haftanın Günleri Kullanıcı Adı Komut
* * * * * root ls /home/ahmet-gurel/Desktop
Crontab yazarken yukaridaki sıralamaya uyarak yazmalıyız.* lar her an demektir.Yukaridaki komut her dakika her saat
ayın her günü her ay ve haftanın her günü Desktop u ls komutu ile listeler diyebiliriz.
47. Crontab Nasıl Yazılır?
Dakika(0-59)
Saat(1-23)
Ayin Günleri(1-31)
Ay(1-12)
Haftanin Günleri(0-7)(0 veya 7 Pazar 1:Pazartesi 2:Sali ...... 6:Cumartesi)
Kullanıcı Adi
Komut
Sırası ve yanındaki izin değerlerini kullanarak oluşturmamız gerekiyor.Şimdi bir kaç örnek yapalım.
48. Crontab Örnekler
1-Her gun 6.30,12.30,18.30,20.30 Saatlerinde çalışan bir komut?
Dakika Saat Ayın Günleri Aylar Haftanın Günleri Kullanıcı Adı Komut
30 6,12,18,20 * * * root touch
Not:Birden fazla saati,günü yada dakikayı yukarıdaki örnekteki gibi virgül ile ayırabiliriz.
2-Ilk çalışma saati 04:00 te sonraki çalışma saati 07:00 den 12:00 kadar diğer çalışma saati 14:00 olan bir
zamanlanmıs görev yazınız.
Dakika Saat Ayın Günleri Aylar Haftanın Günleri Kullanıcı Adı Komut
0 4,7-12,14 * * * root touch / hello
Not:Belli saatleri virgülle ayırıyoruz fakat yukaridaki örnekte ki gibi belli saatler arasında sürekli çalışmasını istediğimiz
zaman ise bunu - ile yapıyoruz.
49. Crontab Örnekler
3-Pazartesi cuma günleri sadece mesai saatleri içerisinde on dakikada bir çalışabilen zamanlanmış görev yazınız.
Dakika Saat Ayın Günleri Aylar Haftanın Günleri Kullanıcı Adı Komut
*/10 8-17 * * 1,5 root touch /home/merhaba
Not: Her 10 dakikada derken */10 kullanarak yaptık bu örnekte en önemli kısım buydu.
4-21 mart salı günü 6 saatde bir çalışacak zamanlanmıs görev yazınız
Dakika Saat Ayın Günleri Aylar Haftanın Günleri Kullanıcı Adı Komut
* */6 21 3 2 root touch /home/hello
5-Ikiye bölunen ayların üçe bölünen gümlerinde eğer o gun cumartesiye denk geliyorsa sabah 8 den 14 e kadar 9
dakika bir çalışabilen zmanşanmıs görev yazınız.
Dakika Saat Ayın Günleri Aylar Haftanın Günleri Kullanıcı Adı Komut
*/9 8-14 3-30/3 2-12/2 6 root touch /home/hello
Örnekler bittiğine göre önemli işaretlerin virgül(,),tire(-),slash(/) ve yıldız(*) olduğunu görmüş olduk.
50. Linux’ta Çalışan Cronlar
Son olarak çalışan cronları görmek için log dosyalarını inclememiz gerekir tabi ki bunu kolaylaştırmak için grep
komutuyla yapabiliriz."grep CRON /var/log/syslog" komutu yazarsaniz sisteminizde çalışan cronları görebilirsiniz.
51. Linux’ta DNS Değiştirme
DNS(Domain Name System) nedir?
Türkçe olarak Alan Adı Sistemi olan DNS girdiğimiz sitelerin IP adresini tutan bir adres defteri gibidir.
Girdiğimiz bir domain tıkladığımızda kullandığımız DNS bizi yönlendirdiği için bazen ulaşamama durumları oluyor farklı
nedenlerden o IP yı engellıyorlar ve bu site yasaklanmıştır diyor bizde bunun için farklı DNS ler kullanarak erişimimize
devam ediyoruz.
Türkiyede yasaklanan sitelerin arasına zamanında youtube,twitter gibi siteler de girdiği için herkes DNS değiştirmeyi
yardımcı proğramlar ve farklı browserler kullanmayı öğrendi.Sanırım yasakların tek iyi sonucu bu oldu :)
52. Linux’ta DNS Değiştirme
Linuxta DNS adresleri /etc dizinin altınta resolv.conf dosyasında tutuluyor. (.conf configuration dan geliyor ayar,
yapılandırma dosyası demektır.)
sudo ile root yetkisi alarak resolv.conf ayar dosyasını vim editörü ile açtık.(vim editörü yüklü değil ise “sudo apt-get
install vim” komutu ile yükleyebilir yada nano ve vi editörlerinden birini kullanabilirsiniz.)
53. Linux’ta DNS Değiştirme
Default olarak gelen DNS imiz 127.0.1.1 adresini görüyoruz biz bunu Google’ın DNS i olan 8.8.8.8 /8.8.4.4 ile
değiştireceğiz.Bunun için “i” tuşuna basarak editörümüzü INSERT hale getireceğiz.
54. Linux’ta DNS Değiştirme
DNS imizi böyle girdikten sonra “ESC” tuşuna basarak “:wq” yazarak vim editörüne kaydet ve çık komutunu vermiş
olduk.
Fakat bu yaptığımız işlem bilgisayar yeniden başlattığımızda silinip eski halini alacak.
Bunun için bizde chattr +i /etc/resolv.conf komutunu vererek işlemimizi kalıca hale getireceğiz.
Chattr +i dosyamızı kilitlemeye yarayan komuttur.
55. Linux’ta Root Şifresi Değiştirme
Linux ta bildiğiniz gibi bazı işlemleri gerçekleştirebilmeniz için root yetkilerine sahip olmanız gerekir.
Program yükleyip kaldıracağınız zaman,sistem dosyalarında değişiklik yapacağınız zaman root yetkisi gerekir.
Fakat bazen root şifresi unutulabiliyor hele ki yeni kullanıcıların çok başına gelmektedir.
Debian(Ubuntu,Mint,Kali,Pardus…) dağıtımlarında unutulan root şifresini yeniden oluşturmayı anlatacağım.
Önümüze gelen grub ekranı aşağıda ki görselde mevcut grub ekranında E tuşuna basarak EDIT hala getireceğiz.
56. Linux’ta Root Şifresi Değiştirme
Şimdi yukarıda ki görselde kırmızı ile çizilmiş kısımlar bizim için önemli ro yazan yerde ki yolu değiştirdikten sonra Ctrl-x
yada F10 ile boot ederek sistemi root olarak açacağız.
58. Linux’ta Root Şifresi Değiştirme
ro ve sonrasını silerek rw quiet init=/bin/bash yazarak CTRL+X yada F10 ile boot edeceğiz.
NOT:Bu arada ro ve rw kernel parametreleridir.ro default olarak gelen sadece okuma iznini barındırıyor rw ise
okumanın yanında yazma yetkisinide barındırıyor.ro yu kullansak yazma yetkımızın olmamasından dolayı bir hata
alabilirdik.
59. Linux’ta Root Şifresi Değiştirme
Boot ettikten sonra sistem root olarak açılıyor. passwd komutunu girerek yeni şifre belirleyeceğiz.
60. Linux’ta Root Şifresi Değiştirme
Resimde gördüğünüz gibi işlem başarı ile gerçekleşti passwd: password updated successfully gibi bir çıktı aldık.Artık
şifreniz yeniden oluşturulmuştur güle güle kullanınız.
61. TEŞEKKÜRLER...
Başta da söylediğim gibi daha önce hazırladığım Linux'a Giriş ve Kurulum dökümanına göz attıysanız bu dökuman çok
daha anlaşılır gelecektir.
Bu sunumda Temel Linux Kullanımı & Komutlarını anlatmaya çalıştım.
Bunların yanında işinize yarabilecek bir kaç farklı konuya değindim.İşlenen komutlar temel olup daha bir çok komut ve
her komutun bir çok parametresi mevcuttur.
Bu sunumu bitirip temel seviyeye geldikten sonra internetten bolca araştırma yapmanızı öneririm.
Soru,Görüş ve Önerilerinizi ahmetgurel.yazilim@gmail.com mail adresim ile ya da Blogumda(www.gurelahmet.com) ki
Sosyal Ağlar kısmında bana ulaşıp sorabilirsiniz.
Umarım faydalı olmuştur.Başka sunumlarda görüşmek üzere :)
AHMET GÜREL