Tekil Mesaj gösterimi
Alt 22/08/08, 04:10 AM   #3 (permalink)
ßeRDuSH
Super Moderator
Standart Cevap: Linux Hakkinda Hersey

Dosya ve Dizin İşlemleri

Tıpkı MS-DOS'ta olduğu gibi Linux dosya yapısının da hiyerarşik bir yapıya sahip olduğunu söylemiştik. Temel dosya bilgisi önceki konularda anlatıldığından burada sadece dosya ve dizinlerle ilgili özelliklere değinilecektir.

4.1 Erişim Hakları

Erişim hakları Linux dosya sistemi güvenliğinin belkemiğini oluşturur. Her dosyaya ayrı verilebilen erişim izinleri sayesinde çok daha rahat bir sistem yönetimi gerçekleştirilebilir. Bu konuya sadece sistem görevlisi tarafından yaklaşıldığı zaman çıkartılabilecek bir sonuçtur. Kullanıcı bazında erişim hakları bazen daha da anlamlı olabilir. Yanlış kullanıldığında hoş olmayan süprizlere yol açabilir. Linux altında üç çeşit erişim hakkı vardır :


* Okuma izni : Dosyanın okuma izni varsa içeriği görülebilir dizinin okuma izni varsa içerdiği dosyaların listesi alınabilir.
* Yazma izni : Dosyanın yazma izni varsa dosyayı değiştirebilir veya silebilirsiniz. Dizine yazma izni verildiğinde dizin altındaki dosyalar yazılabilir veya silinebilir.
* Çalıştırma izni : Dosyayı çalıştırma hakkını verir.


Bir dosya veya dizin ilk yaratıldığı anda Linux tarafından öntanımlı bazı izinler verilir. Genellikle bu izin çalıştırma ve okumadır. Dosyanın oluşma anında verilen izini değiştirmek için erişim yetki kalıbı olarak da bilinen umask komutu kullanılır. Daha fazla bilgi için komuta ait man dosyasına bakın.

Erişim haklarının dışında bir dosyanın üç izin düzeyi daha vardır. Bunlar dosyanın sahibi dosyanın grubu ve diğer kullanıcılardır. Dosyanın sahibi o dosyayı oluşturan kişidir. Her kullanıcının bir grubu da olduğu için dosya oluşturulurken kullanıcı hangi grupta ise dosya da o gruba ait olacaktır. Dosyanın sahibi olmayan ve grubu da dosyanın grubuyla uyuşmayan sistemdeki kullanıcılar ``diğer'' sınıfına girerler. Gruplar hakkında daha fazla bilgi için Linux Sistem Yönetimi konusuna bakın.

Dosya İzinlerinin Değiştirilmesi

Dosya izin bilgilerini görebilmek için ls komutu -l parametresiyle kullanılır. Aşağıdaki dosya üzerindeki erişim haklarına göz atalım :





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

Dosya bilgisinin en sol kısmında izin hakları yeralır. En baştaki ``-'' işareti bunun düz dosya olduğunu belirtir. ``gorkem'' dosyanın sahibi; ``users'' ise grubudur. Ardından sırayla uzunluk son değiştirilme tarihi ve dosya ismi gibi bilgiler gelir. Son harf kümesine dosyanın modu da denir.

Solda yeralan rw ve x karakterleri sırayla okuma çalıştırma ve yazma haklarını belirtir. En soldaki ``-'' işaretini ayırdığımız zaman geri kalan harfleri üç adet üçlü grup haline getirelim:





rwx r-x r-x

Sırayla birinci harf kümesi dosya sahibinin izinlerini ikinci harf kümesi grup izinleri ve son küme de diğer kullanıcıların izinlerini belirtir. Buna göre yukarıdaki dosyada


* rwx : kullanıcı okuyabilir yazabilir çalıştırabilir
* r-x : grup okuyabilir çalıştırabilir fakat yazamaz.
* r-x : diğerleri okuyabilir çalıştırabilir fakat yazamaz.


Sol baştaki karakter ``d'' olsaydı bir dizini inceliyor olacaktık.

Dosyanın izinlerini değiştirmek için chmod komutu kullanılır. Bu komutu kullanırken hangi izin düzeyine (kullanıcı grup veya diğerleri) hangi izinlerin verileceği veya kaldırılacağı yazılır.

