9 Nisan 2013 Salı

Linux Komutlarının Tamamı

0 yorum

Linux Komutlarının Tamamı

 Açık portları görmek
Makinanızda açık portları görmek için vermeniz gereken komut çok basit:
# netstat -tap

pwd
Bulunduğunuz dizinin ismini verir.

hostname
Makinanın konak ismini verir.

whoami
Sisteme giriş yaparken yazdığınız kullanıcı isminizi verir.

id [kullanıcı_ismi]
Kullanıcının kullanıcı kimliği, birincil grup kimliği ve üyesi olduğu grupları gösterir.

date
Sistem tarihi göstermek ya da değiştirmek için kullanılır. Tarihin yerele özgü gösterimle basılmasını isterseniz date +%c yazın. Örneğin "tr_TR" yereli için sadece date komutu Prş Eki 23 21:31:06 EEST 2003 basarken date +%c komutu Prş 23 Eki 2003 21:31:19 EEST basar.

date 102321322003 komutu sistem tarihini Prş Eki 23 2100 EEST 2003 yapar. Donanım saatini değiştirmek için setclock komutunu kullanmanız gerekir.

time
Belli bir komutun işlemini bitirmesinin ne kadar süre tuttuğunu gösterir. Örneğin, ir dizinin listelenme süresini time ls ile öğrenebilirsiniz.

who
O an sistemde bulunan kullanıcıların kullanıcı isimlerini, hangi uçbirimlerde çalıştıklarını ve sisteme giriş tarih ve saatlerini gösterir.

finger [kullanıcı_ismi]
Belli bir kullanıcı hakkındaki bilgi verir.

last
Sisteme en son giriş yapmış kullanıcıların bugünden geriye doğru listesi.

history | more
Kabuğa son girdiğiniz komutların listesi. | more sayesinde sayfa sayfa okuyabilirsiniz.

uptime
Makinanın ne kadar süredir açık olduğu bilgisini verir.

ps
Kullanıcının kullandığı uçbirimde çalıştırmakta olduğu komutların ve süreçlerin listesi.

ps -ax | more ps aufx
Sistemin açılışından beri çalışmakta olan bütün süreçlerin listesi.

top
Temel sistem durumu, çalışmakta olan süüreçler ne kadar bellek/işlemci kullandıkları vs.

uname -a
Sistem hakkında çekirdek sürümünü, işlemci türü gibi bilgiler.

free
Bellek kullanımını gösterir.

df -h
Bağlı sabit disk bölümlerinin doluluk oranlarını gösterir.

du -sk [dizin]
Belirtilen dizin in (belirtilmezse bulunduğunuz dizinin) içeriğinin diskte kapladığı alanın kB cinsinden boyutunu verir.

cat /proc/interrupts
Çekirdek tarafından tanımlanmış sistem kesmelerinin listesi.

cat /proc/version
Linux çekirdeğinin sürüm bilgileri.

cat /proc/filesystems
Çekirdekte tanımlı kullanılabilecek dosya sistemlerinin listesi.

cat /etc/printcap
Yazıcıların düzeni.

lsmod
Yüklü çekirdek modüllerinin listesi.

set, declare, export
Üçü de kabukta tanımlı ortam değişkenlerinin listesini verir. Tümünü (miras alınanlar dahil) sadece declare verir.

echo $PATH
PATH ortam değişkeninin değerini gösterir. PATH, kullanıcı tarafından çalıştırılabilecek yazılımların aranacakları yerleri kabuğa bildirmek için kullanılır.

dmesg | more
Sistem açılışından itibaren çekirdek tarafından üretilen iletiler. Bu iletiler /proc/kmsg dosyasında bulunur ve dmesg komutu sadece tampondaki son iletileri gösterir.


gzip -9 dosya
Belirtilen dosya yı en iyi şekilde sıkıştırır ve dosya.gz haline getirir.


bzip2 dosya
Belirtilen dosya yı en iyi şekilde sıkıştırır ve dosya.bz2 haline getirir. Çoğunlukla gzip’den daha iyi sıkıştırır.

gunzip dosya.gz
gzip ile sıkıştırılmış dosya.gz dosyasını dosya olarak açar.


bunzip2 dosya.bz2
bzip2 ile sıkıştırılmış dosya.bz2 dosyasını dosya olarak açar.


