Dosya Sistemi, Yapısı ve Temel komutları

Benzer belgeler
LİNUX. Dosyalar ve dizinler

Linux Dosya ve Dizin Yapısı

LİNUX. Dosyalar ve dizinler

Linux işletim sistemlerinde dosya hiyerarşisinde en üstte bulunan dizindir. Diğer bütün dizinler kök dizinin altında bulunur.

3. DOSYA SİSTEMİ VE ÇALIŞMA MANTIĞI

Linux ta komutlar hakkında yardım almak için aşağıdaki komutlar kullanılır : - man - info - whatis - apropos

Temel Linux Eğitimi 1., 2. ve 3. Bölümler

$ rm dosya1 dosya2 dosya3 dosya4 dosya5 dosya6 dosya7 dosya8

man komut man ls (ls komutu hakkında bilgi verir.) man pwd (pwd komutu hakkında bilgi verir.)

$ echo $PATH /sbin:/bin:/usr/sbin:/usr/bin:/usr/x11r6/bin: /usr/local/sbin:/usr/local/bin:/usr/games:.

Aşağıda listelenen temel linux komutları bilgisayarınızın komut satırında çalıtırılacaktır.

Linux altında komut satırında...

Yrd. Doç. Dr. A. Burak İNNER

Temel LINUX Komutları

AÇIK KAYNAK İŞLETİM SİSTEMLERİ - BÖLÜM 1. Temel komutlar,dosya ve Dizin İşlemleri, Kullanıcı ve Grup İşlemleri

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

BİLGİ İŞLEM DERS 1. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ

Temel Linux Komutları

Komut Penceresi ile Çalışmaya Başlamak

AKINSOFT. Eofis NetworkAdmin. AKINSOFT EOfis NetworkAdmin Kurulumu Bilgi Notu. Doküman Versiyon : Tarih : Copyright 2008 AKINSOFT

Kazanımlar. Linux nedir? Linux dizin yapısı. Linux kabuğu nedir? Temel kabuk komutları. Bash programlama. Dosya işlemleri. Süreç yönetimi.

Temel Linux Eğitimi. İçindekiler

Windows 2000 veya XP kurarken dosya sistemini seçmeniz gerekir. Ya FAT32 dosya sistemini kullanırsınız ya da NTFS.

VISUAL BASIC DE İŞLETİM SİSTEMİ DENETİM KOMUTLARI VE FONKSİYONLARI

Dosya/Dizin İzinleri. Okuma (r) Yazma (w) Çalıştırma (x) Dosya içeriğini görebilir mi? (Klasörler için) dosya listesini alabilir mi?

Bir üst dizinde yer alan prog1 programını çalıştırmak için aşağıdaki komutlardan hangisini çalıştırmak gerekir?

AYDES PROJESİ MESAJ KUTUSU EĞİTİM DOKÜMANI

16-18 Nisan 2012 Pazartesi-Çarsamba 9:30-12:30. Temel Linux Eğitimi. Süha TUNA.

İŞLETİM SİSTEMLERİ. İŞLETİM SİSTEMİ Kavramı. Klasör ve Dosya Mantığı. Klasör ve Dosya Mantığı

ÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ 1

Kabuk Programlama (Bash)

SIMAN KULLANIM KILAVUZU

Windows XP: Simple Sharing, Security ve ForceGuest Perşembe, 07 Eylül :02 - Son Güncelleme Cumartesi, 12 Eylül :36

AKINSOFT OtoPark. Yardım Dosyası

BİLGİ İŞLEM DERS 3. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ

Widows un çalışmasında birinci sırada önem taşıyan dosyalardan biriside Registry olarak bilinen kayıt veri tabanıdır.

Kurumsal Güvenlik ve Web Filtreleme

FreeBSD Erişim Kontrol Listeleri

Pardus ta Komutlarla Çalışmak

Linux Ubuntu Kurulumu

Oluşturmak istediğimiz OU ye bir isim veriyoruz. Name kısmına ISTANBUL yazıyoruz,

Kurumsal Güvenlik ve Web Filtreleme

Kullanım şekli: cal <ay> <yıl> Bu komut ile takvim görüntülenebilir.

Linux un Tarihsel gelişimi

SQL Uyarı Programı Kurulum ve Kullanımı

SAB 103 TEMEL BİLGİSAYAR KULLANIMI

Kelime işlemcilerin işlevlerini öğrenmek. Başlıca kelime işlemcileri tanımak. Microsoft Word 2010 programı hakkında temel bilgileri öğrenmek.

Temel Bilgisayar kullanımı

CYGWIN KURULUMU ve KULLANIMI

Regular Expressions Version 0.1

Setup Yardımcı Programı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

İMAGE (SİSTEM GÖRÜNTÜSÜ) ALMA VE YÜKLEME NASIL YAPILIR. İmage nedir?

KULLANIM KILAVUZU. Programda veri gireceğiniz yerler beyaz renklidir. Sarı renkli alanlar hesaplama veya otomatik olarak gelen bilgilerdir.

ecyber Kullanıcı Kılavuzu 1 / 1 1. ecyber hakkında Sistem gereksinimleri:... 2 Donanım:... 2 Yazılım: Kullanım Rehberi...

İşletim Sistemleri. Discovering Computers Living in a Digital World

TEMEL BİLGİ TEKNOLOJİSİ KULLANIMI. Enformatik Bölümü

ÇANKAYA ÜNİVERSİTESİ WEBMAIL KULLANIM KLAVUZU

Linux Dosya Sistemi Yapısı. Dosya Sistemleri:

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz.

Bilgisayar. Bilgisayarın Özellikleri. Giriş İşleme Çıkış. Bilgisayar Nedir? Bilgisayarın Çalışma Prensibi

Örnek bir kullanım ve bilgisayar ağlarını oluşturan bileşenlerin özeti

Gidilen sayfadan bir önceki sayfaya geçilir. Şekil Git İşlemi diyalog kutusu

Kullanıcı Klavuzu

Ağ Nedir? Birden fazla bilgisayarın iletişimini sağlayan printer vb. kaynakları, daha iyi ve ortaklaşa kullanımı sağlayan yapılara denir.

CHAPTER 3. ZAMANLANMIŞ GÖREVLER (Automated Tasks)

Süreç Yönetimi. Logo

Apache üzerinden Red Hat 5 yüklenmesi

