Dosya İşlemleri BİLGİSAYAR PROGRAMCILIĞI BÖLÜMÜ AÇIK KAYNAK İŞLETİM SİSTEMİ DERSİ Dosya İşlemleri
Çalışılan Dizin ve Dizin Degiştirme Linuxta bulunulan dizini öğrenmek için pwd komutu kullanılabilir root@srv# pwd Bulunulan dizini değiştirmek için cd komutu kullanılabilir. Bulunulan dizin değiştirilirken cd komutuna iki farklı şekilde parametre verilebilir. - Geçilmek istenen dizinin tam yolu verilebilir - Geçilmek istenen dizinin göreli yolu verilebilir. root@srv# cd <gecilecek_dizin>
Dosya ve Dizin Listelemek ls komutu kullanılarak dosya veya dizinler listelenebilir. ls komutu parametre aldığı dizinin içeriğini listeler, eğer parametre olarak bir dizin ismi verilmediyse bulunulan dizinin içeriği listelenir. root@srv# ls
Dosya ve Dizin Listelemek ls komutunun aldığı bazı parametreler aşağıdaki gibidir: -a : Tüm dosyaları göstermek için gereklidir. Gizli dosyaları görmek için kullanılır. -d : sadece klasörlerin listelenmesi -l : Liste şeklinde çıktı üretir. Dosyaların izinleri, sahibi boyutu, son güncellenme tarihi ve adını ekrana yazdırır. -h : Dosya boyutunun okunması kolay formatta yazdırır. -R : rikörsif olarak çalışıp listelenen dizinlerin alt dizinlerinin de listelenmesini sağlar -S : Dosyaların boyutlarına göre listelenmesini sağlar -t : Son değişiklik tarihine göre sıralama -X : Uzantıya göre sıralama -r :sıralamayı tersine çevirir
Çalışılan Dizin ve Dizin Değiştirme Bunların dışında özel klasör isimleri verilerek bulunulan dizin değiştirilebilir. . bulunulan dizin .. bir üst dizin - bir önceki klasör ~ kullanıcının ev dizini ~kullanıcı_adı belirtilen kullanıcının ev dizini Eğer parametre olarak bir yol verilmezse kullanıcının ev dizinine geçer
Dosya Tipleri Dosyaların tipini öğrenmek için file komutu kullanılabilir. root@srv# file <dosya_ismi>
Dosyaların İsimlendirilmesi Linux’ta dosya isimlerinin uzunluğu 256 karaktere kadar uzayabilir. Dosya isimleri büyük küçük harfe duyarlıdır (case_sensitive). “/” karakteri dosya yolunda kullanıldığı için dosya isimlerinde kullanılmaz “.” İşareti ile başlayan dosyalar gizli dosyalardır ve ls komutu –a parametresi ile çalıştırılmazsa görülmezler.
Dosya Oluşturmak (touch) Dosya oluşturmak için touch komutu kullanılabilir. Parametre olarak verilen dosya eğer yoksa boş bir dosya oluşturur. Ayrıca var olan dosyanın son erişim ve son değişme zamanını değiştirilebilir Dosyaların erişim ve oluşturma tarihlerine stat komutu ile ulaşılabilir. root@srv# touch <olusturulacak_dosya_ismi>
Dosya Oluşturmak touch komutuna –a parametresi verilerek son erişim tarihi, -m parametresi ile değişiklik tarihi komutun çalıştırıldığı zaman olarak değiştirilebilir. Ayrıca –t parametresi de verilerek bu tarih istenilen bir tarih olarak da değiştirilebilir. –t parametresinin kullanım formatı [[00]YY]MMDDhhmm[.ss] şeklindedir.
Dizin Oluşturmak Dizin Oluşturmak için mkdir komutu kullanılabilir mkdir ile kullanılabilecek bazı parametreler şunlardır: -m izinler Oluşturulacak dizin için geçerli olacak izinleri belirler -p Açılacak dizinin üstü dizinleri yoksa bu dizinlerin de oluşturulmasını sağlar -v Açtığı dizinleri kullanıcıya bildirilir. root@srv#mkdir <olusturulacak_dizin_adı>
Dosya ve Dizin Silmek Dosya silmek için rm dizin silmek için rmdir komutu kullanılır. Eğer silinmek istenen dizinin içi boş değilse rmdir komutu dizini silemeyecektir. Bu durumda alt dizinlerle birlikte bir dizini kaldırmak için rm komutunu –r parametresi ile çağırmak gerekir. root@srv# rm <dosya/dizin_adı> root@srv# rmdir <dizin adı>
Dosya ve Dizin Silmek (rm, rmdir) rm komutunun aldığı bazı parametreler şunlardır: -i : komutun interaktif modda çalışmasını sağlar ve her dosya için silmenin onaylanamsı gerekir. root kullanıcısı için tanımlanan aliaslarda bu parametre eklidir ancak normal kullanıcılar için bu alias yoktur -f : kullanıcıdan hiçbir zaman onay istemez. -r : komutun rekürsif çalışp alt dizin ve dosyaların da silinmesi sağlanır -v : yapılan silme işlemi ile ilgili bilgi kullanıcıya bildirilir
Bağlantılar İki tip bağlantı çeşidi vardır. Sembolik ve sert bağlantı. Sembolik bağlantıda dosyaya kısayol oluşturulur ve dosyaya ulaşılmak istendiğinde bu bağlantıdan erişilebilir. Hedef dosya silinirse bağlantı boşa çıkar. Sert bağlantıda dosya da değişik olduğunda bu değişiklikler bağlantıda da gerçekleşir. Hedef dosya silinse bile bağlantıdan dosyaya ulaşılabilir.
Bağlantı oluşturma (ln) ln komutu link olusturma islemi icin kullanılır. Hicbir parametre verilmez ise hard link olusturulur. Hard link ile ilgili dosyanın birebir kopyası cıkarılır. Ana dosya silinse bile olusturulan dosya kalır. -s parametresi sembolik(soft) link olusturur. Birebir dosya kopyalanmaz bir nevi kısa yolu olusturulur. root@srv# ln <kaynak_dizin/dosya_ismi> <hedef>
Dosya ve Dizin Kopyalama (cp) Dosya kopyalamak için cp komutu kullanılabilir root@srv# cp <kaynak_dosya/dizin> <hedef>
Dosya ve Dizin Kopyalama (cp) cp komutunun alabileceği temel parametreler aşağıdaki gibidir. -a : dpR parametrelerinin -d : bağlantıların korunmasını sağlar -p : sahip ve tarih bilgilerini saklar -R : rekürsif olarak işlem yapar -l : kopyalama yerine hard link oluşturur -s : kopyalama işlemi yapmayıp sadece sembolik bağlantı oluşturur -u : değişmiş olan dosyaları kopyalar -v : ekrana işlem ile ilgili bilgi bastırır
Dosya ve Dizin Taşıma (mv) Dosya ve Dizinleri taşımak için mv komutu kullanılabilir. Dosyalar taşınırken eğer kaynak hedef olarak gosterilen isimde bir dosya var ise bu dosyanın yazma işlemi yapılır, dizinler taşınırken bu isimde hedef olarak gösterilen dizin varsa bu dizinin içine kopyalama işlemi yapılır. root@srv# mv <kaynak_dosya/dizin> <hedef>
Dosya ve Dizin Taşıma mv komutunun alabileceği bazı parametreler -i hedef dosya veya dizin varsa üstüne yazma için onay alır -f hedef dosya veya dizin varsa üstüne yazma işlemini onay almadan yapar -v ekrana işlem ile ilgili bilgi bastırır
Dosya Okuma Dosya okuma için temel olarak kullanılabilecek komutlar şunlardır: - cat - more - less - tac - rev - head - tail
cat Dosyanın içeriğini ekrana yazdırılmasını sağlar -i Metin içerisinde geçen tab karakterlerini ^I olarak gösterir. -e Satır sonlarının $ olarak görüntülenmesini sağlar., -A et -n satırları nuumaralandırır. root@srv# cat <dosya_ismi>
more Dosyaların içeriğini sayfa sayfa gösterir. boşluk veya f bir sayfa sonraya gider / ile arama yapılabilir, n bir sonraki arama sonucuna gider. b bir sayfa geriye gider Çıkış için q
less Aşağı ve yukarı ok tuşlarıyla sayfada ilerlenebilir boşluk veya f bir sayfa sonraya gider b bir sayfa geriye gider / ile arama yapılabilir, n bir sonraki arama sonucuna gider Çıkış için q
tac dosyanın içeriğini sondan başa doğru gösterir
rev dosyanın içeriğini her satırı ters çevirerek gösterir
head Bir dosyanın içeriğinin baştan belirtilen satır kadar gösterilmesini sağlar. Öntanımlı değeri 10 dur root@srv# head <dosya_ismi> head -15 <dosya_ismi> komutu ile baştan 15 satır görüntülenebilir.
tail Bir dosyanın içeriğinin sondan belirtilen satır kadar gösterilmesini sağlar. Öntanımlı değeri 10 dur –f parametresi ile değişen bir dosyanın sonuna gelen satırlar dinamik olarak görülebilir, log dosyaları incelenirken sıklıkla kullanılır. root@srv# tail <dosya_ismi> tail -15 <dosya_ismi> komutu ile sondan 15 satır görüntülenebilir
Kaynaklar Ders Notları: Mustafa Sarıöz Ders Notları: Gulshat Kulzhabayeva