tar -xvf arsiv.tar
İsmi arsiv.tar gibi belirtilen (sıkıştırılmamış) arşiv dosyasını bulunulan dizine açar.


tar -zxvf arsiv.tar.gz
İsmi arsiv.tar.gz gibi belirtilen sıkıştırılmış arşiv dosyasını bulunulan dizine açar. Dosya uzantısı .tar.gz olan dosyalardan başka .tgz olan dosyaları da açar.


tar -zxvf arsiv.tar.gz -C dizin
Sıkıştırılmış arşiv dosyasını belirtilen dizin e açar.


tar -jxvf arsiv.tar.bz2 -C dizin
Bzip2 ile sıkıştırılmış arşiv dosyasını belirtilen dizin e açar. (Eski sürümlerde -Ixvf kullanılırdı.)


tar -zcvf arsiv.tar.gz dizin1 dizin2 ... dosya1 dosya2 ...
Belirtilen dizin ve/veya dosya ları arsiv.tar dosyası haline getirir ve ardından gzip ile sıkıştırıp arsiv.tar.gz haline getirir.


unzip arsiv.zip -d dizin
arsiv.zip zip arşivini belirtilen dizin e açar.


unarj e arsiv.arj
arsiv.arj arj arşivini açar.


uudecode -o hedef kaynak
uuencode ile kodlanmış (genelde eposta ekleri) dosyayı açar.


help
Kabuk komutlarının listesini gösterir. Bu komutların herbiri için help komut_ismi komutu ile yardım alabilirsiniz.


komut_ismi --help
Söz konusu komut ile ilgili yardım iletisi basar (varsa).


man başlık
Sistemdeki kılavuz (man) dosyaları. Bir komut hakkında olabildiği gibi bir dosya ya da bir işlev hakkında da olabilir.


apropos başlık
söz konusu başlıkla ilgisi olan komutların listesi.


ls
O an bulunulan dizinin içeriğini listeler.


ls -al | more
O an bulunulan dizindeki bütün dosyaları gösterir (. ile başlayan gizli dosyaları da) Komut burada more komutuna yönlendirilmiştir, bu sayede çıktının bir ekrandan fazla olması durumunda bir ekranlık çıktıdan sonra devamını göstermek için bir tuşa basmanız gerekir.


cd dizin
dizin dizinine geçilir.


cp kaynak hedef
Bir yerdeki dosya ya da dizinleri başka bir yere kopyalamak içindir. Unix’lerde genelde bu tür komutlarda her zaman kaynak önce hedef sonra yazılır.


mcopy kaynak hedef
DOS’tan Unix’e ya da tersine (disketi bağlamanız şart değil) bir dosyayı başka bir yere kopyalar. Aynı mantıkta çalışan mdir, mcd, mren, mmove, mdel, mmd, mrd, mformat gibi komutlar da vardır.


ln hedef [isim]
Sözkonusu hedef e sabit bağ oluşturur. Sözkonusu dosyalar iki yerde de var gibi gözükür, herhangibir değişiklik diğerini de etkiler, biri silindiğinde diğeri kalır. Sabit bağların kısıtlamaları, bağ dosyası ile asıl dosyanın aynı dosya sistemi içinde olması gerekliliği ve dizinlerle özel dosyalara sabit bağ verilememesidir.


ln -s hedef [isim]
hedef ’e bir sembolik bağ dosyası (isim verilmezse hedef ile aynı isimde) oluşturur. Sembolik bağda hedef ’in nerede bulunacağının bilgisi vardır. Sembolik bağlar dizinler için de kullanılabilir. Tek sorunu hedef silindiğinde bağ bozulmuş olur.


rm dosya ...
Verilen dosya ları siler. Sileceğiniz dosyanın sahibi olmanız gerekir.


mkdir dizin
dizin dizinini oluşturur.


rmdir dizin ...
Belirtilen dizin ’ler boşsa silinir.


rm -r dosya ...
Dosya ve dizinleri ve dizinlerin içindeki dizinleri ardarda siler. Root olarak kullanırken dikkat edin, çünkü herşeyi silebilirsiniz!.


cat dosya | more
Bir dosyayı sayfa sayfa görüntülemek için kullanılır.


less dosya
Önceki komuta eşdeğerdir, biraz daha fazla özellikleri vardır


