Linux Dosya ve Dizin Yapısı

Dosya ve Dizin Yapısı

UNIX altında bazı karakterlerin özel anlamları vardır.
Dizin ve dosya
isimlerinin başında nokta olması durumunda bu dosyalar gizli dosya haline
gelir ve parametresiz yazılan ls komutuyla görünmez.

Dosya ve dizin isimleri 255 karakteri aşamazlar.

Sisteme girince önceden tanımlanmış bir dizin altında bulunursunuz. Bu
dizin normal kullanıcılar için genellikle /home/ ve ardından gelen
kullanıcı dizini ismidir. Bulunduğunuz dizinin ismini görmek için pwd
(print working directory) yazın. Temel dosya ve dizin kavramları hakkında
ayrıntılı bilgi alabilmek için MS-DOS veya en iyisi bir UNIX kitabı edinin.

$ pwd
/home/gorkem
$


UNIX komut yapısı DOS'a çok benzer. Dizin değiştirmek için cd,
dizin yaratmak için mkdir komutlarını sistemde sıkça kullanılır.

$ cd /
$ pwd
/


Hiyerarşik bir sıraya sahip olan UNIX'te en üstte / dizini
(kök dizin) yeralır. Sistemdeki tüm diğer dosya ve dizinler bunun
altında toplanırlar.

~


işareti, kullanıcının ev dizinini gösterir. Ev dizinine geçin ve
mkdir komutu ile benim isimli
bir dizin yaratın. Dizini patikasını, bir başka deyişle kök dizininden
itibaren ismini vererek de yaratabilirsiniz.

$ cd ~
$ pwd
/home/gorkem
$ mkdir /home/gorkem/benim

Dosya Listesi ve İçeriklerinin Görüntülenmesi

Dosya ve dizinleri görebilmek için ls komutu kullanılır.
Parametresiz yazarak bulunduğunuz dizin hakkında bilgi alın. Linux
altında değişik uzantılı dosyalar okunabilirliği artırmak amacıyla
farklı renkte görülecektir. /etc/DIR_COLORS dosyası,
dosya renklerini ayarlar. Bu dosyayı değiştirerek belirli dosyalar için
istenilen renkleri göstermesini sağlayabilirsiniz.

linux:~$ ls
README article.txt mail typescript
adres linux perl


ls komutu -a parametresiyle birlikte kullanılırsa normalde
görükmeyen ve nokta karakteriyle başlayan dosya ve dizinler de
görükür.

linux:~$ ls -a
. .bashrc .term article.txt typescript
.. .kermrc .xinitrc linux
.Xdefaults .less README mail
.bash_history .lessrc adres perl


-l parametresi de dosyalar hakkında tüm bilgiyi verir. Bunlar,
dosyanın sahibi, ne zaman yaratıldığı, sahibi ve grubu gibi
bilgilerdir. Dosya izinleri hakkında daha geniş bilgi bir sonraki
bölümde verilmiştir.

linux:~$ ls -al
total 91
drwxr-xr-x 6 gorkem users 1024 Feb 13 12:56 .
drwxr-xr-x 4 root root 1024 Jan 7 1980 ..
-rw-r--r-- 1 gorkem users 390 Feb 13 12:56 .Xdefaults
-rw-r--r-- 1 gorkem ftpadm 230 Feb 13 12:57 .bash_history
-rw-r--r-- 1 gorkem users 1 Feb 13 12:57 .bashrc
-rw-r--r-- 1 gorkem users 163 Nov 24 1993 .kermrc
-rw-r--r-- 1 gorkem users 34 Nov 24 1993 .less
-rw-r--r-- 1 gorkem users 114 Nov 24 1993 .lessrc
drwxr-xr-x 2 gorkem users 1024 Jan 7 1980 .term
-rw-r--r-- 1 gorkem users 87 Feb 13 12:56 .xinitrc
-rw-r--r-- 1 gorkem users 26264 Feb 13 12:53 README
-rw-r--r-- 1 gorkem users 2795 Feb 13 12:55 adres
-rw-r--r-- 1 gorkem users 47970 Feb 13 12:53 article.txt
drwxr-xr-x 2 gorkem users 1024 Feb 13 12:54 linux
drwxr-xr-x 2 gorkem users 1024 Feb 13 12:54 mail
drwxr-xr-x 2 gorkem users 1024 Feb 13 12:54 perl
-rw-r--r-- 1 gorkem users 0 Feb 13 12:57 typescript


