IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

Etiketlenen Kullanıcılar

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 24 Nisan 2007, 20:14   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Linux Dosya İşlemleri




Yazar: Joe Jampell
Uyarlama: Selahattin ERDEM
Ders Konusu: Linux Dosya İşlemleri
Yayın Tarihi: 29/03/2007

Linux Dosya ve Dizin işlemleri


Tipki MS-DOS’ta oldugu gibi Linux dosya yapisinin da hiyerarsik bir yapiya sahip oldugu daha önce belirtilmisti. Temel dosya bilgisi önceki konularda anlatildiginda burada sadece dosya ve dizinlerle ilgili özelliklere deginilecektir.

Erisim Haklari

Erisim haklari, Linux dosya sistemi güvenliginin belkemigini olusturur. Her dosyaya ayri verilebilen erisim izinleri sayesinde çok daha rahat bir sistem gerçeklestirilebilir. Bu konuya sadece sistem görevlisi tarafindan yaklasildigi zaman çikartilabilecek bir sonuçtur. Kullanici bazinda erisim haklari bazen daha da anlamli olabilir. Yanlis kullanildiginda hos olmayan sürprizlere yol açabilir. Linux altinda üç çesit erisim hakki vardir:

• Okuma Izni : Dosyanin okuma izni varsa içerigi görülebilir, dizinin okuma izni varsa içerdigi dosyalarin listesi alinabilir.

• Yazma Izni : Dosyanin yazma izni varsa dosyayi degistirebilir veya silebilirsiniz. Dizine yazma izni verildiginde dizin altindaki dosyalar yazilabilir veya silinebilir.

• Çalistirma Izni : Dosyayi çalistirma hakkini verir.

Bir dosya veya dizin ilk yaratildiginda Linux tarafindan ön tanimli bazi izinler verilir. Genellikle bu izin çalistirma ve okumadir. Dosyanin olusma aninda verilen izni degistirmek için erisim yetki kalibi olarak da bilinen umask komutu kullanilir.

Erisim haklarinin disinda bir dosyanin üç izin düzeyi daha vardir. Bunla dosyanin sahibi, dosyanin grubu ve diger kullanicilardir. Dosyanin sahibi, o dosyayi olusturan kisidir. Her kullanicinin bir grubu da oldugu için, dosya olustururken kullanici hangi grupta ise dosya da o gruba ait olacaktir. Dosyanin sahibi olmayan ve grubu da dosyanin grubuyla uyusmayan sistemdeki kullanicilar ‘diger’ sinifina girerler.

Dosya Izinlerinin Degistirilmesi: Dosya izin bilgilerini görebilmek için ls komutu, -l parametresiyle kullanilir. Asagidaki dosya üzerindeki erisim haklarina göz atalim:

-rwxr-xr-x 2 ERRE users 182 Feb 12 03:58 deneme

Dosya bilgisinin an sol kisminda izin haklari yer alir. En bastaki “-“ isreti bunun düz dosya oldugunu belirtir. “ERRE”, dosyasinin sahibi; “users” ise grubudur. Ardindan sirayla uzunluk, son degistirilme tarihi ve dosya ismi gibi bilgiler gelir. Son harf kümesine dosyanin modu da denir.

Solda yer alan r,w ve x karakterleri sirayla okuma, çalistirma ve yazma haklarini belirtir. En soldaki “-“ isaretini ayirdiginiz zaman geri kalan harfleri üçlü grup haline getirdigimizde;

rwx r-x r-x bu şekilde gelmekte.

Sirayla birinci harf kümesi dosya sahiplerinin izinlerini, ikinci harf kümesi grup izinleri ve son küme de diger kullanicilarin izinlerini belirtir. Buna göre yukaridaki dosyada

• rwx : Kullanici okuyabilir, yazabilir, çalistirabilir.

• r-x : Grup okuyabilir, çalistirabilir fakat yazamaz.

• r-x : Digerleri okuyabilir, çalistirabilir fakat yazamaz.

Sol bastaki karakter “d” olsaydi, bir dizini inceliyor olacaktik.

Dosyanin izinlerini degistirmek için chmod komutu kullanilir. Bu komutu kullanirken hangi izin düzeyine (kullanici, grup veya digerleri) hangi izinlerin verilecegi veya kaldirilacagi yazilir.

Örnek olarak yukaridaki dosyanin okuma iznini kaldirmak için;

$ chmod -r deneme
kullanilabilir.”-“ isareti, iznin kaldirilacagini belirtir. Izin vermek için ise “+” yazilir. Dosyanin yeni görüntüsü söyle olur:

--wx--x--x 2 ERRE users 182 Feb 12 03:58 deneme

Sadece grubun, sadece kullanicinin veya sadece digerlerinin erisim hakkini degistirebilmek için her izin düzeyi için bir harf tanimlanmistir. Kullanici adi için “u”, grup için “g” ve digerleri için “o” yazarak belirli bir izin düzeyi için erisim hakkini degistirmek mümkün olur. Bu üç harf, izinden hemen önce yazilir.

$ chmod u+x deneme (dosyanin sahibi çalistirabilir)
$ chmod o+r t2sac (digerleri okuyabilir)
$ chmod g-w deneme (dosyanin grubu yazamaz)

Her izin için ayni zamanda izinler tanimlanmistir. Dosyanin erisim izinlerini degistirmek için izne ait sayilari kullanabiliriz. Asagidaki tabloda, her izin düzeyi (dosyanin sahibi, grubu ve digerleri) için üçer tane olmak üzere toplam 9 sayidan olusan izin numaralarini görebilirsiniz. Bir izni vermek için sirayla numaralari toplayin. örnegim sahibin okumasi (400), yazmasi (200), çalistirmasi (100), grubun okumasi (40), çalistirmasi (10) ve digerlerinin okumasi (4) ve çalistirmasi (1) için kullanilan rakamlarin toplami 755’tir.

$ chmod 755 deneme

400 sahibi okur
200 sahibi yazar
100 sahibi çalistirir

040 grubu okur
020 grubu yazar
010 grubu çalistirir

004 digerleri okur
002 digerleri yazar
001 digerleri çalistirir

Baska bir örnekte; sahibinin okumasi (400), yazmasi (100), grubun okumasi (40), digerlerinin okumasi (4) için izin numarasini bulmak için bu cümlede parantez içinde yer alan sayilari toplarsak 644 yapacaktir.

$ chmod 644 deneme

Aynen dosyalarda oldugu gibi, bir dizinin de sahibi ve grubu vardir.

Dosyanin Sahibinin ve Grubunun Degistirilmesi: Bir dosyanin sahibini sadece sistemdeki root kullanici degistirebilme yetkisine sahiptir. Dosya sahibinin degistirilmesi için chown komutu kullanilabilir.

Yukaridaki dosyanin sahibi SAMET isimli kullanici ise;

# chown SAMET deneme

Dosyanin yeni hali söyle olur:

-rwxr-xr-x 2 SAMET users 182 Feb 12 03:58 deneme
chgrp komutu yardimiyla da dosyanin grubunu degistirilebilir. Yukaridaki dosyanin grubunu
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
yapmak için;

# chgrp
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
deneme


komutu kullanilabilir. Chown komutu, dosyanin hem kullanicisini, hem de grubunu degistirebilme özeligine sahiptir. Chown komutundan sonra kullanici ve grup isimleri aralarinda bir nokta kalacak sekilde yazilirsa;

$ chown SAMET.
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
denem

$ ls-l deneme
-rwxr-xr-x 2 SAMET
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
182 Feb 12 03:58 deneme


Diger Dosya Sistemlerinin Kullanilmasi: Bir Linux isletim sisteminde dosyalarin ve dizinlerin her birisi sabit disk, CDROM veya diger bilgi saklamaya yarayan cihazlarin birer parçasi olan “dosya sistemlerinde” tutulur. Linux’ un destekledigi pek çok dosya sistemi vardir ve bunlarin her birisinin veri depolarken kullandiklari yöntem birbirinden farklidir.

Linux’ ta her dosya sistemi farkli bir dizinde tutulur ve bu dizinlerin bilgisi /etc/fstab dosyasinda yer alir. Açilis aninda bu dosyada hangi dosya sistemlerinin hangi dizinler altina yerlestirilecegi okunur ve buna göre makine açilir. Linux kendisi için özel olarak gelistirilen ext2 dosya sistemini kullanir.

Bir sistem görevlisi olarak çesitli dosya sistemlerini tanimali, bu dosya sistemleri üzerinde hata olusmasi durumunda zarari en aza indirecek yolu bilmelisiniz. Bilgisayar basinda geçireceginiz zamaninizin büyük bir bölümünü dosya sistemleri üzerinde harcayacaksiniz.

Mount Islemi: Bir dosya sisteminin kullanilabilmesi için bos bir dizin altina yerlestirilmesi gerekir. Ancak bu gerçeklesirse söz konusu dosya sistemini olusturan dosyalar üzerinde islem yapilabilir. Bu islem mount komutu yardimiyla yapilir.

Mount komutu su sekilde kullanilir:

Mount -t<tip><nereye><aygit>