vim dosya
Bir metin dosyasını düzenlemek için kullanılır. Aynı türden nano, joe, mcedit gibi metin düzenleyicileri de kullanabilirsiniz, ancak vim ile UTF-8 kodlu metinleri de düzenleyebilirsiniz. Diğerleri bunu yapamaz.


find / -name "dosya"
dosya adlı dosyayı en üst dizinden itibaren aramaya başlar. Dosya ismi, * ve ? gibi arama karakterleri de içerebilir. Örneğin benim sistemimde "fazlames*" dizgesi ile fazlamesai.net.txt ve fazlamesai.org.txt dosyaları bulunuyor.


locate dosyaismi
find gibidir, fakat düzenli olarak oluşturulan bir veritabanına bağlıdır, sistemdeki son değişikliklerden haberi olmayabilir.


touch dosya
dosya isimli dosyanın tarih bilgilerini deşiştirir. Eğer bu dosya yoksa sıfır bayt uzunluğunda oluşturur.


xinit
Pencere yöneticisi olmayan bir X oturumu açar.


startx
Pencere yöneticili bir X oturumu açar. DOS’daki win komutu gibidir.


startx -- :1
1 numaralı ekranda X oturumu açar, ilk ekran 0 dır ve komut için öntanımlıdır. Ekranlar arasında <Ctrl><Alt><F7-F8 ...> ile geçiş yapabilirsiniz.


xterm
Basit bir X uçbirimi açar. Daha hafif sürümleri (rxvt, aterm, eterm gibi) bulunur ve tercih edilir.


shutdown -h now
Sistemi durdurur. ATX sistemlerde ayrıca makinayı kapatır.


halt
shutdown -h now ile aynıdır. Sistemi durdurur.


reboot
shutdown -r now ile aynıdır. Sistemi yeniden başlatır.

Devamı... →

Linux'ta Dosya Sistemi

0 yorum

Linux'ta Dosya Sistemi Hiyerarşisi

Microsoft Windows gibi bir başka işletim sisteminden, Linux'a geçen son kullanıcıların en büyük sıkıntılarından biri, dosya sistemleri arasındaki farklardır. Windows konusunda biraz tecrübeli kime sorsanız, Program Files, Windows, System32, Documents and Settings klasörleri hakkında bilgi verebilir. Ancak Unix dünyası farklıdır ve geçiş yapan kullanıcılar, hangi klasörün ne işe yaradığını, hangisinin neyle alakalı olduğunu ilk bakışta çözemez. İşin kötü tarafı, farklı dağıtımlar için, dosya sistem hiyerarşisi değişebilir. Bu yazımızda, Linux Dokümantasyon Projesi (The Linux Documentation Project) tarafından yayımlanmış Linux Dosya Sistem Hiyerarşisini baz alarak, sizlere Linux dosya sistemi hakkında bilgi vereceğiz. Eğer daha çok bilgi almak isterseniz The Linux Documentation Project web sitesini ziyaret etmenizi tavsiye ederim.

Dosya Sistemi Nedir?