Pardus 2013 te Metin Editörleri

Control-Panel>User Accounts

Setup Yardımcı Programı Kullanıcı Kılavuzu

LUCA YENİ ARAYÜZ UYGULAMASI

Veritabanı Tasarımı. Sütun Değerlerini Güncelleme ve Satırları Silme

İl ve İlçe Milli Eğitim Müdürlüğü İşlemleri YÖNETİCİ MODÜLÜ Bölüm - 01

12. Kat Oluşturma. Bu konuda mevcut bir katın bilgilerini kullanarak nasıl yeni katlar oluşturulabileceği incelenecektir.

KONU: İşletim Sistemleri I - Ms-Dos İşletim Sistemi SORULAR

MAC İşletim Sistemine Sahip Makineler İçin Elektronik İmza Kurulumu

Bilgisayar Kurulum Kullanıcı Kılavuzu

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

LİNUX İŞLETİM SİSTEMİNİN KÖPRÜ MODUNDA ÇALIŞTIRILMASI VE GÜVENLİK DUVARI İŞLEMLERİ

Windows Grup İlkesi Düzenleyici

Yrd. Doç. Dr. A. Burak İNNER

1.5. Başvuru formundaki bilgileri aşağıdaki şekilde doldurunuz. Kart Okuyucu Tipi: Mini Kart Okuyucu Sertifika Süresi: 3 Yıl

Temel Bilgi Teknlolojileri 1. Ders notları 5. Öğr.Gör. Hüseyin Bilal MACİT 2017

08224 Sunucu İşletim Sistemleri

Kod Listeleri Genel Yapısı

E-Posta Hesabı Oluşturma

Murat ÖZBEK

İşletim Sistemi Nedir?

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu

1. MİCROSOFT EXCEL 2010 A GİRİŞ

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi GÜVENLİK VE İZİNLER. BLM401 Dr.Refik SAMET

Aktif Dizin Logon/Logoff Script Ayarları Versiyon

İşletim Sistemlerine Giriş

FirewallSuite TM Kurulum Kılavuzu

Çözüm Bilgisayar. Çözüm SIRAMATİK

Bu Hafta Öğreneceklerimiz

11 SÜRÜM İLE EKLENEN ÖZELLİKLER/DEĞİŞİKLİKLER ( V7 (B1554) )

BİL BİLGİSAYAR PROGRAMLAMA (JAVA)

CAEeda TM. CAEeda TM USB BELLEĞİ KULLANIM KILAVUZU. EDA Tasarım Analiz Mühendislik

Transkript:

Dosya Sistemi, Yapısı ve Temel komutları Dosya, çevre bellek üzerinde (disk, disket, CD vb.), kendisine bir isim verilmiş olan bağımsız bir bilgi grubudur. Linux ta bir dosya, ismi ve bulunduğu dizin ile belirlenir. Doğal olarak aynı dizin içerisinde belirli bir isimde sadece bir tane dosya bulunabilir. Aynı isim fakat farklı içerikte dosyalar oluşturmak istiyorsanız bunları farklı dizinlere koymalısınız. Dizin kavramı ise bildiğiniz gibi, disk içinde belirli bir isimle tanımlanmış disk bölgesi anlamındadır. Bu konulara yeni başlayanlar genellikle dosya ve dizin kavramını karıştırırlar. Bir dizin içerisinde çok sayıda dizin ve dosya bulunabilir fakat dosya içerisinde dizin bulunmaz. Dosya isimleri 255 karakteri aşamaz. Tüm büyük harfler (A-Z), küçük harfler (a-z), rakamlar (0-9) ve noktalama işaretlerinden bir bölümü (., _ -) dosya ve dizin isimlendirirken kullanılabilir. Dosya isimlerinde Türkçe karakterler ve <>?*{}[]()^!\ &$~ gibi karakterler kullanılamaz. En Sık Karşılaşacağınız Dosya Türleri: Bilgisayar ortamında çok çeşitli tipte dosyalarla karşılaşmak söz konusudur. Bunlardan en yaygın olarak karşılaşılabilecek olanları aşağıdaki sınıflarda toplamak mümkündür. 1) Sistem Dosyaları Bunlar bilgisayar sisteminin işletimi ile ilgili dosyalarıdır. Genellikle bu tür dosyalar Linux işletim sisteminin okuyarak sistem işletimi için kullandığı metin tipinde dosyalardır. Linux sistem sorumlusu bu tür sistem dosyalarının güncellenmesinden sorumludur. Örneğin sisteme yeni bir kullanıcı eklense ya da sistemden yani bir kullanıcı çıksa kullanıcı sistem dosyasının güncellenmesi gerekir. 2) Kullanıcı Veri Dosyaları Bu tip dosyalar, Linux işletim sistemini kullanan kullanıcıların oluşturduğu ya da güncellediği dosyalardır. Bunlarda metin tipi dosyalardır. Sayısal ya da alfabetik bilgi içerir. 3) İcra Edilebilir (executable) Dosyalar Bu tip dosyalar ise, bilgisayarda doğrudan doğruya çalıştırılabilecek komut içerirler. Belirli amaç için oluşturulmuş komut kümesine program adı veriyoruz. İcra edilebilir dosyalar 1