Örnek olarak yukarıdaki dosyanın okuma iznini kaldırmak için





$ chmod -r deneme

kullanılabilir. "-" işareti iznin kaldırılacağını belirtir. İzin vermek için ise "+" yazın. Dosyanın yeni görüntüsü şöyle olur :





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

Sadece grubun sadece kullanıcının veya sadece diğerlerinin erişim hakkını değiştirebilmek için her izin düzeyi için bir harf tanımlanmıştır. Kullanıcı için "u" grup için "g" ve diğerleri için "o" yazarak belirli bir izin düzeyi için erişim hakkını değiştirmek mümkün olur. Bu üç harf izinden hemen önce yazılır.





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

Her izin için aynı zamanda sayılar da tanımlanmıştır. Dosyanın erişim izinlerinideğiştirmek için her izne ait sayıları kullanabilirsiniz. Aşağıdaki tabloda her izin düzeyi (dosyanın sahibi grubu ve diğerleri) için üçer tane olmak üzere toplam 9 sayıdan oluşan izin numaralarını görebilirsiniz. Bir izni vermek için sırayla numaraları toplayın. Örneğin sahibinin okuması (400) yazması (200) çalıştırması (100) grubun okuması (40) çalıştırması (10) ve diğerlerinin okuması (4) ve çalıştırması (1) için kullanılan rakamların toplamı 755'tir.





$ chmod 755 deneme




400 sahibi okur
200 sahibi yazar
100 sahibi çalıştırır


040 grubu okur
020 grubu yazar
010 grubu çalıştırır


004 diğerleri okur
002 diğerleri yazar
001 diğerleri çalıştırır




Başka bir değişiklikle konuyu pekiştirelim. Sahibinin okuması (400) yazması (100) grubun okuması (40) diğerlerinin okuması (4) için izin numarasını bulmak için bu cümlede parantez içinde yeralan sayıları toplarsak 644 yapacaktır.





$ chmod 644 deneme

Aynen dosyalarda olduğu gibi bir dizinin de sahibi ve grubu vardır.

4.2 Dosyanın Sahibinin ve Grubunun Değiştirilmesi

Bir dosyanın sahibini sadece sistemdeki root kullanıcı değiştirebilme yetkisine sahiptir. Dosya sahibinin değiştirilmesi için chown komutu kullanılabilir. Yukarıdaki dosyanın sahibini ozgur isimli kullanıcı yapalım.





# chown ozgur deneme

Dosyanın yeni hali şöyle olur :





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

chgrp komutu yardımıyla da dosyanın grubunu değiştirilebilir. Yukarıdaki dosyanın grubunu www yapmak için





# chgrp www deneme

komutu kullanılabilir. chown komutu dosyanın hem kullanıcısını hem de grubunu değiştirme özelliğine sahiptir. chown komutundan sonra kullanıcı ve grup isimlerini aralarında bir nokta kalacak şekilde yazın.





$ chown ozgur.www deneme $ ls -l deneme-rwxr-xr-x 2 ozgur www 182 Feb 12 03:58 deneme

4.3 Diğer Dosya Sistemlerinin Kullanılması

Bir Linux işletim sisteminde dosyaların ve dizinlerin herbirisi sabit disk CDROM veya diğer bilgi saklamaya yarayan cihazların birer parçası olan "dosya sistemlerinde" tutulur. Linux'un desteklediği pek çok dosya sistemi vardır ve bunların her birisinin veri depolarken kullandıkları yöntem birbirinden farklıdır.

Linux'ta her dosya sistemi farklı bir dizinde tutulur ve bu dizinlerin bilgisi /etc/fstab dosyasında yeralır. Açılış anında bu dosyada hangi dosya sistemlerinin hangi dizinler altına yerleştirileceği okunur ve buna göre makina açılır. Linux kendisi için özel olarak geliştirilen ext2 dosya sistemini kullanır.

Bir sistem görevlisi olarak çeşitli dosya sistemlerini tanımalı bu dosya sistemleri üzerinde hata oluşması durumunda zararı en aza indirecek yolu bilmelisiniz. Bilgisayar başında geçireceğiniz zamanınızın büyük bir bölümünü dosya sistemleri üzerinde harcayacaksınız.