Dosya sistemi, işletim sisteminin bir disk veya bölüm (partition) üzerindeki dosyaları takip edebilmesi için oluşturulmuş yöntem ve veri yapıları bütünüdür. Dosya sistemi farklı anlamlar için de kullanılıyor. Örneğin iki diski olan bir kullanıcının "iki dosya sistemim var" dediğini duymuşsunuzdur. Buna şimdilik girmeyelim. Bizi ilgilendiren Linux'taki dosya yapısı...
Linux bir Unix klonudur. Bu yüzden "Tekil Hiyerarşik Klasör Yapısı"nı benimsemiştir. Herşey / (slash) simgesiyle ifade edilen root klasöründen başlar, aşağıya doğru iner. Windows'taki gibi C: D: şeklinde sözde sürücüler (drivers) bulunmaz. Windows ortamında, dosyalarınızı C sürücüsü, D veya E sürücüsü gibi her yere koyabilirsiniz. Bu tarz dosya sistemlerine, "Hiyerarşik Yapı"lı denmektedir.
Linux, / (root) klasöründen başlayarak, boot işlemindeki önem sırasına göre klasörleri dizer. Eğer neden Windows'taki gibi \ (ters slash) işareti yerine, / (slash) işareti kullanıldığını merak edebilirsiniz; bu Linux'un Unix geleneğini takip etmesindendir. Ayrıca bu geleneğe uygun olarak küçük büyük harf duyarlılığı önemli bir konudur. Örneğin Windows'ta KLASOR_ADI ve klasor_adi aynı şeydir; fark etmez. Ama Linux'ta iki ayrı klasörden bahsediyor oluruz.
Windows'ta bir program yüklediğinizde, programa ait dosyaların büyük çoğunluğu kendi klasörüne yüklenir. Örneğin Matlab'i, C:\Program Files\Matlab adresine kurduğunuzda, ona ait yardım dosyaları, bu klasör altındadır. Fakat Linux farklı çalışır; program dökümanlarını /usr/share/doc/program_adi/ altına koyarken, man(ual) dosyaları, /usr/share/man/man[1-9] altına koyulur. Eğer varsa info dosyaları da, /usr/share/info altına atılır. Kısacası, sistem hiyerarşisine gömülen bir yapı söz konusudur. Yüklenen herhangi bir program, işletim sisteminin muhtelif yerlerine yerleşmektedir.
[File Hierarchy]
Linux'un popülerleşmeye başladığı 90'ların ortalarında, dağıtım geliştiriciler, dosyaları yerleştirmek için en uygun gördükleri şekilde çalıştılar; belirli bir standart yoktu. Bu birçok soruna neden oldu. Bu anarşiyi durdurmak için daha sonraları Linux Dosya Sistem Hiyerarşisi (kısaca FSSTND) belirlendi. Bizim anlatacağımız yapı da bu standart dahilinde...
Linux ve dosya sistemiyle ilgili söylenecek çok şey var; ama özet geçip son kullanıcının ihtiyacına cevap vermek daha doğru olur: "Linux'ta hangi klasör ne işe yarar?"

(root) :

Yukarda belirttiğimiz gibi, / (root) işletim sisteminin başlangıç noktasıdır. Bütün diğer klasörler, dosyalar, root'un 'çocuklarıdır'. Bilgisayar başlarken, ilk önce buraya bakılır ve bulunmazsa sistem başlamaz. / (root)ve /root (root kullanıcısına ait klasör) birbirinden ayrıdır. İlerki bölümde farkını açıklayacağız.
FSSTND'a göre root altındaki temel klasörler:

/bin : Olması şart komut dosyalarını içerir
/boot : Başlangıç için gerekli dosyaları bulundurur
/dev : Donanım dosyaları vardır
/etc : Sistem ayarlarını barındırır
/lib : Kütüphane dosyaları ve kernel modülleri bulunur 
/media : Kaldırılabilir aygıtların (CD-Rom, Flash bellek vs...) 
   sisteme eklendiği klasördür.
/mnt : Bir dosya sistemini geçici olarak eklemek için kullanılır. 
/opt : Ekstra programların kurulması içindir
/sbin : Sistemi yöneticisiyle ilgili çalıştırabilir dosyaları tutar.
/srv : Sistemin sunduğu hizmetlerle alakalıdır
/tmp : Geçici dosyaları tutmak içindir
/usr : İkincil bir hiyerarşi 
/var : Değişken verileri saklar
Günümüzde Linux dağıtımlarının büyük çoğunluğu, zaman zaman FSSTND tarafından belirlenmiş klasörlerin dışına çıkabiliyor. Bu tanıma bazen bir iki klasör eklendiğini ya da nadiren bu yapıdan bir klasörün çıkarıldığını görüyoruz. Biz gerek güncel dağıtımları, gerekse FSSTND'yi baz alarak incelememizi yapacağız. Ancak yazımızda FSSTND tarafından belirlenen bütün klasörler olmayacak. Linux dosya sistemi oldukça derin bir konu ve her şeyi anlatmaya kalkarsak, ayrı bir kitapçık yayımlamamız gerekir. Bunun yerine, son kullanıcının daha çok ilgisini çekecek ve genellikle haşır neşir olabileceği klasörleri ele alacağız.

/bin :