bu anlamda program dosyalarıdır. Bunların oluşturulması ya da üzerinde değişiklik yapılması özel yazılım ürünleri sayesinde mümkündür. Linux işletim sisteminde çalıştırılabilir dosyaların belli bir uzantıya sahip olması gerekmemektedir. Bir dosyanın çalıştırılıp çalıştırılamayacağı dosyanın izinlerinden anlaşılmaktadır. Dizin Hiyerarşisi Dizin Hiyerarşisi, işletim sisteminin, dosyaları diskte tutabilmek için kullandığı yapılar ve yöntemlere verilen addır. Yani bir anlamda dosyaların diskteki düzenidir diyebiliriz. Bu düzen kapsamında bir hiyerarşiden bahsedebiliriz. Diğer işletim sistemlerinde olduğu gibi Linux ta da, disk, kendine isim verilmiş bir takım bölgelere ayrılır. Bu isimlendirilmiş bölgelere dizin (directory) denilmektedir. Bir dizin içine belirli bir konu ile ilgili çok sayıda dosya konulabilir. Ayrıca bir dizin başka bazı dizinleri de içerebilir. Bir dizinin içerdiği bu dizinlere, o dizine ait alt dizin (subdirectories) adı verilmektedir. Linux ta, diskteki diğer bütün dizinleri içeren dizine kök (root) dizin adı verilir. Bir disk içerisinde bir tane kök dizin bulunabileceği yukarıdaki tanımdan anlaşılmaktadır. Kök dizine ebeveyn dizin (parent directory) adı da verilir. Kök dizin altındaki alt dizinlerde kendilerine bağlı alt dizinler içerebilir ve bu yapı belirli bir derinliğe kadar sürebilir. Kök dizin ve onun altındaki alt dizin guruplarından oluşan yapıya ağaç yapısı (tree structure) adı verilmektedir. Kök dizini (root directory) / karakteriyle gösterilir. Bir dizin ya da dosyanın; sistemdeki konumu, o dosya/dizinin yol uyla belirtilir. Yol; kök dizininden itibaren, o dosya/dizine ulaşmak için geçilmesi gereken dizinlerin / işaretiyle birleştirilerek ardışık bir şekilde yazılmasıyla elde edilen ifadedir. Örneğin; /home/erkut yolu, kök dizinindeki, home isimli dizinin içindeki erkut dizininin konumunu belirtir. Bu ifadede en baştaki / kök dizinini belirtmektedir. Aynı şekilde /usr/share/kde yolu, kök dizinindeki usr dizininin içindeki, share dizininin içinde bulunan kde dizininin yerini belirtir. 2

Sisteminizde erişilebilir her dizin/dosyanın yeri (diğer disklerdekiler de dâhil olmak üzere) bu şekilde tarif edilebilir. Bağlama ve Ayırma Kavramları (mount ve unmount) Bir dosya sistemini/aygıtı erişilebilir kılmak için yapılması gereken işleme bağlamak (İng. mount) denir. Bağlama işlemi yapıldıktan sonra, bağlanan aygıta, bağlama noktası adı verilen bir dizinden erişilebilir. Bağlama noktası olarak sistemde herhangi bir dizin seçilebilir, fakat birazdan bahsedeceğimiz üzere ön tanımlı bağlama noktaları /mnt'de bulunur. Ayırma (ing. unmount) kavramı da adı üstünde, bir sistemi/aygıtı sistemden ayırmak için kullanılır. Ayrılma sırasında ayrılan aygıta, yapılan birtakım değişiklikler kaydedilir. Dikkat! Bilgisayarınızı kapattığınız zaman sisteminize bağlı tüm aygıtlar otomatik olarak ayrılır. Eğer bilgisayarınızı doğrudan mesela fişi çekerek kapatırsanız, ayırma işlemi sırasında kaydedilecek olan bazı değişiklikler kaydedilemez, bu da sisteminizde birtakım hasarlara yol açabilir. Bu yüzden her zaman böyle durumlardan kaçınınız. Kök Dizini Kök dizini diğer tüm dizin ve dosyaları içeren dizindir. Kök dizinin bulunduğu disk bölümünün sahip olması gereken önemli bir özellik bulunmaktadır. Kök dizinini içeren disk bölümü sistemi tek kullanıcılı açmak için gerekli tüm dosyaları içinde barındırmalıdır. Bu işletim sistemin açılabilmesi için gerekli bir kuraldır. bahsedelim: Kök dizininde bulunan dizinlerden ve bu dizinlerin kullanılışlarından kısaca / bin boot dev etc home lib mnt proc root usr var tmp /bin : Tüm kullanıcıların kullanabildiği temel komutları (cp, mv, ls gibi.) içerir. /boot : Açılış işlemi (ing. boot) sırasında kullanılan dosyaları (çekirdek görüntüsü, sistem haritası, önyükleyici yapılandırması gibi.) içerir. /dev : Bilgisayarınızdaki, donanımlarla (sabit diskler, fare gibi.) iletişim kurulabilmesi için gereken özel aygıt dosyalarını içerir. 3

/etc : Adı İngilizcedeki etc kısaltmasından gelir. Dizin, bulunduğu bilgisayara özel, birçok yapılandırma bilgisini içerir. /home : Bu dizin altında, kullanıcıların kişisel verilerini, yapılandırmalarını kaydettikleri çalışma alanları olan ev dizinleri bulunur. Her kullanıcının ev dizini, kendi kullanıcı adını taşır. /lib : Çekirdek modülleri ve paylaşılan kod kütüphanelerini içerir. MS Windows'ta dll uzantısına sahip olan paylaşılan kütüphane dosyaları, Linux'ta so uzantısına sahiptir. /mnt : Çeşitli dosya sistemi/aygıtların (Örneğin CD, DVD sürücünüz diğer sabit diskleriniz gibi) bağlama noktaları burada bulunur. /proc : Süreçler, sistem belleği, bağlı aygıtlar, donanım yapılandırmalarıyla ilgili bilgileri içeren özel bir sanal dosya sistemidir. Bir bilgi alma merkezi olarak görülebilir. Birçok uygulama buradaki bilgilerden yararlanmaktadır. /root : Sistem yöneticisinin (yani root kullanıcısının) ev dizinidir. /usr : Tüm kullanıcılarca paylaşılan verileri (örneğin programlar, komutlar, kütüphaneler, dokümanlar gibi) içeren dizindir. /usr/bin : Normal kullanıcılar tarafından kullanılan komutlar. /usr/sbin : Sistem tarafından kullanılan ve sistemin açılması, kapanması ve tek kullanıcılı modda çalışması ile ilgili olmayan programlar. /usr/lib : Programlama için kullanılan kütüphaneler. /usr/include: C/C++ için kullanılan başlık dosyaları. /usr/doc : Dokümanların bulunduğu dizin. /usr/man : Man dosyaları. /var : Değişken verileri içerir. (Örneğin rapor dosyaları, veritabanları, kuyrukta bekleyen yazdırılacak dokümanlar gibi.) /var/lock : Çalışan programların yarattığı kilit dosyaları. /var/log : Log dosyaları. /var/run : Sistemde çalışan sunucuların proses kimlik numaralarını içeren dosyalar. /var/tmp : Geçici dosyalar. /var/yp : NIS ile ilgili dosyalar. /var/spool : Kuyruk dosyaları. o mail : Kullanıcıların e-postalarının tutulduğu dizin. o Mqueue : E-posta kuyruğunda bekleyen e-postalar için yaratılan geçici kuyruk dosyalarının bulunduğu dizin. o lpd : Yazıcı kuyruğunda bekleyen işler için geçici dosyaların bulunduğu dizin. /tmp : Geçici dosyaları içerir. Yalnız geçici olduğu için bu dosyaları silmek tehlikeli olabilir. 4