mount İşlemi

Bir dosya sisteminin kullanılabilmesi için boş bir dizin altına yerleştirilmesi gerekir. Ancak bu gerçekleştirilirse sözkonusu dosya sistemini oluşturan dosyalar üzerinde işlem yapılabilir. Bu işlem mount komutu yardımıyla yapılır.

mount komutunun şu şekilde kullanılır :





mount -t

tip : Dosya sistemi çeşidi. Örnek dosya sistem çeşitleri arasında ext2 minix msdos sayılabilir. Dosya sistemleri hakkında daha geniş bilgi için Çekirdek konfigürasyonu konusuna bakın. Genellikle mount programı ne tür bir diske eriştiğini otomatik olarak anlayacaktır.

nereye : mount edilecek dosya sistemi hangi dizin altına yerleştirileceğini belirtir.

aygıt : Üzerinde dosya sisteminin bulunduğu sabit disk CD-ROM benzeri aygıt.

Linux'a bağlı olan tüm donanımlara ait bir giriş /dev dizini altında bulunur. Bu dizin altındaki dosyalar özel olarak tanımlanmıştır ve bunlara kısaca "düğüm" adı verilir. Örneğin /dev/hda2 birinci IDE sabit diskin ikinci bölümünü; /dev/tty1 ise birinci sanal konsolu gösterir.

Çeşitli sabit disklere ait /dev düğümleri Linux Kurulumu bölümünde detaylı olarak anlatılmıştı. mount programı bu düğümlere ihtiyaç duyacaktır. Bu yüzden bir dosya sistemini erişilebilir hale getirebilmek için hangi düğüm ismine sahip olduğunu bilmelisiniz. Örnek olarak CD-ROM için /dev/cdrom birinci disket sürücü için /dev/fd0 gibi.

CD-ROM sürücüsünü /mnt altına mount etmek için





# mount -t iso9660 /dev/cdrom /mnt

yazın. Eğer çekirdekte CD-ROM dosya sistemi desteği varsa ve sistem açılırken çekirdek CD-ROM'u tanımışsa /mnt dizini altına CD'deki dosya sistemi yerleştirilir. Buna benzer şekilde MS-DOS disket içeren disket sürücüyü ve üzerinde ext2 dosya sistemi bulunan ikinci IDE sabit diskin birinci bölümünü sırasıyla /mnt/disket ve /mnt/disk dizinlerine bindirmek için





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

ve





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

yazılabilir. Bir mount işleminin tersini yapmak ve dosya sistemini erişilemez kılmak için umount komutu kullanılır. /disk altındaki /dev/hdb1 sabit disk bölümünü umount etmek için





# umount /disk

veya





# umount /dev/hdb1

kullanılır. Her iki yazım şekli de kabul edilir. Son olarak o an sistemde bindirilmiş halde bulunan tüm dosya sistemlerini görmek için mount komutunu parametresiz yazın. Bu komut hakkında daha detaylı bilgi ve aldığı diğer parametreler için man sayfasına bakın.

mount ve umount komutları ile bir dizin yapısını disk üzerinde konumlandırırken veya ayırırken üzerinde işlem yapılan dizinde bulunmamanız ya da o dizinde başka bir süreç çalışıyor olmaması gereklidir. Aksi takdirde aşağıdaki hata mesajını alırsınız:





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

Yapmanız gereken ayıracağınız dizinden dışarı çıkıp tekrar denemek. Diğer bir seçenek de fuser komutunu kullanmak. Bu komut ayırmak istediğiniz dizini kullanan tüm süreçleri ekranda gösterir. Böylelikle rahatlıkla yukarıdaki örnekteki gibi umount işlemini gerçekleştirebilirsiniz. fuser komutunun -km seçeneğiyle o dizini kullanan süreçleri öldürülebilir.





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

fuser komutunu kullanırken dikkatli olun zira sistemi kilitlenme noktasına getirebilirsiniz.

Dosya Sistemi Bilgileri

Linux açılırken mount komutu yardımıyla root dosya sistemine ekleyeceği her değişik dosya sistemini /etc/fstab dosyasından okur ve işleme koyar. Aşağıda örnek bir fstab dosyası yeralıyor.





