2. İçerik (Hafta/Konu)
1. Tanışma, Nedir, Nasıl, Neden? Açık Kaynak, Özgür Yazılım ve Linux Nedir?
2. Temel Terim ve Kavramlar (Açık Kaynak, Dağıtım, Çekirdek, Ara Yüz, Konsol, Vb..)
3. Windows ile Farklı ve Avantajlı Yönler, Kurulu Programlar, Dağıtımlar
4. Dağıtımlar ve Sistem Kurulumları, Açılış Yükleyiciler (Lilo, Grub)
5. Masaüstü Ortamları (Interface-Ara yüzler) ve Dosya Yöneticileri
6. Linux Sisteminin Yapısı
7. Konsol ve Temel Komutlar
8. Vize
9. Konsol Komutları
10. Konsol Komutları devamı
11. Dosya/Dizin Yapısı ve Erişimleri
12. Paket Yöneticileri
13. Kullanıcılar, Gruplar, Yetkiler ve Haklar
14. Sistem İzleme ve Zamanlanmış Görevler
15. Genel Tekrar ve Finale Hazırlık
http://www.muratkara.com/linux
4. Nedir? Neden? Nasıl?
• Linux Nedir?
• Neden Linux?
• Nerede Linux?
• Nasıl (ne çeşit) Linux?
• Açık Kaynak = Bedava mı?
• Yazılım Nasıl Özgür Olur?
5. Açık Kaynak (Open Source)
• Kaynak kodu isteyen herkese açık olan
yazılımdır.
• Kullanıcıya değiştirme özgürlüğü sağlar.
6. Özgür Yazılım (Free software)
Kullanıcısına;
• Çalıştırma,
• Kopyalama,
• Dağıtma,
• İnceleme,
• Değiştirme ve
• Geliştirme
özgürlükleri tanıyan yazılım türüdür.
7. Özgür Yazılım
• Herhangi bir amaç için yazılımı çalıştırma özgürlüğü (0)
• Her ne istiyorsanız onu yaptırmak için programın nasıl çalıştığını
öğrenmek ve onu değiştirme özgürlüğü (1)
(Yazılımın kaynak koduna ulaşmak, bu iş için önkoşuldur.)
• Kopyaları dağıtma özgürlüğü. Böylece komşunuza yardım
edebilirsiniz (2)
• Tüm toplumun yarar sağlayabileceği şekilde programı geliştirme ve
geliştirdiklerinizi (ve genel olarak değiştirilmiş sürümlerini) yayınlama
özgürlüğü (3).
(Kaynak koduna erişmek, bunun için bir önkoşuldur.)
• Kaynak ve Ayrıntılar: https://www.gnu.org/philosophy/free-sw.tr.html
8. Linux
• Unix işletim sistemine fikirsel ve teknik
anlamda atıfta bulunarak geliştirilmiş açık
kaynak kodlu, özgür ve ücretsiz (destek hariç)
bir işletim sistemi çekirdeğidir.
• GNU-Linux adı ile de bilinir.
• Bir nevi Unix türevidir.
• Linux, işletim sisteminin çekirdeği
konumundadır.
9. Unix
• 1969’da Ken Thompson ve Dennis Ritchie
katılımı ile AT&T Bell Laboratuvarları’nda
geliştirildi.
• Geliştirme süreci sonunda UNIX adını aldı
• MULTICS’in versiyonu olan PDP-7 mini
bilgisayarı üzerinde UNICS’i yazdı.
• DEC PDP-7’lerde 8K bellekler ile çalıştırıldı.
• İlk olarak Assembly dilinde yazıldı.
10. Unix
• 60’lı yılların sonunda “C” diliyle yazılmıştır.
• Çok kullanıcılı (multiuser) ve aynı anda birçok işi
yapabilen (multitasking) bir işletim sistemidir.
• Komut yorumlayıcı programlar (shell) aracılığı ile
kullanıcı ve bilgisayar sisteminin iletişimi sağlanır.
• 1980 ler de Unix ~ fiyatı 1300-1850$..
• Pek çok Unix çeşidi vardır.
– BSD Unix, OpenSolaris, HP-UX, AIX, SCO Unix, Sun OS…
11. Unix
• BSD Unix
• Solaris
• OpenSolaris
• Linux
• HP-UX
• AIX
• Minix
• SCO Unix
• Sun OS
• DigitalUnix / Tru64 Unix
12.
13. GNU - GPL
• Richard M. Stallman yazılımların
koşullarını kabullenmek istemiyor..
• 1984 GNU projesini başlatıyor..
• GNU = GNU is Not Unix
• 1985'de Free Software Foundation
(Özgür Yazılım Vakfı) kuruluyor..
• 1991'de General Public Licence
(Genel Kamu Lisansı)
• Özgür ve açık kaynak kodlu..
• Kaynak kodlar üzerinde herkes istediği
değişikliği yapabilir, dağıtabilir, satabilir.
• Yapılan değişikliğinde kodları paylaşılmalı..
14. Minix
• Helsinki Üniversitesi’nde Dr.Andrew Stuart
"Andy" Tanenbaum, Minix işletim sistemini
geliştirmiştir.
• Öğrencilerine Unix yerine Minix üzerinde
eğitim-uygulama yaptırmıştır.
17. Linux
• Helsinki Üniversitesi’nde 23 yaşında,
Finlandiyalı bir öğrenci,
• Linus Torvalds,
• Minix’ten esinlenerek Linux işletim
sistemini (çekirdeği) oluşturmuştur..
• 5 Ekim 1991 – Linux 0.02 internet
ve haber gruplarında yer alıyor..
• GNU-GPL Lisansı ile dağılıyor..
18. Linux
Linus Torvalds'ın 5 Ağustos 1991'de, comp.os.minix adresli, haber grubuna gönderdiği mesaj.
17 Eylül 1991'de Linux'un ilk sürümü olan 0.01'i İnternet'te yayınladı.
5 Ekim 1991'de temel özellikleriyle beraber ilk resmi Linux sürümü 0.02'yi yayınladı.
19.
20. Linux Çekirdeği
• Multitasking (Çok görevli)
• Virtual Memory (Sanal Bellek)
• Protected Mode (Korumalı Mod)
• Hızlı TCP/IP
• Çoklu kullanıcı ortamı (Multi User)
• Modüler Yapı
• İstenilen şekilde yapılandırma yeteneği
• Modern bir işletim sistemi
çekirdeğinden beklenecek pek çok
özellik ve daha da fazlası
23. Online Linux Terminal
Linux Terminal (Üyelik)
• http://www.webminal.org/terminal/
Linux Terminal (JavaScript)
• https://bellard.org/jslinux/
• Ubuntu Tour(Demo) web
http://tour.ubuntu.com/en/
26. Terimler ve Kavramlar
Dağıtım: Linux sistemini kurmayı ve
yönetmeyi kolaylaştırmayı amaçlayan
yazılımlar bütünüdür.
Çekirdek: Sistem kaynakları (donanım
ile yazılımlar) arasında iletişimi sağlar.
27. Terimler ve Kavramlar
• Kabuk: Kullanıcının işletim sistemiyle
iletişimini sağlayan yorumlayıcı,
komutları yorumlamak ve yönetmek
için kullanılan programdır. (Bash, sh, csh, ksh..)
• Konsol: (Terminal-uçbirim) Çeşitli
komutları çalıştırmamıza ve bu
komutların verdiği çıktıları almaya
yarayan bir arabirimdir.
28. Terimler ve Kavramlar
• Root: (Kök) Tam Yetkili kullanıcı, yönetici.
–Sudo: Kullanıcıyı geçici olarak yetkili yapmak.
–Su: Kullanıcı değiştirmeyi sağlar.
• GUI: Bilgisayarlarda işletilen komutlar ve
bunların çıktıları yerine simgeler, pencereler,
düğmeler ve panellerin tümünü ifade etmek için
kullanılan genel adıdır.
29. Terimler ve Kavramlar
• Önyükleyici : (BootLoader) İşletim
sistemlerini başlatmak için kullanılan küçük
programlardır. (Grub, Lilo)
• Masaüstü ortamı : (Desktop Environment)
Görsel olarak sistemi kullanmaya imkan tanıyan
içerisinde kendisine özel bazı, masaüstü efektleri,
panel ve programlar olan ortamlardır.
(işlemlerin görsel yapılmasını sağlayan arayüzlerdir.)
30. Terimler ve Kavramlar
• Paket Yönetim : Paketlenmiş (derlenmiş
kod, program) uygulamaları kurma, güncelleme,
kaldırma işlemlerinin yapılmasıdır.
Yapan araçlara Paket Yönetim Sistemleri denir.
Paketler
– .deb, .rpm ..
Paket Yönetim Sistemleri
– Apt, Rpm, Yum, Pkg, Aptitude, Dpkg ..
32. Linux - Windows
Windows
• Administrator
• Komut İstemi (Cmd)
• Windows Masaüstü ortamı
Linux
• Root
• Konsol (Terminal)
• Gnome, KDE(Plasma),
Fluxbox, openbox, Xfce,
Unity, Cinnamon
33. Linux - Windows
Windows
• Fat, Ntfs, Fat-iso, Universal
• .exe, .com
• .bat, vbs
Linux
• ext2, ext3, ext4, ReiserFS,
FAT, ISO 9660, Universal
Disk Format, Network File
System, NTFS, JFS, XFS..
• .exe(wine) - (/$Path, )
• .sh, py, etc..
34. Linux – [Uygulamalar] – Windows
Windows
• Ms Office
• Edge(Internet Explorer),
Chrome, …
Linux
• LibreOffice,
ApacheOpenOffice,
KdeOffice, GnomeOffice
• Firefox, Chrome(Chromium)
46. Dağıtımlar ve Temel Nitelikleri
• Adı,
• Sürümü,
• Tabanı,
• Ülkesi,
• Paket Yönetimi,
• Dağıtım Yöntemi,
• Masaüstü,
• Geliştirici,
• İlk Sürüm Tarihi,
• Web Sitesi,
47. Dağıtımlar
Adı Debian
Sürümü 9 Stretch, [Buster(Test), Sid(Unstable)]
Tabanı Bağımsız, (SysV, systemd) [Amerika]
Paket Yönetimi Deb, (dpkg)
Dağıtım Yöntemi Fixed
Masaüstü Gnome
Geliştirici Ian Murdock
İlk Sürüm Tarihi 1996
Web Sitesi www.debian.org
48. Dağıtımlar
Adı Linux Mint
Sürümü 19 Tara
Tabanı Debian, Ubuntu, [İrlanda]
Paket Yönetimi Deb (apt) (dpkg)
Dağıtım Yöntemi Fixed
Masaüstü Cinnamon, MATE
Geliştirici Mint Topluluğu
İlk Sürüm Tarihi 2006
Web Sitesi www.linuxmint.com
49. Dağıtımlar
Adı Manjaro Linux
Sürümü 17.1.12
Tabanı Arch [Avusturya, Almanya, Fransa]
Paket Yönetimi Deb (apt) (dpkg)
Dağıtım Yöntemi Rolling
Masaüstü Xfce, Kde, Gnome
Geliştirici Manjaro Topluluğu
İlk Sürüm Tarihi 2013
Web Sitesi www.manjaro.org
50. Dağıtımlar
Adı Ubuntu
Sürümü 18.04 LTS bionic
Tabanı Debian, [Güney Afrika, Man Adası, İngiltere]
Paket Yönetimi Deb (apt) (dpkg)
Dağıtım Yöntemi Fixed
Masaüstü Gnome
Geliştirici Canonical Ltd.
(Mark Shuttleworth)
İlk Sürüm Tarihi 2004
Web Sitesi www.ubuntu.com
51. Dağıtımlar
Adı OpenSUSE (Software und Systementwicklung)
Sürümü 15.0 Leap(Fixed), (tumbleweed) Rolling
Tabanı SuSe Linux Enterprise, [Almanya]
Paket Yönetimi Rpm(zypper), ZYpp, YaST
Dağıtım Yöntemi Fixed, Rolling
Masaüstü KDE
Geliştirici OpenSuse Project, (Novell)
İlk Sürüm Tarihi 1998
Web Sitesi www.opensuse.org
52. Dağıtımlar
Adı Fedora
Sürümü 28 (Fixed), (rawhide)Rolling
Tabanı RedHat, [Amerika]
Paket Yönetimi Rpm(dnf)
Dağıtım Yöntemi Fixed, Rolling
Masaüstü Gnome
Geliştirici Fedora Project,(RedHat)
İlk Sürüm Tarihi 2003
Web Sitesi www.getfedora.org
53. Dağıtımlar
Adı Pardus
Sürümü 17.3
Tabanı Debian, [Türkiye]
Paket Yönetimi Apt (Deb)
Dağıtım Yöntemi Fixed
Masaüstü Xfce
Geliştirici Tübitak Ulakbim
İlk Sürüm Tarihi 2005
Web Sitesi www.pardus.org.tr
54. Dağıtımlar
Adı Slackware
Sürümü 14.2 (50$)
Tabanı Bağımsız (SysV), [Amerika]
Paket Yönetimi Txz
Dağıtım Yöntemi Fixed
Masaüstü Kde
Geliştirici Patrick Volkerding
(Slackware Inc.)
İlk Sürüm Tarihi 1993(1994)
Web Sitesi www.slackware.com
55. Dağıtımlar
Adı Red Hat (Enterprise Linux)
Sürümü RHEL-7.5 [Ücretli ürün $349]
Tabanı Bağımsız, (SysV, systemd), Fedora, [Amerika]
Paket Yönetimi Rpm
Dağıtım Yöntemi Fixed
Masaüstü Gnome
Geliştirici Red Hat Inc.
İlk Sürüm Tarihi 1997
Web Sitesi www.redhat.com
56. Dağıtımlar
Adı elementary OS
Sürümü 0.4.1 Loki (0.5.0 juno beta2)
Tabanı Debian, Ubuntu [Amerika]
Paket Yönetimi Deb
Dağıtım Yöntemi Fixed
Masaüstü Pantheon
Geliştirici Topluluk
İlk Sürüm Tarihi 2011
Web Sitesi elementary.io
57. Dağıtımlar
Adı Scientific
Sürümü 7.5
Tabanı Red Hat, [Amerika]
Paket Yönetimi Rpm
Dağıtım Yöntemi Fixed
Masaüstü Gnome
Geliştirici FermiLab, CERN
İlk Sürüm Tarihi 2007/(2004)
Web Sitesi www.scientificlinux.org
58. Dağıtımlar
Adı Arch Linux
Sürümü 2018.08.19 (2018.10.11)
Tabanı Bağımsız, (SysV) [Kanada]
Paket Yönetimi Pacman
Dağıtım Yöntemi Rolling
Masaüstü Varsayılan Yok, Seçimli
Geliştirici (Judd Vinet), Aaron Griffin
İlk Sürüm Tarihi 2002
Web Sitesi www.archlinux.org
59. Dağıtımlar
Adı MX Linux
Sürümü 17.1
Tabanı Debian, Mepis, AntiX [Yunanistan, Amerika]
Paket Yönetimi Deb
Dağıtım Yöntemi Fixed
Masaüstü Xfce
Geliştirici Topluluk (MX, Mepis)
Community
İlk Sürüm Tarihi 2014
Web Sitesi mxlinux.org
60. Dağıtımlar
Adı Pisi Linux
Sürümü 2.0 (Atatürk)
Tabanı Pardus (Pisi tabanlı son)
Paket Yönetimi Pisi
Dağıtım Yöntemi Fixed
Masaüstü Kde (Plasma)
Geliştirici Pisi Linux Topluluğu
İlk Sürüm Tarihi 2014
Web Sitesi www.pisilinux.org
61. Dağıtımlar
Adı Kali Linux
Sürümü 2018.3
Tabanı Debian (BackTrack), [İsviçre]
Paket Yönetimi Deb
Dağıtım Yöntemi Rolling
Masaüstü Gnome
Geliştirici Offensive Security
İlk Sürüm Tarihi 2004
Web Sitesi www.kali.org
62. Dağıtımlar
Adı CentOS
Sürümü 7 (1804)
Tabanı Fedora, RedHat [Amerika]
Paket Yönetimi Rpm
Dağıtım Yöntemi Fixed
Masaüstü Gnome
Geliştirici Topluluk (RedHat)
İlk Sürüm Tarihi 2004
Web Sitesi www.centos.org
63. Dağıtımlar
Adı KNOPPIX [LiveCD]
Sürümü 8.2
Tabanı Debian, [Almanya]
Paket Yönetimi Deb
Dağıtım Yöntemi Fixed
Masaüstü Lxde
Geliştirici Klaus Knopper
İlk Sürüm Tarihi 2003 (2000)
Web Sitesi www.knoppix.org
64. Dağıtımlar
Adı Solus
Sürümü 3 (3.99)
Tabanı Bağımsız, (pisi) [İrlanda]
Paket Yönetimi Flatpak, eopag (pisi)
Dağıtım Yöntemi Rolling
Masaüstü Budgie, Gnome, Mate
Geliştirici Topluluk
İlk Sürüm Tarihi 2016
Web Sitesi getsol.us
65. Dağıtımlar
Adı Puppy Linux [LiveCD]
Sürümü 7.5 xenialpup
Tabanı Bağımsız, Vector Linux, SysV, [Avustralya]
Paket Yönetimi Pet
Dağıtım Yöntemi Fixed
Masaüstü Openbox
Geliştirici Barry Kauler
İlk Sürüm Tarihi 2006 (2003)
Web Sitesi www.puppylinux.com
66. Bootloader (Önyükleyici)
• İşletim sistemini başlatmak için kullanılan
küçük programlara denilmektedir.
• MBR (Master Boot Record - Ana Önyükleme Kaydı)‘a
yüklenir.
• BIOS tarafından başlatılır.
• Kernel ve işletim sistemi çağrılır.
• Boot-açılış gerçekleşir.
70. Bootloader Çeşitleri
• GNU GRUB
• LILO
• Syslinux
• ISOLinux
• BootMgr
• NTLDR
• BootX
• FreeLoader
• Burg
71. GRUB
• GRUB (Grand Unified Bootloader)
(Büyük Birleştirilmiş Önyükleyici)
• GNU GRUB, Eirch Stefan Broleyn tarafından GRUB
temel alınarak yazıldı.
• GRUB 2 yenisi ve son adıdır.
• GNU GRUB artık GRUB Legacy diye adlandırılır.
• GRUB 2 özellikleri;
– Çoklu önyükleme,
– Farklı donanım desteği,
– Farklı mimari desteği,
– GRUB editörü,
– vb..
72. LILO
• LILO (LINUX LOADER) (Linux Yükleyicisi)
• Werner Almesberger tarafından ilk olarak yazımı
başlatılan çoklu yükleyicidir.
• Bir dosya sistemine bağımlı olmadan çalışır.
• Geliştirilmesi Kasım 2015 den itibaren
durdurulmuştur.
• Tüm dosyaları sürücünün
ilk 1024 silindirinde saklar.
• Komut satırı arabirimi yoktur.
75. Masaüstü Ortamı
• Bilgisayarların grafiksel ara yüzle kullanılmasını
sağlayan bilgisayar yazılımlarına verilen addır.
• Grafiksel Kullanıcı Arayüzü (GUI - Graphical User Interface):
bilgisayarlarda işletilen komutlar ve bunların çıktıları
yerine simgeler, pencereler, düğmeler ve panellerin
tümünü ifade etmek için kullanılan genel addır.
• Kullanıcıların bilgisayar kullanımlarında, grafiksel ara
yüzler ve araçlar aracılığıyla sistem ile etkileşimli
olarak çalışmalarına yardımcı olur.
80. Cinnamon
Tam Adı Cinnamon (Tarçın)
Tabanı GNOME 3, (Fransa)
Kullanan
Dağıtım Linux Mint
Geliştirici Linux Mint Takımı
İlk sürüm
Tarihi 2011, (Güncel sürüm 3.2)
Pencere
Yöneticisi Muffin
Dosya
Yöneticisi Nemo
Sitesi https://cinnamon-spices.linuxmint.com
94. Dosya Yöneticisi
Sistemde bulunan dosya ve klasörleri görüntülemek,
üzerlerinde işlemler yapmak ve gezinmek için kullanılan
programdır.
Linux Dağıtımlarında kullanılan belli başlı dosya
yöneticileri;
Caja
Dolphin
GNOME Commander
GNOME Files
Konqueror
Midnight Commander
Nautilus
Nemo
PCMan File Manager
SpaceFM
Thunar
Xfe
95. Dolphin (Yunus)
Masaüstü ortamı KDE
İlk tarih 2006
Son Sürüm 17.04
Geliştirici
Emmanuel Pescosta, Peter Penz ve
KDE Geliştirme ekibi
Sitesi https://www.kde.org/applications/system/dolphin
102. Dosya Sistemi
• Bilgisayarın sabit disk üzerindeki verileri
düzenlemek için kullandığı temel yapıdır.
• Bir işletim sistemi, bir disk veya bölümleri
üzerindeki dosyalarının izlerini bulmak için
dosya sisteminden yararlanır.
103. Linux Dosya Sistemi
Dosya sistemi yapısı genel olarak Süperblok, Dosya düğümü ve veri bloğu
kısımlarından oluşur.
• Süperblok (Superblock) : Dosya sisteminin boyutu gibi, bütünü hakkında
bilgiler içeren bölümdür.
• Dosya Düğümü (Inode) : Dosyanın ismi dışında bütün bilgilerini içeren
bölümdür. Dosyanın ismi, dosya düğümünün numarasıyla birlikte bulunur.
• Veri Bloğu: Dosyalardaki bilgilerin depolanmasını sağlayan kısımdır.
105. Linux EXT Dosya Sistemleri
Extended File System (Genişletilmiş dosya sistemi)
• Ext: Linux için Rémy Card tarafından geliştirilen dosya
sistemidir. (1992) (Ext1)
• Ext2: 1993 yılında geliştirilmiş, en çok 4 TB disk bölümünü
destekler.
• Ext3: (1999) 2001 yılında çekirdeğe eklenmiştir. Ext2
özellikleri yanı sıra günlükleme (journalling) özelliği vardır.
Günlükleme özelliği, yapılan veya yapılmakta olan işlemlerin
kayıtlarının tutulması işlemidir.
• Ext4: (2006) Ext3 ün özelliklerine ilaveten büyük dosya
sistemlerini destekler . 1 Exabyte dosya sistemi ve 16 TB
dosya boyutunu destekler. Ayrıca, e2fsprogs, journal
checksum gibi araçlara sahiptir.
114. Linux Kurulum/Kullanım Yöntemleri
• Live CD: Dağıtımın .iso dosyası CD veya DVD ye kalıp
yazdırma ile yapılır.
• Live Usb (Boot): Usb Flash bootable yapıldıktan sonra
dağıtım .iso dosyası kalıp yazdırması usb flash üzerine
yapılır.
• Sanallaştırma yazılımı ile kurulum: Sanallaştırma
yazılımı kurulur ardından yazılım için dağıtımın .iso
dosyası çağrılıp kurulum sanal makine üzerine yapılır.
• Sabit Diske Kurulum: CD/DVD/Usb Flash/Net üzerinden
direkt olarak sabit disk üzerine kurulum yapılmasıdır.
116. Live Usb Flash Bootable Yapmak
https://rufus.akeo.ie
https://unetbootin.github.io
https://sourceforge.net/projects/win32diskimager
117. Live Usb Flash Bootable Yapmak
https://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3
https://www.pendrivelinux.com/yumi-multiboot-usb-creator
118. Sanallaştırma (Virtualization)
Birden fazla işletim sisteminin aynı fiziksel ekipman
kaynaklarını paylaşarak çalışmasını ifade eder.
Türleri;
• Sunucu Sanallaştırma (Server Virtualization)
• Depolama Sanallaştırma (Storage Virtualization)
• Ağ Sanallaştırma (Network Virtualization)
• Masaüstü ve Dizüstü Sanallaştırma (Desktop & Laptop
Virtualization)
• Uygulama Sanallaştırma (Application Virtualization)
122. Linux Konsolu ve Komutları
• Konsol kavramı Linux’a Unix’ten kalan bir
mirastır.
• Komutların yazıldığı metin ekranlı arabirimdir.
• Komut satırı ara yüzüdür.
123. Kabuk (Shell)
• Komutları yorumlamak ve yönetmek için
kullanılan bir tür panel programdır.
• Linux'ta farklı terminal benzetici (emulator)
programları mevcuttur: Konsole, Xterm, Gnome
terminal gibi..
• Kabuk çeşitleri;
– Bash (Bourne Again Shell)
– Tcsh (TENEX C Shell)
– Ash (Almquist Shell)
– Zsh (Z Shell)
– Ksh (Korn Shell)
124. Kabuk
• Kabuk(Shell)
• Kabuk, girilen komutları inceleyip çalıştırmak üzere gerekli kaynakları bulup
çekirdeğe ileten bir yazılımdır. Komutların gerektirdiği kaynakları bulur ve
kullanacak kaynaklara iletir.
• Unix için açık kaynak olmasının getirdiği avantaj ile geliştirilmiş birçok kabuk
programı vardır. Kısaca bunlara bakacak olursak;
• Sh Bourne Shell Steve Bourne tarafından geliştirilmiş orijinal Unix kabuğudur.
• Csh C-Shell Berkeley Üniversitesinde C dili ile geliştirilmiştir.
• Ksh Korn Shell David Korn tarafından geliştirilmiştir. Yetenekleri itibarıyla en etkili
kabuk olarak bilinir.
• Bash Bourne Again Shell Free Software Foundation tarafından geliştirilmiştir.
• Tcsh T-Shell Geliştirilmiş C-Shell olarak bilinir.
• Zsh Z-Shell Bash,ksh,tcsh ile benzerlikler gösteren bir kabuktur.
• Bizim çalışacağımız kabuk uygulaması Bash olacaktır. Bash, kullanım kolaylığı
sebebiyle oldukça yaygındır. Komut tamamlama özelliği ile önemli bir ayrıcalığa
sahiptir.
• Ekteki resimde hangi kabukta çalıştığımızı ve ça
125. Kabuk
Shell Kısa Adı Geliştiren
Bourne Sh Stephan Bourne
C Shell Csh California Üniversitesi
Bourne Again Shell Bash Stephan Bourne
Korn Shell ksh David Korn
126. Linux Konsolu(Konsole)
• Konsol; Komutların yazıldığı metin ekranlı
arabirimdir.
• Terminal olarak da adlandırılır.
• Pek çok şekli ve programı vardır.
• Konsol, xterm, aterm, rxvt, ...
• Konsola geçmek için;
Ctrl + Alt + F2 (F1..F6)
• X-Window(GUI) geçmek için;
Ctrl + Alt + F7
127. Konsole
• Konsole; program olarak çalıştır menüsü ile
kullanılabilir.
• Alt + F2 (Komut Çalıştır Penceresi);
Konsole (Enter)
• Geçerli kullanıcı oturumu ile konsol
görüntülenir.
128. Konsol
kullanıcıadı@bilgisayaradı:~$
• İlk olarak kullanıcı adı belirtilmiştir.
• Sonra gelen kısım bilgisayar adını belirtir.
• ~ (tilda) işareti ise o anda bulunulan dizinin
yerine kullanılmıştır.
129. Konsol
kullanıcıadı@bilgisayaradı:~$
kullanıcıadı@bilgisayaradı:~#
• Kullanıcı adının sağ tarafında görünen işaret kullanıcının
yetki seviyesini ifade eder. Varsayılan ayarlarla genel olarak
$ (dolar) işareti tanımlı olarak gelecektir.
• $ (dolar) işareti normal bir kullanıcı için varsayılan işarettir.
Bir diğer adıyla (user) sınırlı kullanıcı oturumunda
bulunduğunu gösterir.
• # (diyez), root kullanıcısı için varsayılan işarettir.
130. Konsol
• $ User hakları olan bir kullanıcı
• # root yetkiye sahip bir kullanıcı
• Root => (Windows’da Administrator)
• Konsol giriş ekranında kullanıcı adı ve parola
bilgisi girilirken, parola giriş sırasında
(yazılırken) görünmez.
131. Konsol Komutları
• Linux yapı itibari ile küçük/BÜYÜK harf
ayrımına duyarlıdır.
• Konsol’dan çıkmak için;
exit veya logoff
• Kullanılabilecek tüm komutların bir listesini
görmek ve yardım almak için;
• help (Enter)
132. Konsol Komutları ve Windows (DOS) Karşılıkları
Linux Komutu
help
ls --help
ls
ls |more
clear
Windows Komutu
help
help dir
dir
dir /p
cls
133. Genel Amaçlı Komutlar
• Yardım (Help);
Komutlar hakkında bilgi veya komutun doğru
yazımı(syntax) parametreleri ve kullanımı için
kullanılır.
komut_ismi –help
ls –help (gibi..)
134. Bilgi Edinme Komutları
• history
Son girilen komutların listesini verir.
• (Yukarı yön tuşu)
son girilen komutu getirir.
• Tab tuşu
Yazılmakta olunan komutu tamamlar.
138. man (Sayfaları)
• man(ual) dosyalarıdır.
man <komut> şeklinde kullanılır.
• Açılan sayfada ilerlemek için "space" (boşluk)
tuşuna basılır.
• Çıkmak için 'q' (quit - çık) tuşuna basılarak
sayfadan çıkılabilir.
142. time
• time şeklinde kullanılır.
Makinanın Saat bilgisini verir. Değiştirmek içinde
kullanılır.
• Komutun parametrelerini ve kullanımı ile ilgili
ayrıntılı listesi için;
time -- help
143. date
• date şeklinde kullanılır.
Sistemin tarihini verir ve değiştirmek için
kullanılır.
• date --help
201. Linux – Dosya / Dizin Yapısı
/root (Kök)
/bin: Temel komutları, uygulamaları, çalıştırılabilir dosyaları içerir.
/boot: Çekirdek ve açılışta kullanılan yükleyici dosyaları içerir.
/dev: Donanım, aygıt dosyalarını, disk bölümlerini içerir.
/etc: Sistem ayarları, yapılandırma(config) bilgisini içerir.
/home: Kullanıcıların verilerini içerir.
/lib: Çekirdek modülleri ve paylaşılan kod kütüphanelerini içerir.
/media : Kaldırılabilir aygıtların (CD-Rom, Flash bellek vs...) sisteme eklendiği klasördür.
/mnt: Çeşitli dosya sistemi/aygıtlarını bağlantılarını içerir.
/opt : Ekstra programların kolay kurabilmesi için gerekli yazılımları içerir.
/proc: Süreçler ve donanım yapılandırmaları için bilgi merkezidir.
/root: Sistem yöneticisinin (yani “root” kullanıcısının) ev dizinidir.
/sbin: Sistem yöneticisine ait çalıştırılabilir dosyaları barındırır.
/srv : Sistemin sunduğu hizmetlerle alakalıdır
/usr: Tüm kullanıcılarca paylaşılan verileri (program) içeren dizindir.
/tmp: Geçici dosyaları içerir.
/local: Yerel uygulama ve bileşenleri içerir.
/var: Değişken veriler, kuyruk ve sistem log dosyalarını içerir.
208. /bin
• Sistem yöneticileri ve
normal sistem kullanıcıları
için kullanışlı temel
komutları barındırır.
• Kullanıcı kabuğu bash ve
ls, cp, rm, cat gibi pek çok
temel komutu içermesi
nedeni ile en basit sistem
kurulumunda bile
oluşturulur.
209. /boot
• İşletim sisteminin
açılması için gerekli
bütün dosyalar bu
dizindedir.
• Çekirdekler ve initrd
kalıpları bu dizinde
yer alır.
# ls /boot/
config-3.2.0-4-amd64 grub initrd.img-3.2.0-4-amd64
System.map-3.2.0-4-amd64 vmlinuz-3.2.0-4-amd64
210. /dev
• Bu dizin özel veya
aygıt dosyalarının
konumudur.
• Bilgisayara bağlı
aygıtlar, donanımlar
/dev altında
kendilerine erişimi
sağlayan bir dosyaya
sahiptirler.
211. /dev
Aygıt Açıklama
hd
IDE disk sürücülerini belirtir; 1–4 primary bölümlere; 5 ve sonrası logical
bölümlere işaret eder.
sd
SCSI disk sürücülerini belirtir. Sisteme disk ekledikçe sda,sdb,sdc şeklinde
isimlendirme devam eder.
scd SCSI CD-ROM sürücüleri
fd Floppy diskleri
st SCSI tape sürücüleri
tty
Terminals,sistemde var olan terminaller tty1,tty2.. isimlendirmesiyle
devam eder.
lp Printer ports,printer portlarını ifade eder.
ttyS Serial ports,sistemdeki seri portları ifade eder.
md RAID devices,RAID aygıtlar varsa onları belirtir.
cdrom CD-ROM device dosyasına linktir.
cdwriter CD-R veya CD-RW device dosyasına linktir.
modem Modem device dosyasına linktir.
floppy Floppy device dosyasına linktir.
tape Tape device dosyasına linktir.
scanner Scanner device dosyasına linktir.
212. /etc
• Sistemin önemli yapılandırma
dosyaları bu dizindedir.
Yapılandırma dosyaları
çalıştırılamayan fakat okunan ve
yorumlanan dosyalardır.
• Bir programın nasıl çalışacağını
belirlerler.
• Buradaki dosyalar olmadan
sistem programları düzgün
çalışmayacaktır.
• /etc için sistemin kalbidir
diyebiliriz.
• Her zaman yedeklemede
önceliğe sahiptir.
213. /home
• Linux, herkese çalışması için bir ev
(home) dizini sunar.
• Linux'te standart olarak kullanıcı
dizinleri /home altında yer alır.
• Buraya kullanıcı istediği dosyaları
yerleştirir, programları kurar veya siler.
• Çok fazla kullanıcı olan sistemlerde bu
dizinin ayrı bir disk bölümü olması
tavsiye edilmektedir.
• Bir kullanıcı açılırken kullanıcı dizinine
bazı dosyalar otomatik olarak
kopyalanır.
• Bu dosyalar /etc/skel altındaki
dosyalardır.
214. /lib
• Çekirdek modülleri ve sistem kütüphanelerini
içerir.
• Çekirdek modülleri sistemin açılışı için gerekli
olup bazı donanımların sistem tarafından
tanınmasını sağlar.
• Sistem kütüphaneleri ise /bin ve /sbin altındaki
programların çalışması için gerekli C
kütüphaneleridir.
• Kütüphane dosyalarının uzantısı *.so şeklindedir.
• Çekirdek modülleri ve aygıt sürücüleri
/lib/modules/'kernel-version' dizini altındadır.
• Linux altında birden fazla çekirdek olabileceği
için bu şekilde çekirdek sürümü ile dizinler
ayrılmaktadır.
• Açılış zamanında hangi çekirdek seçilirse onun
dizinindeki modüller yüklenir.
215. /media
• Disket, cd-rom, dv-rom, cd/dvd-rw gibi
sökülüp takılabilir dosya sistemleri bu dizine
bağlanmaktadır.
216. /mnt
• Dosya sistemlerini veya aygıtları bağlamak için
kullanılan genel bağlama noktasıdır.
• Bağlama işlemi mount komutuyla yapılır:
# mount /dev/hdd /mnt
217. /opt
• İşletim sisteminin öntanımlı kurulumu ile
gelmeyen tüm yazılım ve paketlerin kurulumu için
/opt dizini tahsis edilmiştir.
• Örneğin, Kylix, StarOffice, WordPErfect vb...
• Bu dizin Windows altındaki “Program Files”
dizinine benzetilebilir.
• Her üretici bu dizin altında kendi adıyla veya
programın adıyla bir dizin açar ve programlarını
bu dizinin içerisine kurar.
/opt/surgate, /opt/endersys veya /opt/ecm gibi.
218. /proc
• Sanal bir dosya sistemidir.
• Buradaki dosyalar gerçek içerik taşımaz.
• Çalışma zamanında çekirdek tarafından içerikler
güncellenebilir.
• Sistem belleği, bağlanmış aygıtlar, donanım bilgisi,
süreçlerin durumu gibi çekirdeğe ait bilgileri barındırır.
• Pek çok sistem programı bilgilerini bu dizinden alırlar:
– lsmod komutu, /proc/modules dosyasındaki bilgileri
yorumlar.
– lspci komutu da /proc/pci dosyasını okur.
220. /proc
Dosyalar(Files) Açıklama
/proc/num
Num yerine sistemde çalışan process’lerin dizinleri yer alır. Mesela
sistemdeki 2398 pid’li processin dizini /proc/2398 dur.
/proc/cpuinfo Sistemde var olan CPU sayısını,tipini,modelini belirtir.
/proc/devices Kernelde çalışan aygıt(device) sürücülerini listeler.
/proc/filesystems Kernelde yer alan File systemleri(FS) gösterir.
/proc/ioports I/O portlarından hangisinin kullanıldığını gösterir.
/proc/kcore Fiziksel memory’nin imajını tutar.
/proc/kmsg Kernel tarafından üretilen mesajları gösterir.
/proc/loadavg Sistemin ortalama load’ unu gösterir.
/proc/meminfo Sistemdeki memory ‘i ve memory kullanım bilgisini gösterir.
/proc/modules Kernelde yüklü olan modülleri gösterir.
/proc/net Network protokollerini gösterir.
/proc/stat İşletim sistemi istatistiklerini gösterir.
/proc/uptime Sistemin ne kadar süredir ayakta olduğunu gösterir.
/proc/version Kernel versiyonunu gösterir.
221. /root
• Sistem yöneticisinin ev dizinidir.
• Sistem kullanıcısı 'root' isimli hesaba sahiptir
ve bu hesabın ev dizini /root dizinidir.
• /home dizini genelde farklı disklerde
olduğundan herhangi bir nedenle yetkili
kullanıcının sisteme erişememesi durumu
olmaması için ev dizini köke alınmıştır.
223. /sbin
• Sistem programları (system binary)
bu dizinde bulunur.
• Sistem programlarının normal
programlardan (/bin) farkı sistem
yönetimine yönelik olmalarıdır.
• Büyük bir kısmını çalıştırmaya
normal kullanıcılar yetkili değildir.
• Çalıştırabildikleri ise sistemden bilgi
almaya yönelik, sistemde değişiklik
yapmayan sistem komutlarıdır.
• mkfs, lspci, lsmod, service, sysctl,
syslogd, grub, fsck, dump, init,
modprobe gibi sistem komutları bu
dizindedir.
224. /srv
• Sistemin sunduğu servislerle ilgili verileri içerir.
– http-ftp gibi servisler için..
226. /tmp
• Geçici olarak kullanılacak
dosyalar bu dizinde oluşturulur.
• Bütün programlar ve kullanıcılar
bu dizine yazabilirler.
• Buradaki dosyaları ne
yaptığınıza emin olmadan
silmeniz tehlikeli olabilir.
• Çünkü silinen dosyaları o an
çalışan süreçlerden biri
kullanıyor olabilir.
227. /usr
• Sistemde en çok yer kaplayan dizindir.
• Kullanıcı için ikinci bir kök dizin olarak düşünülebilir.
• Nasıl ki sistemin /bin, /sbin dizinleri var;
• Kullanıcıların da /usr/bin ve /usr/sbin dizinleri de vardır.
• Sisteme sonradan kullanıcı tarafından kurulan programlar /usr 'ı
kök kabul ederek dosya sistemine yerleşirler.
• Örneğin;
– kullanıcı programları /usr/bin'e,
– sistem programları /usr/sbin'e,
– yapılandırma dosyaları /usr/etc veya /usr/local/etc'ye yerleştirilir.
# ls /usr/
bin games include lib lib32 local sbin share src
228. /usr
Dizin Açıklaması
/usr/bin
Sistemdeki kullanıcılar için gerekli olan binary dosyalar ve gerekli araçlar
burada bulunur.
/usr/sbin Sistem yöneticisinin çalıştırdığı binary dosyalar burada bulunur.
/usr/lib
Uygulamalar,programlama dilleri için gerekli olan kütüphaneler(libraries)
buradadır.
/usr/games Oyun dosyaları burada tutulur.
/usr/include C ve C++ programlama dillerinin header (.h) dosyaları burada tutulur.
/usr/doc Linux dokümantasyonu burada tutulur.
/usr/local Lokalde kurulu olan uygulamalar öncelikle bu path altına kurulur.
/usr/share
Mimari bağımsız dosyaların,genellikle dokümantasyon ve genel ayarlar için
kullanılan bir bölümdür.
/usr/src Kaynak dosyalarının tutulduğu yerdir.
/usr/X11R6
X Windows Sisteminin kütüphane ve uygulama dosyalarının olduğu
bölümdür.
229. /var
• Genel olarak değişken (variable) veriler/dosyalar bu dizinde tutulur.
• Örneğin sistem günlükleri, mail kuyruğu, gelen mailler, yazıcı kuyruğu,
programların kilit dosyaları vs...
# ls /var/
backups cache data lib local lock log mail opt run spool tmp www
• /var ve /usr'ın ayrı bölümlerde olması sistem yönetimini kolaylaştırır.
• /usr yalnız okunur şekilde bağlanıp korumaya alınabilir.
• /usr altına dosya eklemek veya oradaki dosyaları değiştirmek çok nadiren
gerçekleşir.
• /var ise her saniye değişebilir.
• Sürekli gelen emailler, sürekli günlük yazan programlar düşünülürse ne
kadar yoğun yazmaya tabi tutulduğu daha kolay anlaşılır.
230. /var
Dizin Açıklama
/var/cache
Yardım sayfaları,web Proxy bilgileri,fontlar,bazı uygulamaların özel geçici bilgileri burada
tutulur.
/var/crash Sistem crash dump ‘larının tutulduğu yerdir.
/var/games Sistemde kurulu olan oyun bilgilerinin tutulduğu yerdir.
/var/local /usr/local altına kurulan programlar için değişen data’ların tutulduğu yerdir.
/var/lock
Özel bir dosya veya program kullanılırken sistemin o dosya veya program üstüne lock
koyduğunu belirten dosyalar burada yer alır.
/var/log
Sistem loglarının tutulduğu bölgedir. Mesela /var/log/messages kernel ve diğer sistem
uygulamalarının log attığı dosyadır.
/var/mail Kullanıcıların mailbox dosyaları yer alır.
/var/opt /opt dizini altında kurulu olan programlar için değişebilir verilerin tutulduğu yerdir.
/var/run Sistemde çalışan process’lerin bilgilerinin tutulduğu yerdir.
/var/spool mail, haber ve yazıcı kuyruğun daki dosyalar burada bulunur.
/var/tmp Geçici dosyaların tutulduğu yerdir.
/var/www Web server’a ait web sayfalarının/dosyalarının tutulduğu yerdir.
/var/ftp FTP server’a ait FTP dosyalarının tutulduğu yerdir.
/var/named DNS Server’a ait Domain konfigürasyon dosyalarının tutulduğu yerdir.
233. Dosya İzinleri
• Tüm dosyalara erişim izni root kullanıcısınındır.
• Temel olarak dosya izin hakları (yetkilendirme) 3
bölüme ayrılır.
• Dosya hakları;
• u Sahibi (user)
• g Grubu (grup)
• o Diğerleri (others)
• a Herkes (all)
234. Dosya İzin Kaynakları
• Temel 3 kaynak vardır.
• w yazma (write)
• r okuma (read)
• x çalıştırma (execute)
• Bütün dosyalar için erişim yetkilerini değiştiren komut
(change mod)
chmod ‘dur.
• chmod parametreler dosya/dizin
236. Dosya Hak ve Yetkileri
Sahibi u Grubu g Diğerleri o
Okuma r 400 040 004
Yazma w 200 020 002
Çalıştırma x 100 010 001
Toplam
777
700 070 007
237.
238. Dosya İzin Örnekleri
• chmod 700 deneme.txt
deneme dosyasının sahibine okuma, yazma ve
çalıştırma izni verilmiştir.
• chmod 050 deneme.txt
deneme dosyası grubuna okuma ve çalıştırma izni
verilmiştir.
• chmod 653 deneme.txt
deneme dosyası sahibine okuma, yazma,
grubuna okuma, çalıştırma, ile diğerlerine yazma ve
çalıştırma izinleri verilmiştir.
239. Dosya İzin Listesi
• Bir örnek;
• ls –l
drwxrw-r-- DeneDizini
-rwxrw-r-- deneme.txt
En baştaki d bir dizin(klasör) olduğunu belirtir.
d | rwx | rwx | rwx
dizin | u | g | o
u sahibi (user), g grubu(grup), o diğer(other)
240.
241. Dosya İzin Listesi
• rwx | rwx | rwx
u | g | o
u sahibi (user), g grubu(grup), o diğeri(other)
(r read-okuma, w write-yazma, o others-diğerleri)
• u+r sahibine okuma izni ekler.
• g=r grubunun izinlerini siler ve salt okunur.
• o-r diğerlerinden okuma iznini kaldırır.
• + ekler, - çıkarır, =değiştirir.
242. Dosya İzin Örnekleri
• chmod 754 deneme.txt
veya
• chmod u+rwx, go+r, g+x deneme.txt
Her iki yazım şeklinde de dosya Sahibine okuma, yazma ve
çalıştırma,
Grup ve diğerlerine, okuma,
Gruba çalıştırma izini verilmektedir.
• Sonuç olarak aşağıdaki gibi görüntülenir;
ls –l
-rwxr-xr-- deneme.txt
245. Paket ve Yönetim Sistemleri
• Paket: Yazılımın(programın) derlenmiş veya
kaynak kodu şeklinde olan toplu kısmına
denilmektedir.
• Paket Yönetim Sistemi(Paket Yöneticisi):
Paketin kurulması, yapılandırılması,
güncellenmesi, kaldırılması gibi işlemleri
yapmak için kullanılan yazılıma denilmektedir.
249. apt
• apt-get update depo ile sistemde bulunan paket
versiyonlarına göre listeyi günceller, indirme-
kurma yapmaz.
• apt-get upgrade listeye göre sistemde bulunan
paketler en güncel sürüme yükseltilir.
• apt dist-upgrade Mevcut paketlerin
güncellenmesi, sistemde olmayan yeni
bağımlılıkların kurulması, gerek kalmayan
bağımlılıkların silinmesi ve sorunlu olan
bağımlılıkların çözümü ve sisteminizin güncel
kernel sürümüne yükseltilmesi işlemlerini yapar.
281. ss
• ss : Socket Statistics. Socketler ile ilgili
istatistiki bilgi verir. (Network)
282. Zamanlanmış Görevler
• (Task Scheduler-Automated Tasks)
• Zamanlanmış Görevler.
• Belirli sürelerde çalışmasını istediğimiz işlemler
için arka planda yapılmasını sağlayan araçlardır.
• Linux dünyasında;
– cron
– at
– batch
gibi görev araçları bulunmaktadır.
283. cron
• CRON Linux sistemlerinde zaman bazlı çalışan bir
görev planlayıcısıdır.
• Belirli bir zamanda, ayın belirli gününde, haftanın
belirli gününde veya haftada bir çeşitli görevleri
çalıştırmak için tasarlanmış bir Daemon’dır.
• cron Table -> crontab
• /etc dizini altındaki crontab dosyası ise cronların
çalışma zamanını ve görevlerini barındıran
yapılandırma dosyasıdır.
• cron jobs -> cronjob
286. cron
• #ls /etc/cron* (Çalışacak cron listesi)
• 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
• Pazartesi cuma günleri sadece mesai saatleri içerisinde on dakikada bir çalışabilen zamanlanmış görev
• */10 8-17 * * 1,5 root touch /home/merhaba
287. İçerik (Hafta/Konu)
1. Tanışma, Nedir, Nasıl, Neden? Açık Kaynak, Özgür Yazılım ve Linux Nedir?
2. Temel Terim ve Kavramlar (Açık Kaynak, Dağıtım, Çekirdek, Ara Yüz, Konsol, Vb..)
3. Windows ile Farklı ve Avantajlı Yönler, Kurulu Programlar, Dağıtımlar
4. Dağıtımlar ve Sistem Kurulumları, Açılış Yükleyiciler (Lilo, Grub)
5. Masaüstü Ortamları (Interface-Ara yüzler) ve Dosya Yöneticileri
6. Linux Sisteminin Yapısı
7. Konsol ve Temel Komutlar
8. Vize
9. Konsol Komutları
10. Konsol Komutları devamı
11. Dosya/Dizin Yapısı ve Erişimleri
12. Paket Yöneticileri
13. Kullanıcılar, Gruplar, Yetkiler ve Haklar
14. Sistem İzleme ve Zamanlanmış Görevler
15. Genel Tekrar ve Finale Hazırlık
http://www.muratkara.com/linux