Ana Dizin (Home Directory) Linux her kullanıcı için, o kullanıcıya ait olan bir ana dizin (home directory) sağlamaktadır. Bu ana dizin içinde, kullanıcıya ait çeşitli dosyalar bulunabilir ya da kullanıcı bu ana dizin içerisinde başka alt dizinler oluşturabilir. Bir kullanıcının home dizinin nerede açılacağı Linux tarafından belirlenir ve kullanıcı tarafından bu yer değiştirilemez. Bir kullanıcının ana dizini içine normal olarak diğer kullanıcılarda girebilir; kullanıcıya ait dosyaları okuyabilir ve kopyalayabilir. Sadece dosyalar üzerinde değişiklikler ve dosyaları silme işlemini gerçekleştiremezler. Bir kullanıcı, kendi home dizini içerisinde diğer kullanıcıların girmesini istemiyorsa bu durumda kendi dizin ve dosyaları üzerine erişim kısıtlaması ya da kilit getirmelidir. Burada bir noktayı belirtmede yarar vardır; sisteme root olarak giren (login olan) kullanıcı sistem yöneticisidir (system administrator) ve sistemdeki bütün dosya ve dizinlerin üzerinde bu dosyalar ve dizinler kilitli bile olsa her türlü işlem yapabilir. O nedenle sistem yöneticisi güvenli bir kişi olmalıdır. 5

Linux Sisteme Giriş Sistem açıldığında aşağıdaki görüntü gelir. Login : _ Linux sistem, kullanıcıdan bir bağlantı ismi (login) beklemektedir. Bu işlem ile kullanıcının sistemde bir oturum açması söz konusu olacaktır. Bağlantı isminin, sistem yöneticisi tarafından sisteme daha önce tanıtılmış bir kullanıcı ismi olması gerekiyor. Aksi takdirde giriş işlemi gerçekleştirilemez. Bağlantı ismi doğruysa kullanıcıdan bağlantı ismine ait parolayı girmesi istenir. Password : Bağlantı ismi ve parolası doğru bir şekilde girildiğinde ekranda $ işareti görüntülenir. $ işareti, Linux kabuğuna ulaşıldığını ve sistemin Linux komutlarını kabul etmeye hazır olduğunu göstermektedir. Komutları bu işaretin sağında bulunan imlecin bulunduğu yere yazarız. Eğer kullanıcı sistem yöneticisi ise, # işareti görüntülenir. 6

Linux Sisteminden Çıkış Kullanıcının komut yorumlayıcısında çalışması bittiğinde sistemi terk etmesi gerekiyor. Bu amaçla aşağıdaki yöntemlerden birisi tercih edilir. Ctrl+d (ctrl ve d tuşlarına birlikte basılır) exit veya logout komutu yazılarak enter tuşuna basılır. Böylece Linux sisteminden çıkılarak login ekranına dönülür. Bu işlemin Linux sistemini kapatmaz, sadece kullanıcı Linux sistemi terk etmiştir. passwd (Kullanıcı Parolasının Değiştirilmesi) Kullanıcı parolasını değiştirmek istediğinde passwd komutunu kullanacaktır. Komut enter landıktan sonra önce mevcut parolanın girilmesi ardından ise iki defa yeni parolanın girilmesi gerekiyor. Normal kullanıcılar sadece kendi parolalarını değiştirebilirler. Sistem yöneticisi (root) ise kendi parolasını değiştirebildiği gibi istediği kullanıcıların parolasını da değiştirebilir. Bunun için kullanıcının eski parolasını bilmesine gerek yoktur. Örneğin sistem yöneticisi burak bağlantı ismine sahip kullanıcının parolasını değiştirmek için passwd komutu aşağıdaki şekilde kullanılır. # passwd burak New password : _ Yeni parola kaydedildikten sonra kullanıcının parolası değişmiş olur. 7

Hangi kabuğu kullanıyorsunuz? echo $SHELL komutuyla hangi kabuğu kullandığınızı kontrol edebilirsiniz: $ echo $SHELL /bin/bash Sistemi tamamen kapatmak shutdown komutu sistemi kapatmak, yeniden başlatmak ya da tek-kullanıcı moduna geçmek için kullanılabilir. Sistemi kapatmak için sistem yöneticisi olmalısınız. Örneğin 5 dakika içinde tek kullanıcı moduna geçmek için; # shutdown 5 Broadcast message from root (pts/2) (Wed Jan 15 19:40:02 2014): The system is going DOWN to maintenance mode in 5 minutes! Eğer Control+c tuşuna basarsanız tek-kullanıcı moduna geçmeyi sağlayan bu komutu kaldırabilirsiniz. Bu gördüğünüz mesaj sistemde o anda çalışan tüm kullanıcıların terminallerinde belirecektir. Böylece bu kullanıcılar yaptıkları işi kaydedecek ve düzgün bir şekilde sistemden çıkabilecek zamanı bulabileceklerdir. Burada belirttiğimiz rakam kaç dakika içinde sistemin kapatılacağını belirtmektedir. Eğer sistemde çalışan tek kullanıcı siz iseniz belli bir süre belirtmek yerine now parametresini kullanabilirsiniz. Örneğin sistemi hemen o anda yeniden başlatmak için: # shutdown -r now Bu örnekte -r reboot after shutdown (yeniden başlat) bir sonraki örnekte göreceğimiz -h halt after shutdown (tamamen kapat) anlamına gelir. Bu durumda artık control+c tuşuna basma şansınız olmayacaktır çünkü artık kapatma işlemine başlanmıştır. Son olarak bahsedeceğimiz -h parametresi ise şöyle kullanılır; # shutdown -h 1 Broadcast message from root (pts/2) (Wed Jan 15 19:50:58 2014): The system is going DOWN for system halt in 1 minute! 8