/dev/hda2 / ext2 defaults 1 1/swap none swap defaults 1 1/dev/cdrom /cdrom iso9660 defaults 1 1 none /proc proc defaults 1 1/dev/hda1 /dos msdos defaults 1 1

Çekirdek açılış mesajları içinde





VFS: Mounted root (ext2 filesystem) readonly.

gibi bir satır göreceksiniz. Sistem açılırken en önce / dosya sistemini mount eder. Bu sayede bu dosya sistemi altında yeralan ve hayati önem taşıyan yazılımlara (fsck mount gibi) ulaşır. Daha sonra yerel dosya sistemleri ve en son da ağ üzerinden erişilen dosya sistemlerine (NFS) bağlanır. fstab dosyasında kullanıcının kendi dosyalarını yerleştiremediği fakat sistem tarafından kullanılan swap ve proc dosya sistemleri için de mount bilgileri bulunur.

Yukarıdaki fstab dosyasında ext2 dosya sistemine sahip /dev/hda2 sabit disk bölümü / dizinini oluşturuyor. MS-DOS formatlı /dev/hda1 bölümü de /dos dizinine erişilebilir olarak açılış anında eklenecektir.

Sistemdeki CD-ROM sürücü /cdrom dizini altına yerleştirilmiş olup root kullanıcı bunu istediği dizine koyabilir. Bu dosyaya mount komutundaki gibi parametreler de eklenebilir. Dördüncü sırada yeralan defaults parametresinin yanına eklemek istediğiniz opsiyonları yazın. Bu parametrelerden sıkça kullanılan bir tanesi de "user" olup root dışındaki kullanıcılara mount hakkını verir. CD-ROM sürücüyü normal sistem kullanıcılarının mount veya umount yapabilmesi için fstab dosyasındaki ilgili satırı





/dev/cdrom /cdrom iso9660 defaultsuser 1 1

satırıyla değiştirin. defaults parametresi ise halihazırdaki dosya sistemini okunup yazılabildiğini asenkron olduğunu üzerindeki bilgileri bloklar halinde alıp verdiğini (buna diğer örnekler CD-ROM ve disket sürücülerdir) içerdiği programların çalıştırılabilir olduğunu ve normal kullanıcıların mount umount yapamadığını gösterir. user parametresiyle kullanıcılara mount ve umount hakkı yukarıda verilmiştir.

Dosya Sistemi Yaratılması ve Kontrolü

Bazen MS-DOS altından oluşturulamayan dosya sistemlerini (ext2 gibi) oluşturmak gerekebilir. Linux altında bir dosya sistemini oluştururken aynı zamanda bunu kontrol eden programlar vardır. Bunların en çok kullanılanı Slackware sürümünde gelen mkfs/'tir.

mkfs ile Linux native (ext2) dosya sistemi oluşturmak için mkfs.ext2 programı kullanılır.





mkfs.ext2

"aygıt" yerine üzerine dosya sistemi kurulacak olan cihazın /dev dizini altındaki düğüm dosyasının ismi yazılır. Blok sayısı yerine fdisk yazılımından o bölümün kaç blok olduğunu öğrenip bu sayıyı girmelisiniz. Bir blok 1024 bayttan oluşur. Örneğin





# mke2fs /dev/hda3 163829

komutu /dev/hda3 disk bölümünde ext2 dosya sistemi kurar. Bu komutu kullanmadan önce iyi düşünün zira burada yeralan tüm dosyalar silinir ve bu hatanın geri dönüşü olmaz. Aşağıdaki komut ile bir disket üzerinde ext2 dosya sistemi kuruluyor.





# mke2fs /dev/fd0 1440

mke2fs ile mkfs.ext2 komutları aynıdır. Benzer şekilde MS-DOS dosya sistemi yaratmak için mkfs.msdos minix dosya sistemi yaratmak için mkfs.minix kullanılabilir. Blok sayısı girilmez ise mke2fs bunu otomatik olarak bulacaktır.

Herhangi bir sebepten dolayı diskte bozulma ve veri kaybını en aza indirmek için de yazılımlar vardır. fsck ile dosya sistemi kontrolü yapılabilir. fsck ile ext2 dosfsck (veya fsck.msdos) ile MS-DOS formatlı alanlar kontrol edilir.