İşletim sisteminizi kullanmak için gereken birçok yararlı komut /bin klasörü altındadır. cat, mkdir, cp, ls, mv, rm vb. temel komutların hepsini burada bulabilirsiniz. Sistem boot ettiğinde, ilk olarak /bin klasörü çalışır hâle getirilir. Network bağlantınız olmasa ya da önemli klasörlere bir nedenden dolayı erişemeseniz bile, /bin klasöründeki komutlar n'olursa olsun çalışır. Bir sorun çıktığında, /bin klasörü altındaki komutları kullanarak sistemi onarırız.

/boot :

Boot, işletim sisteminin yüklenme evresidir. /boot klasörü, boot işlemi için gereken her şeyi içerir. Bilgisayarın başlangıç (boot) aşamasında gerekmeyen ayar ve yapılandırma dosyaları burada bulunmaz; başka klasörlerden gerektiği zamanlarda yüklenir.

/dev :

Linux'ta her şey bir dosyadır; donanım aygıtları da öyle... USB girişleri, seri ve paralel portlar, diskleriniz, cd-rom'larınız vb... bütün aygıtlar /dev klasörü altında tutulan dosyalardan ibarettir. Örneğin /dev altında bulunan hda1 dosyası, sabit diskinizi temsil eder. Ya da /dev/dsp, ses aygıtınızdır. Bunları programlar vasıtasıyla kullanırız ancak direk müdahale ekmek mümkündür. Mesela "cat /boot/vmlinuz > /dev/dsp" yazarak Kernel'in sesini duyabilirsiniz.
Bazı Önemli Aygıt Dosyaları:

/dev/ttyS0 : Fare, modem gibi aygıtların bağlandığı seri port. (COM 1)
/dev/psaux : PS/2 girişi; fare ve klavyeler içindir.
/dev/lp0   : Paralel port (LPT 1); yazıcı, tarayıcı vs...
/dev/dsp   : Birincil ses aygıtı
/dev/usb   : USB aygıtları 
/dev/sda   : SCSI aygıtlar, Flash Bellekler, harici CD-ROM'lar vs...
/dev/scd   : SCSI CD-ROM'lar
/dev/js0   : Joystick (Microsoft Türkçesiyle Eğlence Çubuğu) 

/etc :

İşletim sistemini bir vücuda benzetirsek, /etc klasörünü sinir sisteminin merkezi olarak görebiliriz. Sisteme dair bütün yapılandırma, bu klasör veya bu klasörün alt klasörlerinde bulunur. Yapılandırma dosyası, bir programın işlemlerini kontrol etmek için kullanılan lokal bir dosyadır; durağandır ve çalıştırılmak için değildir.
/etc klasörü içersinde bulunan bütün klasör ve yapılandırma dosyalarını tek tek incelememiz mümkün değil. Ancak son kullanıcının işine yarayacak bir ipucu verebiliriz.
Sürekli DNS problemleri yaşayanlar, /etc/resolv.conf dosyasını root olarak açıp, yeni DNS adresleri ekleyebilir. Siz de bu sorunlardan mustaripseniz, root olarak bu dosyayı açıp aşağıdaki satırları dosyanın en başına ekleyin:
nameserver 208.67.222.222
nameserver 208.67.220.220
Verilen adresler OpenDNS adında bir firmaya ait. Telekom'un adresleri yerine bunları kullanırsanız; adres çözümleme problemleriniz geride kalacaktır. Üstelik erişimi engellenen sitelere de girebilirsiniz.

/home :

Zamanında home klasörüyle ilgili hoş bir tanım duymuştum; /home klasörünü kullanıcıların kalesi olarak açıklıyordu. Bu gayet yerinde bir açıklama. /home klasörü içerisinde her kullanıcının kendi adında bir alt klasörü bulunur. Örneğin kullanıcı adınız "ali" ise, /home/ali size aittir ve altında istediğiniz her şeyi yapabilirsiniz; ama yapabilecekleriniz bu klasörle sınırlıdır. /home klasörünü, Windows'taki Documents and Settings'e benzetebiliriz. Ama daha güvenli bir yapıdır. Çünkü Linux'ta bir başkasının ev klasörüne müdahale edemezken, Windows'ta çok zorlanmadan istediğinizi yapabilirsiniz.
[Filelight]

Filelight : Klasörlerin kapladığı boyutları gösteren bir yazılım.

/initrd :