Temel Linux Komutları Linux sistemlerinde içsel komut kavramı yoktur, bütün komutlar aslında birer programdır ve temel komutların POSIX standartlarında belirlenmiştir. Bu sistemlerde bir komutun genel yapısı şöyledir: <komut ismi> [seçenekler] [parametreler] Seçenekler genellikle -x formatındadır. x burada bir ya da birden fazla karakteri temsil eder. Bir komut birden fazla seçenek alabilir. Örneğin: -x -y -z Bu tür seçenekler tek bir - içerisinde de yazılabilirler. Örneğin: -xyz pwd (print working diroctory) Sisteme genelde size ayrılmış bir dizin içinde girersiniz. Size verilen izinler çerçevesinde diğer dizin ve dosyalara erişmeniz mümkündür. Linux dizinleri arasında dolaşırken, nerede olduğunuzu anlamak için pwd (print working directory) komutu kullanılır. Bu komut yerinizi kaybettiğiniz durumlarda oldukça kullanışlıdır!.. $ pwd /home/erkut cd (change directory) komutu cd komutu o anda çalışmakta olduğunuz dizini belirler. cd komutunun bir adı da hâlihazırda çalışılan dizin (current working directory) dir. $ cd / Bu komut ile bash kabuğuna / içinde çalışmak istediğimizi söylemiş olduk. cd komutuna cevap olarak gelen / elemanına yol (path) denir ve cd komutuna gitmek istediğimiz yeri söyler. Burada, / elemanı mutlak yol (absolute path) olarak kullanılmış. Gidilecek olan dizinin, dosya sistemi ağacında, kökten itibaren ifade edilişine mutlak yol denir. 9

Birkaç mutlak yol örneği: /dev /usr /usr/bin /usr/local/bin Gördüğünüz gibi bütün mutlak yol ifadelerinin ortak noktası / ile başlamalarıdır. Örneğin /usr/local/bin yolunu yazarak, cd komutuna önce / dizinine gitmesini, oradan usr dizinine, daha sonra da usr dizininin altında local ve onunda altında bin dizinine gitmesi söyleniyor. Mutlak yol ifadeleri, her zaman / den başlayarak kullanılır. Diğer bir yol türü göreli yoldur. Linux, cd ve diğer komutlar bu tür yolları daima içinde bulunduğunuz dizine göre yorumlar. Göreli yollar kesinlikle / ile başlamaz. Yani eğer /usr dizini içinde isek: $ cd /usr /usr/local/bin dizinine gitmek için: $ cd local/bin $ pwd /usr/local/bin yazabiliriz... dizini özel bir dizindir ve bulunduğunuz dizinin üstündeki dizini gösterir. Yukarıdaki örnekten devam edecek olursak: $ pwd /usr/local/bin $ cd.. $ pwd /usr/local Gördüğünüz gibi şimdi içinde bulunduğumuz dizin /usr/local dizinidir. Bu şekilde içinde bulunduğumuz dizine göre geriye doğru gidebiliriz. 10

Ek olarak,.. dizinini yol tanımlarken de kullanabiliriz. Örneğin: $ pwd /usr/local $ cd../share $ pwd /usr/share Aşağıdaki komutlar yazıldıktan sonra hangi dizin içerisine gidileceğini tahmin etmeye çalışınız: $ cd /bin $ cd../usr/share/zoneinfo $ cd /usr/x11r6/bin $ cd../lib/x11 $ cd /usr/bin $ cd../bin/ Şimdi bunları bir de yazarak nereye gittiğine bakınız ve doğru tahmin edip etmediğinizi gözlemleyiniz. cd konusunu bitirmeden önce birkaç küçük şeyden daha bahsetmek gerekmektedir. İlk olarak. ile temsil edilen ve hâlihazırda bulunduğunuz dizin anlamına gelen özel bir sembol daha vardır. Bu dizin cd komutuyla birlikte kullanılmaz, genellikle bulunduğunuz dizindeki bazı programları çalıştırmak için kullanılır: $./program Yukarıdaki örnekte halihazırda çalışılan dizin (ardından) program isimli dosya çalıştırılacaktır. Eğer ana dizinimize gitmek isteseydik şöyle yazabilirdik: $ cd 11

Parametresiz kullanımda cd, kullanıcıyı home dizinine götürecektir. root kullanıcılar için home dizini /root ve diğer kullanıcılar için ise /home/kullanıcı adı şeklindedir. Peki ya acaba kendi home dizinimiz içerisinde bir dosya belirlemek istersek ne yapmak gerekir? Mesela bir dosya argümanını program komutuna parametre olarak göndermek isteyelim. Eğer dosya kendi home dizinimiz içerisinde yer alıyorsa, yazılabilecek komut aşağıdaki şekilde düşünülebilir: $./program /home/erkut/dosyam.txt Fakat yukarıdaki örnekte olduğu gibi her zaman tam yolu yazmak çok verimli olmayabilir. Neyse ki (tilda) karakteri yardımıyla aynı işi daha kolay bir şekilde halletmek mümkündür. Şöyle ki: $./program /~/dosyam.txt Kabuk için komutunun, kullanıcının home dizini anlamına geldiğini söylemiştik. Bunun yanında, yine kullanılarak başka kullanıcıların da home dizinlerine erişmek mümkündür. Örneğin, hasan isimli kullanıcının home dizininde yer alan ogrencidosyasi.txt isimli dosyaya erişmek istiyorsak aşağıdaki komut yazılabilir: $./program ~hasan/ogrencidosyasi.txt Dosyaların Listelenmesi Dosya ve dizinleri görebilmek için, Linux işletim sisteminde ls komutu kullanılır: $ cd /usr $ ls bin doc etc games include info lib local man sbin share src X11R6 -a seçeneğini belirterek gizli dosyalar (. ile başlayanlar) da dahil olmak üzere bir dizindeki dosyaların tümünü görebilirsiniz. Aşağıdaki örnekte de görebileceğiniz gibi, ls -a. ve.. özel dizin linklerini de gösterir: 12