Yukarıda her iki parametrenin de birleştirilerek birlikte kullanımı
yeralmaktadır. Dosyaların içeriklerini görmek için kullanılan birkaç
komuttan en pratiği less'tir. Ok tuşları ile dosya içinde hareket
edebilir ve q karakteri ile dosyadan çıkarsınız. Dosyanın içeriği birden
fazla sayfadan ibaretse dosya sayfalar halinde ekrana gelir. Tüm dosyayı
ekrana basmak için cat kullanın.

$ cat README


Bir dosyanın başından veya sonundan itibaren belirli miktarda satırı
ekrana getirmek de mümkündür. Bunun için head ve tail komutları
kullanıcının hizmetine sunulmuştur.

linux:~$ head -6 README => dosyanin ilk 6 satirini ekrana basar
This is the README file for the 28 August 1994 public release of the
Info-ZIP group's portable UnZip zipfile-extraction program (and related
utilities).

unzip512.zip portable UnZip, version 5.12, source code distribution
unzip512.tar.Z same as above, but compress'd tar format

linux:~$ tail -3 README (dosyanin son 3 satirini ekrana getirir)

-- Greg Roelofs (Cave Newt), UnZip maintainer/container/explainer and
developer guy, with inspiration from David Kirschbaum

Dosyaların Kopyalanması

Dosyaları kopyalamak için cp ve bir yerden başka bir dizine almak
için mv komutu kullanılır. mv komutu, aynı zamanda dosya
isimlerini değiştirmek üzere de işletilebilir.

linux:~$ cp article.txt /tmp


article.txt isimli dosyayı
/tmp dizinine kopyalar.

linux:~$ mv article.txt /tmp/article


article.txt isimli dosyayı
/tmp dizini altina ismini article
olarak degistirerek koyar.

Kopyalama işlemi sadece dosyalar üzerinde değil, dizinler üzerinde
de yapılabilir. Farklı dosya sistemleri üzerinde olmamak kaydıyla
bir dizin ve altındaki herşeyi, başka bir dizine kopyalayabilir veya
hareket ettirebilirsiniz. Kopyalarken bu işlem için -R
parametresi kullanılır, mv komutu için
-r parametresine gerek yoktur.

$ cp -R /home/gorkem/temp /tmp


/home/gorkem/temp dizinini ve içindeki her dosyayı
/tmp altına kopyalar.

$ mv article.txt ~/benim


article.txt isimli dosyayı çalışma dizini altındaki
benim dizinine kopyalar.
Dosyaların Silinmesi

Bir daha kullanılmayacak olan dosyalar, rm komutuyla
silinebilir. Dosyaları silerken iki kere düşünün, zira Linux altında
silinen bir dosyanın geri dönüşü olmaz. Eğer bu tür hataları çok
yapıyorsanız rm komutunu -i parametresi ile birlikte kullanın,
bu sayede Linux, dosyayı silmeden önce kullanıcının da onayını alır.

linux:~$ rm -i README
rm: remove `README'? y (sileyim mi ?)
linux:~$


Eğer dosya ismi - karakteri ile başlıyor ise, rm komutunu
kullandığınız zaman dosya ismi bir parametre olarak algılanacak ve
hata verecektir. Bunun için dosya isminden önce -- karakterlerini
yerleştirin.

linux:~$ rm -- -dosya


Bir dizin, boş iken rmdir komutu ile silinebilir, eğer boş değilse
bu komut işe yaramaz. Onun yerine rm komutunu -r parametresiyle
kullanın.

linux:~$ rm mail
rm: mail: is a directory
linux:~$ rm -rf linux/ (linux dizinini icindekilerle birlikte silinir)


-f parametresi ile kullanıcının onayını almadan tüm dosyaları tek
adımda silmek mümkündür. Bulunduğunuz dizindeki tüm dosyaları silmek
için * karakterini kullanın.

$ rm *

Hanci.org sizlere daha iyi hizmet sunmak için çerezleri kullanıyor.
Hanci.org sitesini kullanarak çerez politikamızı kabul etmiş olacaksınız.
Detaylı bilgi almak için Gizlilik ve Çerez Politikası metnimizi inceleyebilirsiniz.