İPUCU

Linux Linux İle İlgili Bilgi Paylaşım Platformu

Seçenekler

Linux Dosya Sistemi / InSpy

InSpy - ait Kullanıcı Resmi (Avatar)
Moderatör
Üyelik tarihi:
03/2019
Nereden:
C:\
Mesajlar:
987
Konular:
14
Teşekkür (Etti):
348
Teşekkür (Aldı):
177
Ticaret:
(0) %
06-05-2019 17:57
#1
Linux Dosya Sistemi / InSpy


Merhaba, sizlere bu konumda biraz Linux'tan bahsedeceğim.

Linux Dosya Sistemi Hiyerarşisi

Dosya Sistemi Hiyerarşisi; sistemin, dosyaları diskte tutabilmek için kullandığı
yapılar ve yöntemlere verilen isimdir. Yani bir anlamda "dosyaların diskteki düzenidir"
diyebiliriz
.

Diğer sistemlerde olduğu gibi Linux'ta da, disk kendine isim verilmiş bir
takım bölgelere ayrılıyor. Bu isimlendirilmiş bölgelere dizin "directory" denilmektedir. Bir
dizin içine konu ile ilgili çok fazla dosya konulabilir. Bir dizin başka bazı
dizinlerde içerebilir. Bir dizinin içerdiği bu dizinlere, o dizine ait alt dizin "subdirectories" denilir.


Linux'ta, diskteki diğer dizinleri içeren dizine kök "root" adı verilir. Bir
disk içerisinde sadece bir tane kök dizin bulunabilir. Kök
dizine ebeveyn dizini "parent directory" denilir. Kök dizin altındaki alt dizinlerde
kendilerine bağlı alt dizinler içerir ve bu yapı belirli bir derinliğe kadar sürebilir. Kök
dizin ve onun altındaki alt dizin guruplarından oluşan yapıya ağaç yapısı "tree structure" denilmektedir.



Kök Dizini

Kök dizini diğer tüm dizin ve dosyaları içeren dizindir. Kök dizinini içeren disk
bölümü sistemi tek kullanıcılı açmak için gerekli tüm dosyaları içinde barındırır.



Biraz'da içindeki dizinlerden bahsedelim.

/bin: Tüm kullanıcıların kullanabileceği komutları içerir.



/boot: Açılış sırasında kullanılan dosyaları içerir.



/dev: Donanım dosyalarını içerir.



/etc: Yapılandırma dosyalarını içerir. Hani bazı config ayarları için girersiniz ya o bölümdür kendisi.



/home: Ev dizinidir. Çalışmalarınız belgeleriniz resim, müzik, video vb buraya kayıt edilir.



/lib: Çekirdek modüllerini ve kod parçacıklarını içerir. windows'ta dll linux'da so uzantılı dosyalardır.



/mnt: Sürücülerin bağlama bilgileri burada bulunur.



/proc: Sistem belleği, bağlı aygıtların yapılandırma bilgilerini içeren sanal dizindir.



/root: Sistem yöneticisinin ana-ev dizinidir.



/usr: Tüm kullanıcılar tarafından paylaşılan dökümanlar, komutlar, araçlar gibi verileri içeren dizindir.



-/usr/bin: Root olmayan yani normal kullanıcılar tarafından kullanılan komutlar.
-/usr/sbin: Sistem tarafından kullanılan sistemin açılması, kapanması ve tek kullanıcılı modda çalışması ile ilgili olamayan programlar.
-/usr/lib: Programlama için kullanılan kütüphaneler.
-/usr/include: C/C++ için kullanılan başlık dosyaları.
-/usr/doc: Dökümanların dizini.
-/usr/man: Man dosyaları.



/var: Değişken verileri içerir. database, kuyruk, rapor dosyaları vb.

-/var/lock: Çalışan araçların yarattığı kilit dosyaları. "Bir şey indireceğimiz bazen bazen kilit alınamadı hatası alırız" orasıdır işte.
-/var/log: Log dosyaları
-/var/run: Sunucuların bilgilerini içeren dosyalar.
-/var/tmp: Windows'ta temp gibi geçici dosyaları içeren dizin.
-/var/yp: Network Information Service "NIS" dosyalarını içerir.
-/var/spool: Kuyruk dosyaları.

/tmp: Geçici dosyaları içerir. Silmek bazen sistemin sağlığını bozabilir.