$ ls -a... bin doc etc games include info lib local man sbin share src X11R6 ls komut satırında bir ya da birden fazla dosya ya da dizin belirtebilirsiniz. Eğer bir dosya belirtirseniz, ls sadece o dosyayı gösterecektir. Eğer bir dizin belirtirseniz, ls bu dizinin içeriğini gösterecektir. -l seçeneği, dosya haklarını, sahibi olan kişi ve grupları, değişikliğe uğradığı zamanı ve boyut bilgilerini görmek istediğinizde işinize yarayacaktır. Aşağıdaki örnekte -l seçeneğini /usr dizininin tam bir listesini almak için kullanıyoruz. $ ls -l /usr toplam 706 drwxr-xr-x 2 root root 303104 2003-03-23 21:10 bin drwxr-xr-x 4 root root 73728 2003-03-23 19:50 doc drwxr-xr-x 3 root root 2048 2002-07-04 18:54 etc drwxr-xr-x 2 root root 8192 2003-03-23 16:36 games drwxr-xr-x 63 root root 32768 2003-03-22 19:14 include lrwxrwxrwx 1 root root 10 2002-08-08 15:02 info -> share/info drwxr-xr-x 124 root root 217088 2003-03-23 21:10 lib drwxrwsr-x 9 root staff 2048 2001-05-12 02:04 local drwxr-xr-x 6 root root 2048 2002-08-21 22:09 man drwxr-xr-x 2 root root 53248 2003-03-22 22:20 sbin drwxr-xr-x 194 root root 24576 2003-03-23 20:30 share drwxrwsr-x 4 knoppix knoppix 2048 2003-03-23 18:47 src drwxr-xr-x 6 root root 2048 2003-02-13 08:36 X11R6 Bazen bir dizinin içine değil de kendisine bakmak istersiniz. Bu gibi durumlar için -d seçeneğini kullanabilirsiniz, bu sayede ls dizinlerin içine değil kendilerine bakar. $ ls -dl /usr /usr/bin /usr/x11r6/bin../share drwxr-xr-x 194 root root 24576 2003-03-23 20:30../share lrwxrwxrwx 1 root root 12 2003-03-23 21:05 /usr -> /KNOPPIX/usr drwxr-xr-x 2 root root 303104 2003-03-23 21:10 /usr/bin drwxr-xr-x 2 root root 20480 2003-03-22 18:36 /usr/x11r6/bin Bir dizinin kendisine bakmak için -d kullanabileceğinizi gördük ancak -R ile tam tersini de yapabilirsiniz yani sadece bir dizinin içinde değil zincirleme olarak o dizinin içinde bulunan tüm dizinlerin ve onların da içinde bulunan ve... Bu şekilde mevcut tüm dizinlerin içine bakabilirsiniz! Bunun çıktısını burada göstermiyoruz çünkü böyle bir komutun çıktısı 13

epey uzun olur ancak siz kendi sisteminizde hemen ls R ve ls -Rl komutlarının deneyip sonucu görebilirsiniz. Son olarak, -i seçeneği dosya sistemindeki nesnelerin inode numaralarını göstermek için kullanılabilir: $ ls -i /usr 6603072 bin 6603408 games 6603776 lib 6604116 sbin 6602956 X11R6 6603184 doc 6603524 include 6603888 local 6604230 share 6603296 etc 6603644 info 6604004 man 6604346 src Bir dosya sistemindeki her nesneye özgü bir indeks numarası verilir, bu indeks e de inode denir. Bu biraz önemsiz, ya da gereksiz detay gibi görünebilir ama birçok dosya sistemi işlemini anlamanın temeli inode mantığını anlamayı gerektirir. Örnek olarak, her dizinde gördüğünüz... bağlantılarını düşünelim. Gerçekte.. dizininin ne olduğunu tam olarak anlayabilmek için /usr/local ın inode numarasına bir bakalım: $ ls -id /usr/local 6603888 /usr/local /usr/local dizininin inode numarası 6603888 imiş, şimdi de, /usr/local/bin/.. in inode numarasına bakalım: $ ls -id /usr/local/bin/.. 6603888 /usr/local/bin/.. Gördüğünüz gibi, /usr/local/bin/.. ile /usr/local ın inode numaraları aynı! Açığa çıkan bu bilgiden varabileceğimiz nokta şu: 6603888 inode u dizinin kendisi, ayrıca da bu inode a işaret eden iki tane de dizin tanımı (link i) var. Hem /usr/local, hem /usr/local/bin/.. de 6603888 inode una işaret ediyor. 14

Aslında ls -dl komutu ile 6603888 numaralı inode a kaç kere bağlantı yapıldığını, başka bir deyişle aynı yeri gösteren kaç farklı ismin dosya sisteminde mevcut olduğunu görebiliriz: $ ls -dl /usr/local drwxrwsr-x 9 root staff 2048 2001-05-12 02:04 /usr/local Soldan ikinci sütuna bakacak olursak görürüz ki /usr/local (inode 6603888) dizinine 9 bağlantı (link) vardır. Benim dizinimde bu inode a bağlı olan birkaç yolu göstermem gerekirse: /usr/local /usr/local/. /usr/local/bin/.. /usr/local/games/.. /usr/local/lib/.. /usr/local/sbin/.. /usr/local/share/.. /usr/local/src/.. mkdir (yeni dizin yaratmak) Yeni dizinler yaratmak için kullanılan mkdir komutuna hızlı bir göz atalım. Aşağıdaki örnek /tmp altında 3 yeni dizin yaratır, tik, tak ve tok. $ cd /tmp $ mkdir tik tak tok Varsayılan olarak, mkdir komutu üst dizinleri sizin için yaratmaz; yaratılması istenilen dizinin tüm yolunda sondan bir önceki dizin e kadar bütün dizinlerin var olması gereklidir. Bunun anlamı /de/ne/me dizinlerini yaratmak istiyorsanız, üç ayrı mkdir komutu çalıştırmalısınız: $ mkdir de/ne/me mkdir: de/ne/me dizini oluşturulamıyor: Böyle bir dosya ya da dizin yok $ mkdir de $ mkdir de/ne $ mkdir de/ne/me 15