initrd, initial ramdisk kısaltmasıdır. Aşağı yukarı anlamı Başlangıç Bellek Diski oluyor. Boot aşamasında ilk önce çekirdek (kernel) yüklenir. Bundan sonra bilgisayarınızın belleğinde bir Bellek Diski oluşturulur. Oluşturulan Bellek Disk üzerinde / (root) yansısı açılır ve kök dizin olarak monte edilir. /initrd bu işlemlerin yapılması ve Linux'un yüklenmesi için gereklidir.

/lib :

Kernel modülleri ve paylaşılan kütüphane dosyaları bu klasörde bulunur. Var olan çekirdek modüllerini /lib/modules/[versiyon_numarasi] içersinde bulabilirsiniz. Bahsedilen kütüphane dosyalarıysa, sistemi başlatmak ve /bin ile /sbin içersindeki komutları çalıştırmak için gereklidir. Paylaşılan kütüphane dosyalarını, Windows'ta DLL (Dynamically Linked Library) ile eş tutabiliriz. Linux'ta kütüphane dosyalarının sonu ".so" ile biter.

/lost+found :

İngilizce bir terim olan Lost and Found, kayıp eşya bürosu demektir. /lost+found klasörünün yaptığı işi düşününce, bundan uygun bir isim herhalde olamazdı.
Bazen sistemimizde bir problem olur; yanlış kapatırız, elektrik gider, durup dururken bilgisayar yeniden başlar vs... Bu gibi durumlarda Linux'ta fsck (File System Check) komutu devreye sokulur. fsck, Windows'taki Scandisk programına benzetilebilir. Düzeltilemeyen bir sorun varsa, bağlantıları kopmuş kayıp dosyalar ortaya çıkmışsa, bunlar /lost+found altına atılır. Bağlantı kopması, inode gibi konulara girmek istemiyorum; biraz karmaşık. Kısaca özetlersek; kötü bir sistem kapanmasından sonra, olması gereken bazı dosyaları bulamıyorsanız, kayıp eşya bürosuna bakmanızda yarar var.

/media :

CD-Rom, disket sürücü, flash bellek gibi çıkarılabilir aygıtlar buraya bağlanır. En basit tanımla, çıkarılabilir aygıtların, bağlantı noktası (mount point) olarak düşünebilirsiniz.

/mnt :

/media klasörüne benzer. Temel farkı; çıkarılabilir aygıtlar yerine, dosya sistemleri veya donanım aygıtları için kullanılıyor oluşudur. Bağlama (mount) işlemi, herhangi bir dosya sistemini, işletim sisteminin kullanmasını sağlar. Nereye bağladığınız sizin tercihinizdir. Yani bir diski, /media veya /mnt klasörüne ya da bir başka yere bağlamanız fark etmeyecektir. Sadece genel kabul görmüş bazı bağlantı noktaları bulunuyor; /mnt klasörü de onlardan bir tanesi.

/opt :

Dağıtımdan bağımsız ekstra yüklenen paketler için /opt klasörü kullanılmaktadır. Örneğin Google Earth programını indirip kurmak istediğinizde, 'default' olarak kurulacağı nokta, /opt/google-earth adresidir.
Elbette ki bunu değiştirebilir ve size uygun gelen bir başka konuma yükleyebilirsiniz. Ancak daha önce söylediğimiz gibi bazı şeyler genel kabul görmüştür. Ekstra yüklenen yazılımların, /opt adresine atanması da buna bir örnektir. Windows'taki C:\Program Files'i hatırlayalım;. programları buraya kurmak zorunlu değil; ama hemen hepsi buraya kuruluyor. Aynı mantık burada da geçerli.

/proc :

/proc oldukça özel sanal bir dosya sistemidir. Bizim bildiğimiz anlamda fiziksel dosyalar bulundurmaz; sistem durumuna dair bilgi içeren sanal dosyaları vardır. Örneğin "cat /proc/swaps" yazarak sisteminizdeki takas dosyalarına dair bilgi alabilir ya da "cat /proc/cpuinfo" komutuyla işlemcinizin özelliklerini görebilirsiniz.
/proc klasörü içersindeki dosyalar, sadece sistem durumunu görüntülemek için kullanılmaz; gerektiğinde ayarlamak için de kullanılabilir. Fakat son kullanıcılara hitap etmediğinden, bu konuyu burada keselim.

/root :