Ana Dizin

Linux her kullanıcı için o kullanıcıya ait olan bir ana dizin "home directory"
sağlar. Bu dizinin içinde kullanıcıya ait çeşitli dosyalar bulunabilir ya da kullanıcı
bu ana dizin içerisinde başka alt dizinler oluşturabilir. Bir kullanıcının home dizinin nerede
açılacağı sistem tarafından belirlenir ve kullanıcı tarafından bu yer değiştirilemez.
Bir kullanıcının ana dizini içine normal olarak diğer kullanıcılarda girebilir;
kullanıcıya ait dosyaları okuyabilir ve kopyalayabilir. Sadece dosyalar üzerinde değişiklikler
ve dosyaları silme işlemini gerçekleştiremezler.



Başka kullanıcıların dosyalarınıza ulaşmasını istemiyorsanız kısıtlama getirebilirsiniz.
Fakat root kullanıcısının güvenli birisi olması önemli. Sistem yöneticisi dosyalarınızda kilitli olsa dahi silme, değiştirme, kopyalama vb yapabilir

Dosya Tipleri

Linux'ta 7 adet dosya tipi vardır. Solaris'te 8 adet.

"-" ile gösterilenler normal dosyalardır. ".txt, .log, .cfg, .ini vb"
"d" ile gösterilenler dizinlerdir.
"c" ile gösterilenler "character device file" olarak adlandırılan dosyalardır. Donanım sürücülerine erişim sağlayan basit arayüzlerdir.
"b" ile gösterilenler "block device file" olarak adlandırılan dosyalardır. Harddisk, ram gibi birimlere erişmede kullanılırlar.
"s" ile gösterilenler "local socket file" olarak adlandırılan dosyalardır. İşlemler arasında haberleşmek için kullanılırlar
"p" ile gösterilenler "named pipe file" olarak adlandırılan dosyalardır. Bunlarda işlemler arasında veri göndermek için kullanılır.
"l" ile gösterilenler "symbolic link" olarak adlandırılan dosyalardır. Bu dosyalar root kullanıcısı birden fazla dosya üretebilir.
"D" ile gösterilenler "door file" olarak adlandırılan dosyalardır. Bu dosyalar bir istemci ile sunucu arasında haberleşmede kullanılan dosyalardır.

Dosya ve Dizin İşlemleri

mkdir: Directory yani dizin ve klasör oluşturma görevini yapar.
Bir tane dizin oluşturalım.

komut: mkdir turkhackteam



İç içe dizin oluşturmak için: mkdir -p dizinadı



Oluşturduğumuz dizine bakalım.

Komut: ls -l



Dizini silmek için: rm -rf dizin adı veya rmdir dizin adı



Dosya taşımak için mv komutunu kullanabiliriz.

Komut: mv tht.txt /root/Downloads



Touch: Yeni bir dosya oluşturmaya yarar.

Komut: touch tht.txt



cp: dosyaları belirtilen yere kopyalamayı sağlar.

komut: cp dosya adı kopyalanacak dizin Örnek: cp tht.txt /root/Masaüstü



Dosyaların inode numaralarına bakalım.

komut: ls -lai

Dizinlere, dosya sistemlerine, partisyonlara Hard link oluşturulamaz. Inode numaraları her dosya sisteminde ve partisyonda eşsizdir bu yüzden oluşturulamaz.
HardLink oluşturulduğu zaman dosyalar birbirine bağlı olacaktır. Birini değiştirseniz diğeride değişecektir.



Şimdi HardLink oluşturalım.

Komut: ln dosyaadı hlinkadı Örnek: ln tht.txt hlink



stat komutu ile inceleyelim kaç bağ gözüküyor.

Komut: stat dosyaadı hlinkadı Örnek: stat tht.txt hlink
Links yazan yerde 2 ve üzeri rakam görüyorsanız sıkıntı yoktur.



SoftLink / Sembolik link oluşturalım şimdi.

Komut: ln -s dosyaadı linkadı Örnek: ln -s tht.txt slink



Tekrar ls -li komutu ile inode numarasına baktığımız'da aynı olmadığını görüyoruz. İki dosya birbirinden bağımsız demektir. Yinede hedef olarak o dosyayı gösterdiğimiz için bağlanabiliriz.
Sembolik linkler bağ oluşturmaz yol gösterir. Orjinal dosyayı silersek bir şey olmayacaktır. Sembolik linkin gösterdiği isimle yeni bir dosya oluşturursak, sembolik link onu işaret edecektir.