linux:~# fsck /dev/hda2Parallelizing fsck version 0.5b (14-Feb-95)e2fsck 0.5b 14-Feb-95 for EXT2 FS 0.5a 95/03/19/dev/hda2 is mounted. Do you really want to continue (y/n)? yesPass 1: Checking inodes blocks and sizesPass 2: Checking directory structurePass 3: Checking directory connectivityPass 4: Checking reference countsPass 5: Checking group summary informationFix summary information? yesBlock bitmap differences: -46486 -46487 -46488 -46489 -46490. FIXEDFree blocks count wrong for group 5 (2803 counted=2808). FIXEDFree blocks count wrong (16326 counted=16331). FIXED/dev/hda2: (Sansürlü Kelime)(Sansürlü Kelime)(Sansürlü Kelime)(Sansürlü Kelime)(Sansürlü Kelime)(Sansürlü Kelime)(Sansürlü Kelime)(Sansürlü Kelime)* FILE SYSTEM WAS MODIFIED (Sansürlü Kelime)(Sansürlü Kelime)(Sansürlü Kelime)(Sansürlü Kelime)(Sansürlü Kelime)(Sansürlü Kelime)(Sansürlü Kelime)(Sansürlü Kelime)*/dev/hda2: (Sansürlü Kelime)(Sansürlü Kelime)(Sansürlü Kelime)(Sansürlü Kelime)(Sansürlü Kelime)(Sansürlü Kelime)(Sansürlü Kelime)(Sansürlü Kelime)* REBOOT LINUX (Sansürlü Kelime)(Sansürlü Kelime)(Sansürlü Kelime)(Sansürlü Kelime)(Sansürlü Kelime)(Sansürlü Kelime)(Sansürlü Kelime)(Sansürlü Kelime)*/dev/hda2: 3494/29632 files 42904/59235 blocks

Bir dosya sistemini kontrol etmeden önce okunan bölümü root dosya sisteminden ayırın ve kontrol işleminden sonra bilgisayarı kapatıp tekrar açın.

debugfs programı dosya sistemi parametrelerini incelemek için kullanılır. Disk üzerine doğrudan erişım yaptığı için dikkatli kullanmalısınız. ext2fs yardımıyla kurtarılamayan bazı dosyalar (özellikle silinmiş dosyalar) debugfs yardımıyla kurtarılabilir.

4.4 Sembolik Bağlantılar

Bazı durumlarda bir dosyayı oluşturup bu dosyanın başka bir dosyayı işaret etmesi istenebilir. Genellikle sistem yöneticileri tarafından kullanılan sembolik bağlantı yardımıyla bir dosya veya dizin bunlara karşılık gelen başka bir dosya veya dizin olarak gösterilir.

Aşağıda bir sembolik bağlantı örneği yeralıyor. Sistem görevlisi /root dizini altındayken /usr/src/linux dizinine geçmek istiyor. /usr/src/linux dizinine işaret eden bir bağlantı kurmak için ln komutu kullanılır. -s parametresi bu bağlantının sembolik olacağına işaret eder.





ln -s





linux:~# ls -ltotal 116drwxr-xr-x 2 root root 1024 Feb 14 08:13 kernel-rw-r--r-- 1 root root 115695 Sep 15 1994 lodlin15.zipdrwx------ 2 root root 1024 Jan 7 1980 mail-rw-r--r-- 1 root root 0 Feb 15 08:14 typescriptlinux:~# ln -s /usr/src/linux linuxlinux:~# ls -ltotal 116drwxr-xr-x 2 root root 1024 Feb 14 08:13 kernel-rw-r--r-- 1 root root 115695 Sep 15 1994 lodlin15.zipdrwx------ 2 root root 1024 Jan 7 1980 maillrwxrwxrwx 1 root root 9 Feb 15 08:14 linux -> /usr/src/linux-rw-r--r-- 1 root root 0 Feb 15 08:14 typescript

Bu işlemden sonra kullanıcının /usr/src/linux dizinine geçmesi için cd linux" yazması yetecektir. Sembolik bağlantı dosyasını diğerlerinden ayıran satırın en solundaki l karakteridir.

4.5 Dosya Arşivleme ve Sıkıştırma