Ancak, mkdir in faydalı opsiyonu -p ile mkdir i dizin yolunda var olmayan üst dizinleri yaratmasını sağlayabilirsiniz, aşağıda görüldüğü gibi: $ mkdir -p de/ne/me2 touch Şimdi kopyalama, yeniden adlandırma, dosya ve dizin taşımak için kullanılan cp ve mv komutlarına göz atacağız. Buna başlamadan önce /tmp de bir dosya oluşturmak için touch komutunu kullanacağız: $ cd /tmp $ touch benikopyala touch komutu var olan bir dosyanın mtime değerini günceller (ls -l çıktısındaki 6. sütunu hatırlayın). touch komutuna parametre olarak verilen dosya mevcut değilse boş bir yeni dosya yaratılacaktır. Yukarıdaki komutun sonucunda sıfır boyutlu bir /tmp/benikopyala oluşturmuş oluyorsunuz. echo ve yönlendirme Şimdi artık dosya var olduğuna göre bu dosyaya biraz veri ekleyelim. Bunu echo komutu ile yapabiliriz, bu komut kendisine geçilen argümanları alıp bunu standart çıktıya basar. Önce echo komutunun kendisine bir göz atalım: $ echo "ilk dosya" ilk dosya Ve şimdi aynı echo komutunu bu sefer çıktı yönlendirme tekniği ile kullanalım: $ echo "ilkdosya" > benikopyala 16

Yukarıda gördüğünüz büyüktür işareti kabuğa echo nun çıktısını benikopyala isimli bir dosyaya yönlendirmesini söyler. Bu dosya eğer mevcut değilse yaratılır, yok eğer mevcut ise üzerine yazılır. ls -l komut ile benikopyala dosyasının 9 byte büyüklüğünde olduğunu görebiliriz çünkü ilkdosya sözcüklerini, boşluk karakterini ve yenisatır karakterini barındırır: $ ls -l benikopyala -rw-r--r-- 1 knoppix knoppix 9 2003-03-25 16:33 benikopyala cat ve cp Terminalde dosyanın içeriğini görüntülemek için cat komutunu kullanın: $ cat benikopyala İlkdosya Şimdi cp komutunun en basit şeklini kullanarak benikopyala dosyasının benikopyaladi isimli bir kopyasını çıkarabiliriz: $ cp benikopyala benikopyaladi Detaylı olarak incelersek görürüz ki bu ikisi gerçekten de birbirinden ayrı dosyalardır, ama inode numaraları farklıdır: $ ls -i benikopyala benikopyaladi 8919 benikopyaladi 8901 benikopyala cp komutu aşağıdaki seçeneklerle birlikte kullanılabilir: -i işlemi onaylamanızı ister, hata olasılığını azaltmak için kullanılır. -r Bir dizin ve altındaki her şeyi hedef dizine kopyalamak için. -f Dosyaları onay almadan tek adımda koşulsuz olarak siler. $ cp -r /home/serdar/projeler /home/serdar/backup komutu, projeler isimli klasörün altında her ne varsa, backup isimli dizine kopyalar. 17

mv Şimdi benikopyaladi dosyasını benitasidi olarak isimlendirmek için mv komutunu kullanalım. Bu sefer inode numarası aynı kalmakla birlikte bu inode numarasına sahip olan dosya ismi değişmiş olacaktır. $ mv benikopyaladi benitasidi $ ls -i benitasidi 8919 benitasidi Taşınan (move) bir dosyanın inode numarası, söz konusu dosya kaynak dosya ile aynı dosya sisteminde bulunduğu sürece aynı kalır. mv komutu da cp komutu ile aynı seçenekleri kullanabilir. Linkler yaratmak ve dosyaları silmek Katı bağlantılar (hard links) Daha önce dizin girişleri ve inode lar arasındaki ilişkiden bahsederken bağlantı terimini kullanmıştık. Aslında Linux altında iki tip bağlantı çeşidi vardır. Daha önce tartıştığımız bağlantılar katı bağlantılardı. Sistem üzerindeki herhangi bir inode herhangi bir miktarda katı bağlantıya sahip olabilir ve tüm katı bağlantılar ortadan kalkana kadar da sistem üzerinde var olmaya devam edecektir. Yeni katı bağlantılar ln komutu kullanılarak yaratılabilir: $ cd /tmp $ touch ilklink $ ln ilklink ikincilink $ ls -i ilklink ikincilink 8940 ilklink 8940 ikincilink Görebildiğiniz gibi, katı bağlantılar bir dosyayı ilişkilendirmek için inode seviyesinde çalışmaktadır. Linux sistemlerde, katı bağlantıların bazı kısıtlamaları vardır. Bir kısıtlama, sadece dosyalara katı bağlantılar yapmaya izin verir, dizinlere vermez.. ve.. sistem tarafından yaratılmış dizinlere ilişkilenmiş katı bağlantılar olmasına rağmen bu doğrudur. root kullanıcısı bile olsanız, kendinize ait dizinlere ilişkilenmiş yeni katı bağlantılar 18

yaratamazsınız. Katı bağlantıların ikinci kısıtlaması da dosya sistemleri arasında geçiş yapılamamasıdır. Bunun anlamı / ve /usr dizinleri farklı dosya sistemlerinde bulunuyorsa /usr/bin/bash dizininin içinde /bin/bash dizininin içindeki bir dosyaya katı bağlantı yapamazsınız. Sembolik bağlantılar Pratikte, sembolik bağlantılar katı bağlantılardan çok daha sık kullanılırlar. Sembolik bağlantılar özel bir tip dosya olup başka bir dosyaya doğrudan inode üzerinden değil de ismi ile ilişkilenirler. Sembolik bağlantılar bir dosyanın silinmesine engel olmazlar, hedef dosya ortadan kaybolursa, sembolik bağlantı kullanılamaz hale gelir ya da kırılır. Bir sembolik bağlantı ln komutuna -s parametresi verilerek yaratılabilir. $ ln -s ikincilink ucunculink $ ls -l ilklink ikincilink ucunculink -rw-r--r-- 2 erkut erkut 0 2003-03-25 16:39 ilklink -rw-r--r-- 2 erkut erkut 0 2003-03-25 16:39 ikincilink lrwxrwxrwx 1 erkut erkut 10 2003-03-25 16:40 ucunculink -> ikincilink ls -l çıktısında sembolik bağlantılar normal dosyalardan üç şekilde ayırt edilebilir. Birincisi, bu çıktıdaki ilk sütun dosyanın bir sembolik bağlantı olduğunu belirtmek için l karakterini fark edebilirsiniz. İkincisi, sembolik bağlantının boyutu ilişkilendiği hedef dosyasının karakter sayısını verir. Üçüncüsü, son kolon hedef dosyanın ismini görüntüler. Sembolik bağlantılar genelde katı bağlantılardan daha esnektir. Dizinler de dâhil olmak üzere herhangi bir çeşit dosya sistemi nesnesi için sembolik bağlantı yaratmanız mümkündür. Ayrıca, sembolik bağlantıların yürütülmesi yollara bağlı olduğu için, mükemmel bir şekilde başka bir dosya sistemi üzerinde yer alan nesneye de sembolik bağlantı oluşturabilirsiniz. Fakat bu durum da sembolik bağlantının anlaşılmasını biraz zorlaştırabilir. /tmp isimli dizin altında, /usr/local/bin isimli dizine sembolik bağlantı yaratmak istediğimiz bir durum düşününüz. Bu durumda yazmamız gereken: $ ln -s /usr/local/bin bin1 $ ls -l bin1 lrwxrwxrwx 1 erkut erkut 14 2003-03-25 16:42 bin1 -> /usr/local/bin 19