Tip: Dosya sitemi çesidi. örnek dosya sistem çesitleri arasinda ext2, minix, msdos sayilabilir. Genellikle mount programi ne tür bir diske eristigini otomatik olarak anlayacaktir.

Nereye: mount edilecek dosya sisteminin hangi dizinin altina yerlestirilecegini belirtir.

Aygit: üzerinde dosya sisteminin bulundugu sabit disk CD-ROM benzeri aygit.

Linux’a bagli tüm donanimlara ait bir giris,/dev dizinin altinda bulunur. Bu dizin altindaki dosyalar özel olarak tanimlanmistir ve bunlara kisaca “dügüm” adi verilir. örnegin /dev/hda2, birinci IDE sabit diskin ikinci bölümünü; /dev/tty 1 ise birinci sanal konsolu gösterir.

Bir dosya sistemini erisilebilir hale getirebilmek için hangi dügüm ismine sahip oldugunu bilmemiz gerekir. örnek olarak CD-ROM için /dev/cdrom, birinci disket sürücü için /dev/fd0 gibi.

[b]CD-Rom sürücüsünü [/B]/mnt altina mount etmek için

# mount -t iso9660 /dev/cdrom/mnt

Yazilir. Eger çekirdekte CD-ROM dosya sistemi destegi varsa ve sistem açilirken çekirdek CD-ROM’u tanimissa /mnt dizini altinda CD’deki dosya sistemi yerlestirilir. Buna benzer bir sekilde MS-DOS disket içeren dike sürücüyü ve üzerinde ext2 dosya sistemi bulunan ikinci IDE sabit diskin birinci bölümünü sirasiyla /-mnt/disk dizinlerine bindirmek için;

# mount -t msdos /dev/fd0/mnt/disket

# mount -t ext2 /dev/hdb1/mnt/disk

yazilabilir. Bir mount isleminin tersini yapmak ve dosya sistemini erisilmez kilmak için umount komutu kullanilir. /disk altindaki /dev/hdb1 sabit disk bölümünü umount etmek için

# umount /disk

veya

# umount /dev/hdb1

kullanilir. Her iki yazim sekli de kabul edilir. Son olarak o an sistemde bindirilmis halde bulunan tüm dosya sistemlerini görmek için mount komutunu parametresiz yazalim.

Mount ve umount komutlari ile bir dizin yapisini disk üzerinde konumlandirirken veya ayirirken üzerinde islem yapilan dizinde bulunmamali, ya da o dizinde baska bir süreç çalisiyor olmamalidir.

Aksi takdirde asagidaki hata mesaji alinir:

#pwd
/disk
#umount/disk
umount:/dev/hdb1: device is busy


Yapilmasi gereken, ayirilacak dizinden disari çikip tekrar denemek. Diger bir seçenek de fuser konutunu kullnamak. Bu komut, ayirmak istediginiz dizini kullanana tüm süreçleri ekranda gösterir.

Böylelikle rahatlikla yukaridaki örnekteki gibi umount islemi gerçeklestirebilir. fuser komutunun -km seçenegi ile o dizini kullanan süreçleri öldürelebilir.

#cd/

#fuser/disk
/disk: 78c
#fuser -km/disk
#umount/disk


fuser komutunu kullanirken dikkatli olama gerekir, zira sistemi kilitleme noktasina getirebilir.


Dosya Sistemi Bilgileri, Dosya Sistemi Desteginin Eklenmesi, Dosya Sistemi Yaratilmasi ve Kontrolü, Sembolik Baglantilar, Sabit Baglantilar, Dosya Arsivleme ve *****tirma, Dosya Arsivleme, Dosya *****tirma ve Açma, Dosya Türleri, Birlikte Kullanim, Dizin Tarama, mtools MSDOS Arabirimi, Hakkında detaylı anlatımlarım ileri günlerde olacaktır lütfen diğer ders konularını bekleyin, diğer ders konularımız ile birlikte yukarıda anlatılanların tamamını gerçekleştirmiş olacaksınız..


Konu Burce tarafından (11 Aralık 2015 Saat 14:04 ) değiştirilmiştir.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet
Cevapla

Etiketler
dosya, islemleri, linux, İşlemleri


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Dosya Giriş Çıkış İşlemleri MorfiN PHP 0 12 Mayıs 2012 09:33
Dosya İşlemleri YaRGuCi C# 0 09 Ocak 2012 22:36
PHP ile Dosya İşlemleri toXic PHP 0 12 Mart 2010 13:16
Dosya İşlemleri Hakkında Cappystarj0e GNU, Linux ve UNIX 3 22 Kasım 2007 07:26