Linux altında dosya arşivlenmesi ve sıkıştırılması neredeyse belirli ve standartlaşmış birkaç komut ile gerçekleştiriliyor. tar komutu yardımıyla istenilen dosyaları arşivleyebilir bunların üzerine yenilerini ekleyebilir istediğiniz zaman da tekrar açıp eski haline getirebilirsiniz. GNU gzip komutu ise dosyaların sıkıştırılması (zip) ve sıkıştırılmış dosyaların açılması (unzip) işlemlerini yapabiliyor. Fazla disk alanınız yoksa bu iki komut her zaman yardımınıza koşacaktır.

Dosya Arşivleme

tar (Tape ARchive) programı bir veya birden fazla dosyayı tek bir forma sokar. Genellikle bir dizin ve bu dizinin altında yer alan tüm alt dizinleri biraraya getirmek için kullanılır. tar dosyaların üzerinde sıkıştırma işlemini normalde uygulamaz. Fakat tar'ın GNU sürümü (Linux'ta da kullanılan) bu işlemi gzip kullanmadan da yapabiliyor.

tar komutuna bir örnek verelim :





$ tar -cf arsiv.tar tmp/

Bu komut -c (create archive) parametresi yardımıyla tmp dizini altındaki herşeyi paketleyip arsiv.tar isimli dosyaya yollar. -f parametresi hangi dosyaya yazılacağını belirtir. İstediğiniz zaman dosyayı tekrar açmak isterseniz :





$ tar -xf arsiv.tar

komutunu kullanın. -x (extract) parametresi -f ile belirtilen dosyayı açacaktır.

-r opsiyonu ile daha önce yaratılmış bir arşive dosya eklenebilir. Böylece dosyayı açma ve tekrar arşiv oluşturma işleminden kurtulmuş olursunuz.





$ tar -rf arsiv.tar ekleme.txt

Dosyanın içeriğini önceden görebilmek için -t parametresini kullanın ve bu işlemi de alışkanlık haline getirin. Bazı durumlarda arşivlenmiş yazılım kendine ait bir dizin açmak yerine içerdiği dosyaları bulunduğu yere yazabilir.





tar -tf arsiv.tar

Hangi dosyaların açıldığını ekranda görebilmek için -v parametresini ekleyin:





# tar -zcvf tmp.tgz /tmptar: Removing leading / from absolute path names in the archive.tmp/tmp/tar-errortmp/.X11-unix/tmp/rc.inet1.OLDtmp/networks.OLDtmp/linux/tmp/ linux/fss.txttmp/lilo.conftmp/PKGTOOL.REMOVED

Aşağıdaki komut arşivlenen dosyaları diskete kaydetmeye yarıyor. Bunun için temiz bir disketi yuvasına yerleştirin ve aşağıdaki satırı yazın.





# tar -cf /dev/fd0 tmp/

tmp dizini altındaki herşeyi diskete kaydetmiş olduk. Açmak için bilinen yöntemi kullanırız :





# tar -xf /dev/fd0

Dosya Sıkıştırma ve Açma

Dosya sıkıştırma amacıyla sıkça kullanan iki yazılım vardır : gzip ve compress. Her iki yazılım da Slackware Linux dağıtımında bulunuyor. GNU'nun dağıtımı olan gzip tar ile birlikte kullanılan ve dosya sıkıştırma ve arşivlemede neredeyse standart haline gelmiş bir program. Bir dosyayı sıkıştırmak için parametre girmeden gzip komutunun ardından dosya ismini yazın.





$ gzip elvis$ ls -al elvis.gz

gzip ile sıkıştırılmış dosyaların sonu .gz ile biter. Bunları açmak için gunzip komutunu kullanın:





$ gunzip elvis.gz

compress ve uncompress de sırayla bir dosyayı sıkıştırmak ve açmak için kullanılır. Aslında Linux'ta uncompress adında bir yazılım yoktur bu dosya ismi compress dosyasına bağlantılıdır. compress ile sıkıştırılan dosyaların sonu .Z ile biter.





$ ls -al web.html-rw-r--r-- 1 gorkem users 41450 Jan 27 13:40 web.html$ compress web.html$ ls -al web.html.Z-rw-r--r-- 1 gorkem users 18906 Jan 27 13:40 web.html.Z