Dosya Okuma ve Düzenleme

Burası gayet basit linuxun içindeki metin editörleri işimizi görüyor. Misal kalide leafpad var. Dosyaları okumak için metin editörlerini kullanabilirsiniz.

Örnek komut: leafpad /etc/ettercap/etter.dns

Nano ile de açabilirsiniz.

Örnek komut: nano tht.txt





Veya gedit editörle açarsınız.

Örnek komut: gedit tht.txt

Dosya ve Dizin Arama

whereis: Bu komut bize komutların dosya konumunu bulmamızı sağlıyor. Linux sistem'de her şey dosyadır.
Örnek: whereis nano



which: Bazı komutların/araçların dosyaları birden fazla yerde bulunabilir. which ile hangisini kullandığınızı görebilirsiniz.
Örnek: which google-chrome



locate: Sistemde adını bildiğiniz bir dosya var, siz ne yaptıysanız bulamadınız. locate komutu ile bulunabilir. locate -i dosya adı yazarak, büyük küçük harf duyarsız yapabilirsiniz.
ne kadar alakalı dosya varsa hepsinin yolunu gösterir.
Örnek: locate -i ettercap



find: Bu komut gerçek zamanlı tarama yapar, o yüzden bulması locateye oranla uzun sürer. Çok fazla tarama seçeneği vardır.

İsim ile tarama yapmak için: find / -name "tht.txt"
Girilen isimdeki tüm dosyaları listelemek için: find / -name "*tht.txt*"
Büyük küçük harf duyarsız arama için: find / -iname "tht.txt"
Belirli dizinde arama yaptırmak için: find /etc -name "tht.txt" (etc yazan yere taramak istediğiniz dizini yazın)



du: Bu komut dizinlerdeki dosyaların ne kadar alan kapladığını gösterir.
MB olarak göstermek için: du -BM
Anlaşılır bir biçimde göstermek için: du -h
GB olarak göstermek için: du -BG
Belirli dosya türünü dışlayarak göstermek için: du -cbha –exclude="*.mp4"
İç içe geçmeden teker teker göstermek için: du --max-depth=1 -c -h -x /
Gizli dosyalar dahil göstermek için: du -sh .[!.]* * | sort -n
Bir dizindeki dosyaları tek tek göstermek için: du -ca /Dosya/Konumu
Tüm dosyaların kullanımını göstermek için: du -a /Dosya/Konumu





Dosya ve Dizin İzinleri

Gelelim dosyaların sahipliğini değiştirmeye. Chown kullanarak sahiplik değiştireceğiz.
Konunun başlarında oluşturduğum <turkhackteam> dizininin içindeki <tht> klasörünün sahipliğini değiştiriyorum.
Komut: chown "yeni sahip" "dosya adı"
Örnek komut: chown casper tht





Klasör sahibini değiştirdik, grup değişmedi neden? chgrp komutu ilede grubu değiştireceğiz.
Komut: chgrp "grup adı" "dosya adı"
Örnek komut: chgrp casper tht





İzin vermek istediğimiz dizine; chmod +x ile tüm izinleri verebiliriz.

Şöylede izin verebiliriz: chmod u+rwx ne verdik burada? (read - okuma) -r (write - yazma) -w (execute - çalıştırma) -x



Arşivleme(TAR)

Tar ile arşivlemeye gelelim. Hangi klasörü / dosyayı tar ile arşivlemek istiyorsanız terminalde açıp; (tar -cvf arşivismi.tar dosyaadı) olarak
yazın.

Örnek: tar -cvf thtdeneme.tar unicorn





Tar uzantılı dosyayı açmak için; tar -xvf dosya.tar



Tar.gz ile sıkıştırmak için; tar -zcvf arşivadı.tar.gz dosya adı





Tar.gz uzantılı dosyayı açmak için; tar -zxvf dosya.tar.gz




---------------------
15.12.2017
Solo-Türk

Kendini küçük görmeyi bırak. Sen yürüyen evrensin.



Konu InSpy tarafından (06-05-2019 18:22 Saat 18:22 ) değiştirilmiştir.
TuranAlemdar, CYANİD, CassPort Teşekkür etti.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

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