Ya da alternatif olarak: $ ln -s../usr/local/bin bin2 $ ls -l bin2 lrwxrwxrwx 1 erkut erkut 16 2003-03-25 16:43 bin2 ->../usr/local/bin Gördüğünüz gibi, her iki sembolik bağlantı da aynı dizini göstermektedir. Eğer ikinci sembolik bağlantı başka bir dizin içerisine taşınırsa, bu bağlantı bağıl yol yüzünden kırılmış (broken) olacaktır. $ ls -l bin2 lrwxrwxrwx 1 erkut erkut 16 2003-03-25 16:43 bin2 ->../usr/local/bin $ mkdir yenidir $ mv bin2 yenidir $ cd yenidir $ cd bin2 bash: cd: bin2: Böyle bir dosya ya da dizin yok /tmp/usr/local/bin dizini mevcut olmadığı için, artık bin2 bağlantısı ile dizin değiştiremeyiz. Bir başka deyişle bin2 bağlantısı artık kırılmıştır. Bu yüzden bazen bağıl yol bilgisi ile sembolik link yaratmaktan kaçınmak iyi bir fikir olabilir. Fakat sembolik linklerin kullanışlı olduğu birçok durum da vardır. /usr/bin altında yer alan bir program için başka bir isim yaratmak istediğiniz bir örneği ele alalım: $ ls -l /home/erkut/.xdefaults -rw-r--r-- 1 erkut erkut 893 2000-02-28 03:26 /home/erkut/.xdefaults root kullanıcısı olarak,.xdefaults için xd adında başka bir isim yaratmak istiyor olabilirsiniz. Bu örnekte, komut satırlarında yer alan # işaretinden de açıkça anlaşıldığı gibi root haklarına sahibiz. # cd /home/erkut # ln -s /home/erkut/.xdefaults xd 20

Bu çözüm çalışacak olsa da, her iki dosyayı da /usr/local/bin altına taşımaya karar verdiğimiz anda bu durum problem yaratacaktır: $ mv /home/erkut/.xdefaults /home/erkut/xd /usr/local/bin Çünkü sembolik bağlantımız için tam yol kullanmış durumdayız, xd halen /home/erkut/.xdefaults dosyasını göstermektedir ki bu bağlantı artık mevcut değildir, yani kırılmıştır. Bağıl yol ve tam yolların her ikisinin de çok faydalı olduğu durumlar vardır. Sonuçta kendi uygulamanıza en uygun olan tipi seçmeniz gerekmektedir. Genellikle bağıl yol ya da tam yol düzgün bir şekilde çalışır. Bu durumda aşağıdaki örnek çalışacaktır: $ cd /home/knoppix $ ln -s.xdefaults xd $ ls -l xd lrwxrwxrwx 1 erkut erkut 10 2003-04-11 14:54 xd ->.Xdefaults rmdir Dizinleri kaldırmak için iki seçeneğiniz var. Dizinin altındaki bütün nesneleri yok edebilir ve sonra rmdir kullanarak dizinin kendisini kaldırabilirsiniz: $ mkdir benimdir $ touch benimdir/dosya1 $ rm benimdir/dosya1 $ rmdir benimdir Eğer silinecek dizin boş değil ise rmdir komutu ile bu dizini silmemize izin verilmez. rm Artık cp, mv ve ln komutlarının nasıl kullanıldığını biliyoruz, şimdi nesneleri dosya sistemi üzerinde kaldırmayı öğrenmenin zamanı gelmiştir. Normalde bu işlem rm komutuyla yapılmaktadır. Dosyayı kaldırmak için basitçe bunları komut satırında belirlemek gerekmektedir. 21

$ cd /tmp $ touch dosya1 dosya2 $ ls -l dosya $ ls -l dosya1 dosya2 -rw-r--r-- 1 knoppix knoppix 0 2003-03-25 16:53 dosya1 -rw-r--r-- 1 knoppix knoppix 0 2003-03-25 16:53 dosya2 $ rm dosya2 $ ls -l dosya1dosya2 ls: dosya2: B oyle bir dosya ya da dizin yok -rw-r--r-- 1 knoppix knoppix 0 2003-03-25 16:53 dosya1 Seçenekleri şu şekildedir: -i işlemi onaylamanızı ister, hata olasılığını azaltmak için kullanılır. -r Hedef bir dizin ise, o dizin altındaki tüm dizin ve dosyaları siler. -f Dosyaları onay almadan tek adımda koşulsuz olarak siler. rm komutunun özyinelemeli seçeneklerini kullanıp rm e belirttiğiniz dizini içerdiği nesnelerle birlikte kaldırmasını söyleyebilirsiniz: $ rm -rf benimdir Genel olarak bir dizin ağacını kaldırmak için tercih edilen rm -rf dir. rm -f kullanırken dikkatli olun, çünkü bunun gücü iyi veya kötü niyetli olarak kullanılabilir. Kaynaklar C ve Sistem Programcılar Derneği, 2002, Unix/Linux Sistem Programlama Ders Notları Çetin G., 1999, Linux İşletim sistemi, Seçkin Yayınevi İstanbul Bilgi Üniversitesi Bilgisayar Bilimleri Bölümü, 2007, Open Source Enterprise Centre GNU/Linux Sertifikasyon Programı Linux 101 Ders Notları Özbilen A., 2013, Linux Sistem ve Ağ Yönetimi, Pusula Yayınları Özkan Y., 2004, Linux İşletim Sistemi, Alfa Yayınları UYBHM, Temel Linux işlemleri, İTÜ Yazıcı M., 2014, Açık Kaynak İşletim Sistemleri Ders Notu, www.muratyazıcı.com 22