Unix'in ilk versiyonlarında root kullanıcısının kendine ait bir ev klasörü yoktu. Direkt olarak / (root klasörü) altında çalışırdı. Fakat zamanla bunun iyi bir yöntem olmadığı anlaşıldı ve root kullanıcısının ayrı bir klasöre sahip olması gerektiğine karar verildi. Diğer kullanıcılardan farklı olduğu için root'un ev klasörü /home altında tutulmaz; ayrılması için /root klasörü altındadır.

/sbin :

Linux'ta normal kullanıcının kullanabileceği komutlarla, sistem kullanıcısının kullanabileceği komutlar ayrılmıştır. root tarafından kullanılacak bakım ve yönetim için kullanılan önemli programlar, /sbin altında tutulur. Daha az öneme sahip yönetim komutlarıysa, /usr/sbin klasöründedir. Eğer lokalde, yani kullandığınız makineye özgü yönetici (root) komutları bulunuyorsa, bunları da /usr/local/sbin altında bulabilirsiniz.

/usr :

/root kullanıcısına benzer bir hikaye /usr için de söz konusudur. Unix ilk çıktığında, kullanıcılara ait ev klasörleri, /usr altında tutulurdu. Örneğin cagatay isimli bir kullanıcının ev klasörü /usr/cagatay şeklindeydi. Bu yöntem zamanla değişti ve /home klasörü doğmuş oldu. /usr klasörü hâlâ çok önemli bir yapıdır ve işletim sisteminizde kullandığınız her şeyle ilişkisi bulunur.
/usr klasörünün önemi, yüklediğiniz programların buraya atılmasından kaynaklanır. /opt adresi işletim sistemi dışında gelen 3.parti programlar içindir. Fakat işletim sistemi aracılığıyla ya da paket yönetim sistemlerini kullanarak yüklediğiniz her şey, /usr altına aktarılır. Aynı zamanda yüklediğiniz programların çalışmak için ihtiyaç duyacağı kütüphane dosyaları, /usr/lib altındadır.
/usr ile ilgili söylenebilecek bir başka nokta da, local klasörüdür. Linux, sunucu olarak çok istemciye hizmet verebilecek bir işletim sistemidir. Bir Linux sunucu (server) kurarsanız, ona bağlanan yüzlerce istemci (client) olabilir. Her istemci bilgisayara, /usr altındaki programların ayrı ayrı yüklenmesi gerekmez; bir başka konumdan bu komutları çalıştırabilirsiniz. Ancak /usr altında bulunan local klasörü sadece kullandığınız makineye özeldir. Örneğin /usr/local/bin klasörü içinde bulunan bütün komutlar, direkt olarak kullandığınız makineye yüklenmiştir. /usr/bin komutları ise geneldir ve bir ağ üstündeki bütün makinelerden erişilebilir. local gördüğünüzde, bunun sadece sizin makinenize özel olduğunu bilin.

/var :

Log dosyaları, e-mail ve printer kuyrukları gibi değişken sistem bilgilerini barındırır. Sisteminize dair tutulan log'ları buradan görebilir; güvenlik durumunu buradan kontrol edebilirsiniz.

/tmp :

Geçici dosyalar içindir. Birçok program, burayı geçici depolama alanı olarak kullanır. /tmp klasörünün içeriği genellikle KB'lar mertebesinde kalır ve genellikle işletim sistemi yeniden başlarken içindeki dosyalar silinir. /tmp klasörü altında bulunan dosyaları, ne yaptığınızdan emin değilseniz, kesinlikle silmemelisiniz! Sistem genelinde olmasa bile, program bazında problemler çıkabilir. Örneğin açık bir soket dosyasını sildiğinizde, onu kullanan programa ve kendinize sorun çıkartabilirsiniz.
Linux (ya da Unix diyelim) dosya sistemi oldukça özel bir yapı. İlk bakışta insanın gözünü korkutuyor, bunu kabul ediyorum. Ama fobinizle yüzleşip, temel prensipleri öğrendiğinizde oldukça sistemli bir yapının içerisinde olduğunuzu fark ediyorsunuz. O yüzden fobinizle kesinlikle yüzleşmenizi tavsiye ederim.
http://www.cagataycebi.com/linux/file_system/file_system.html


Devamı... →
 
View My Stats