Yukarıdaki web.html dosyasını sıkıştırdığımızda dosyanın boyutu 41450 bayttan 18906 bayta indi. Açmak için:





$ uncompress web.html.Z

Bir dosyanın uzantısından ne tür bir dosya olduğunu anlayamazsanız file komutu imdadınıza koşar. Linux'ta belirli uzantılı dosyaların başı bilinen bir harf veya harf grubu ile başlar. file komutu dosyanın başındaki karakterleri kontrol ederek ve bunları bir listeyle (/etc/magic) karşılaştırarak dosyanın ne tür olduğunu söyler.





# file tmp.gztmp.tgz: gzip compressed data - deflate method last modified: Sat Feb 15 0850 1997 os: Unix# file tmp.tar.Ztmp.tar.Z: compressed data 16 bits

Birlikte Kullanım

ftp adreslerinde Linux için yeralan yazılımlar genellikle tar ve gzip nadiren de tar ve compress ile sıkıştırılıp arşivelenerek saklanırlar. Çünkü tar komutu tek başına arşivi sıkıştırmaz bu işlem için gzip veya compress kullanılır. Bunların açılabilmesi için tar komutu ve birkaç parametre yeterli olur.





$ ls netscape-4.0.linux-elf.tar.gz

Yukarıdaki dosya önce tar ile arşivlenmiş ardından gzip ile sıkıştırılmış. Tek adımda bu iki dosyayı açmak için tar dosyasına x ve f parametrelerinin dışında z parametresini de ekleyin :





$ tar -zxf netscape-4.0.linux-elf.tar.gz$ ls netscape-4.0.linux-elf

Eğer dosya sıkıştırılırken compress komutu kullanılmışsa z yerine Z parametresini yazın.





$ ls folder.tar.Z$ tar -Zxf folder.tar.Z$ ls folder

Benzer şekile bir dosyayı aynı anda hem tar ile arşivlemek hem de sıkıştırmak istersek c ve f parametreleri dışında compress ile Z gzip ile z parametrelerini girmek yeterlidir. Aşağıda sırayla gn-gopher dizisinin önce tar ve gzip ile ardından tar ve compress ile arşivlenmesi görülüyor.





$ lsgn-gopher/ $ tar -zcf gopher.tgz gn-gopher/$ tar -Zcf gopher.tar.Z gn-gopher/

4.6 Dizin Tarama

Linux işletim sistemini ilk kurduğunuz anda yüzlerce dizin altında binlerce dosyanız olacaktır. find komutu bu dosyaların arasında tarama yapabilmek için geliştirilmiştir. Bu komutla sadece dosya isimlerine değil dosyanın sahibi erişim hakları son erişim tarihi gibi verilere de ulaşmak mümkündür. find komutunun en sık kullanış şekli şudur :


_______________________
Üye olup ailemize katılmak ve reklamsız bir forumdan yararlanmak isterseniz TIKLAYIN
ßeRDuSH isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
 
3 4 5 9 11 12 13 14 15 18 22 24 25 27 28 29 30 31 33 34 35 36 38 39 40 42 43 44 45 46 51 52 54 55 57 59 61 62 68 69 70 71 75 76 81 82 88 91 95 96 99 100 101 104 109 120 121 128 131 132 135 136 139 142 147 150 151 152 153 154 155 156 157 158 159 160 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 251 252 253 254 255 259 277 279 280 281 283 285 286 287 288 289 290 291 292 293 295 296 303 304 306 307 308 309 310 311 312 313 314 319 321 322 323 325 327 328 329 330 331 332 334 338 340 341 342 343 344 345 346 347 348 349 351 355 358 359 360 362 364 365 366 367 371 377 378 379 380 381 382 383 384 385 387 411 412 417 419 420 421 422 423 426 432 434 439 440 441 442 444 449 466 469 470 471 472 473 474 475 476 477 478 479 481 482 483 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 505 518 519 520 521 523 524 526 533 537 539 541 545 546 548 549 550 551 552 555 556 557 558 559 560 561 562 563 565 566 569 571 574 580 581 582 583 584 585 586 589 590 591 593 595 596 597 598 599 600 601 604 605 606 607 608 609 610