İPUCU

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

Seçenekler

Linux Dosya Sistemi //WhiteRed

"P4RS - ait Kullanıcı Resmi (Avatar)
Green Team (Deneyimli)
Üyelik tarihi:
01/2017
Nereden:
Balkes
Yaş:
18
Mesajlar:
3.397
Konular:
270
Teşekkür (Etti):
459
Teşekkür (Aldı):
1002
Ticaret:
(0) %
25-05-2019 00:44
#1
Linux Dosya Sistemi //WhiteRed
Merhabalar TürkHackTeam ailesi, bugün sizlere Linux Dosya Sistemini anlatacağım. Konumu çok uzun tutmadan anlatmaya çalışacağım.



Konu Başlıkları

• Dosya Sistem Hiyerarşisi” (FSSTND)
a) /bin
b) /boot
c) /dev
d) /usr
e) /var
f) /etc
g) /lib
h) /media
i) /srv
j) /tmp
k) /opt
l) /proc
m) /root
• Dizin Oluşturma
• Dosya Oluşturma
• Dosya Taşıma
• Dosya Kopyalama
• Soft Link ve Hard Link (Bağlantı Oluşturma)
• Dosya Okuma
• Dosya Düzenleme(İzinleri)
• Dosya ve Dizin Arama
• Arşivleme(tar)



Öncelikle genel olarak çoğumuz Windows kullanmaya alışığız. Bilgisayarlarımızda varsayılan işletim sistemi olarak Windows gelmektedir. Windows’lar da kullana kullana dosya sistemlerini öğrendik. Mesela “Program Files, PerfLogs, Kullanıcılar” tarzında dosya sistemi bulunmaktadır. Fakat Linux’a geçtiğimizde biraz garip bir dosya sistemi var. Linux dağıtımları arasında ufak tefek farklılıklar olsa da genel olarak birbirlerinin aynısı dosya sistemi vardır.
Linux’ta her şey “ / “ (slash) ile başlar. “ / “ ifadesinin altında dallanarak genişler. “ / “ root klasörüdür yani Windows’ta ki “Administrator” olarak anlatabiliriz. Windows’ta ki “C: , D:” gibi diskler bulunmamaktadır bunun yerine birazdan anlatacağım dosya sistemi bulunmaktadır.
Linux’ta dosyalar ilk kullanılmaya başlandığı zaman oldukça karmaşık bir şekildeydi. (90’lı yıllarda ki sistemden bahsediyorum.) Bunun önüne geçmek için “Dosya Sistem Hiyerarşisi” (FSSTND) geliştirildi.

Dosya Sistem Hiyerarşisi” (FSSTND)

Root dosyası altında birçok dosya vardır. Bunlar;
/bin
/boot
/dev
/usr
/var
/etc
/lib
/media
/sbin
/srv
/tmp
/opt


Temel klasörlerdir. Şimdi bu klasörler nedir ne değildir buna bakalım.

/bin



Linux sisteminde birçok komut bu klasöründe barınmaktadır. Nasıl yani derseniz, “mkdir,cat” gibi komutlar burada depolanır. Sistemimizde ne tür bir sorun olursa olsun yine de burası çalışmaktadır. Herhangi bir sorunda burada ki komutlar ile sistemimizi tamir edebiliriz.

/boot



Sistemin önyükleyicisidir yani sistemin yükleyicisidir. Burada sistem ile alakalı temel veriler bulunur.(önyükleyici yapılandırması, sistem görüntüsü vb.) Adından da anlaşılacağı gibi Boot işlemi için gereken dosyalar/veriler buradadır.

/dev



Dev dosyası aygıtlarla alakalı bütün bileşenleri içerisinde barındırır. (CD-ROM, USB giriş verileri, depolama verileri.) Burada ki dosyaları manuel olarak değiştirebiliriz isterseniz yardımcı uygulamalar yardımıyla da değiştirebilirsiniz. Burada ki veriler silinirse MAKEDEV ile tekrar geri getirebilirsiniz.

/usr



Sistem dosyaları burada depolanır. Yeni bir dosya kurulacaksa direk buraya kurulum yapılır. Burada ki bazı alt klasörler şu şekildedir;

Lib: Kütüphane ile ilgili dosyalar
Man: man dosyaları(komut yani)
Doc: Doküman vb. dosyaların bulunduğu kısım
Sbin: sbin dosyası disk yönetimi, ağ yönetimi, sistem özellikleri ilgili dosyaların bulunduğu klasördür.
Bin: Temel programların bulunduğu klasördür.


NOT: sbin ve bin arasında ki fark sbin klasöründe süper kullanıcının (root) çalıştırabileceği uygulamalar olmasıdır.

Src: src Linux kabuğunu oluşturan kodları barındırır.

/var



Log dosyaları burada tutulmaktadır. Burada ki dosyalar değişkenlik gösteren dosyalardır. Kısa süreli bilgi gibi düşünebilirsiniz.

/etc



İşletim sisteminde ki bütün ayarları/verilerin depolandığı yerdir. Burada klasörler olarak her şey ayrılır fakat içlerinde sadece txt dosyası vardır. Çalıştırılamaz (txt dosyası sonuçta )

/lib



Kabukta ki (Çekirdek) dosyaların bulunduğu kütüphanedir. Bunlar Windows sistemlerde ki “.dll” dosyalarla aynı işlevlerdedir. Burada ki dosyaların uzantısı “.so” dur.



/media



Media klasöründe çıkarılabilir (CD-ROM, USB) cihazların geçici irtibat noktasıdır. Sisteme bir geçici bellek bağlandığında gözükür fakat çıkardığınız taktirde gözükmez.

/srv



Srv dizinin de http-ftp verileri bulundurur. Sistem de oluşturulan siteye özgü verileri barındırır.

/tmp



Geçici dosyaların bulunduğu dizindir. Burada ki dosyalar ne kadar geçici olsa da burada ki işlemleri bilmiyorsanız silmemenizi öneririm zira sistem dosyalarında ki değişiklikleri silebilirsiniz.

/opt



İşletim sisteminden ayrı olan uygulamaların kurulduğu yerdir. Yani 3. Parti yazılımlardır. Bu kurulum yeri varsayılan yerdir sizler isterseniz indirdiğiniz uygulamanın konumunu değiştirip istediğiniz yere yükleyebilirsiniz.

/proc



Bu dizin ise “Sanal Bilgi Alma Merkezi” olarak tanımlayabiliriz. Sistem hafızası, bağlı cihazlar vb. uygulamaların bilgilerinin bulunduğu “sanal” dosyadır. “cat” komutunu kullanırken genellikle burada ki bilgileri alarak bizlere sunar.



Devices: Çalışan kabuk içerisinde ki aygıt sürücülerini gösterir.



Filesystem: Çalışan kabuk içerisinde ki uygulamaları gösterir.



Cpuinfo: Kullanmış olduğumuz işlemci, RAM miktarını vb. sistem özelliklerini gösterir.




/root



Başlangıçta süper kullanıcı yani root tüm yetkilere sahip olduğundan bahsetmiştim. Bu süper kullanıcıların “ev dizini” olarak tanımlanan bölümü “/root” dizinidir.

Dizin Oluşturma

Mkdir Komutu




Mkdir komutu ile dizin oluşturabiliriz. Cd komutunda da söylediğim gibi dizinler dosyalarımızın kurulu olduğu mesela root dizini vb. bizler de dizin oluşturabiliriz. Bunun için de mkdir komutunu kullanacağız.





Kod:
mkdir Tht
isimli bir dizin oluşturacağız.




Dosya Oluşturma

Touch Komutu

Touch komutu ile istediğimiz bir dizinde istediğimiz dosya türünden oluşturabiliriz. Dosyamız boş olarak oluşacaktır.




Kod:
touch Desktop/tht.txt
komutu ile Desktop(Masaüstün)’ta “tht.txt” isimli bir txt dosyası oluşturacağız.




Gördüğünüz üzere “tht.txt” dosyası oluşturuldu. Bunu .py dosyası olarakta ya da normal bir dosya olarakta oluşturabilirsiniz. Fakat şunu unutmayın hangi dizinde oluşturacağınızı belirtiniz.

Dosya Taşıma

Mv Komutu



Mv komutu “Move” demektir yani taşımak anlamına gelmektedir. Bu komutumuz sayesinde bir dosyayı bir dizinden ya da bir dosyadan başka bir dizine/dosyaya taşımamıza yaramaktadır.



Kod:
mv Desktop/tht.txt THT.txt
burada neden THT.txt yazdığımızı sorarsanız taşıdığımız da dosyamızın ismi değişecektir. Değişecek olan dosyamızın yeni ismini yazıyoruz. Bir konum belirtmediğim için şu an da olduğum dizine kopyaladı yani /home/whitered dizinine



Dosya Kopyalama

Cp komutu



Cp komutu adı üstünde Copy yani bir dosyayı kopyalamaya yarayan komuttur. Bu komut ile istediğiniz dosyayı istediğiniz dizine kopyalayabilir ve ismini değiştirebilirsiniz.



Soft Link ve Hard Link (Bağlantı Oluşturma)

ln ve ln-s Komutları

ln komutu dosyalar arası köprü(bağlantı oluşturma) oluşturmak için kullanılan bir komuttur. Bu komutu neden kullanalım derseniz diyelim ki diskinizde alan azaldı ve bir şeyler eklemek istiyorsunuz. Bu komut ile dosyayı bağlantı oluşturarak (bu oluşturulan bağlantılar dosya boyutu olarak çok küçüktür içinde ki veriler ne kadar olsa da) sizlere kullanımda kolaylık sağlamaktadırlar. Kullanıma geçelim



Kod:
cd Desktop
diyerek masaüstü dizinine giriyoruz.(Siz istediğiniz dizine girebilirsiniz benim kullanacağım dosya masaüstünde olduğu için buraya girdim.)



Kod:
ln dosyaadı bağlantıoluşturulacakdosyanınadı
bu şekilde kullanacaksınız.
Kod:
ln THT deneme
ben bu şekilde kullandım.



Gördüğünüz gibi masaüstünde dosyamız oluştu. Şimdi içine bakalım.





Gördüğünüz gibi içinde ki yazılanlar aynıdır. Şimdi ana dosyayı silelim ve oluşturduğumuz bağlantı dosyasında bir değişiklik olacak mı buna bakalım.



Kod:
rm THT
diyerek THT dosyasını sileceğiz.



Gördüğünüz gibi oluşturduğumuz bağlantı dosyası silinmedi.


ln-s Komutu

ln komutu ile pek bir farkı yok sadece bu komutta ana dosyamızı siler isek oluşturduğumuz bağlantı dosyamız kullanılamaz hale gelecektir.



Kod:
ln –s anadosya bağlantıolarakoluşturulacakdosya
şeklinde yazılacaktır. Ben
Kod:
ln-s deneme THTdeneme
olarak yaptım.



Gördüğünüz gibi dosyamız oluştu. Bir de içlerine bakalım;





Gördüğünüz gibi herhangi bir fark bulunmamaktadır. Şimdi ana dosyamızı silmeyi deneyelim.



Kod:
rm deneme


Dosyamızı sildik ve bağlantı dosyamıza tıkladığımızda kullanılamadığından Çöp tenekesine taşınacağını söylüyor.

Benim masaüstünde “THT.txt” isimli bir txt dosyam var. Bu dosyayı kopyalamak için
Kod:
cp THT.txt denem.txt
kodu ile “denem.txt” isimli bir kopya ile masaüstüne kaydedeceğim. Burada önemli olan kısım benim ilk başta
Kod:
cd Desktop
diyerek masaüstü dizinine giriş yapmam. Eğer giriş yapmaz iseniz dosyanızı bulamayacak ve kopyalama işlemini yapamayacaktır.



Gördüğünüz gibi “denem.txt” isimli txt dosyası oluşturduk.

Dosya Okuma

cat Komutu



cat komutu bir dosyanın, metnin içerisinde neler olduğunu görmemiz için kullanılmaktadır. Ek olarak bir dosyanın içinde ki yazıyı diğer metnin içine gönderebilirsiniz. Biz ilk olarak temel “cat” komutuna bakalım daha sonra alt parametrelerine bakalım.



Kod:
cat dosyanızınismi
olarak yazmalısınz.



Görmüş olduğunuz gibi metnin içerisinde ki bütün yazılar ekranımıza geldi.

cat –b Parametresi

Bu parametre sayesinde metnimizin ya da dosyamızın içinde ki veriler sıralı bir şekilde başlarında numara alarak karşımıza gelmektedir.



Kod:
cat –b dosyaismi
olarak yazıyoruz.




cat –e Parametresi

Bu parametre ile verilerimizin sonlarına $ işareti konuluyor(İngilizce de olmayan harfler bizde ki ü-ö gibi harfleri de editlemektedir.)



Kod:
cat –e dosyaadı
olarak yazıyoruz.



Gördüğünüz gibi sonuna $ işareti konuldu.

Verileri birleştirme (>>)

Bu parametre sayesinde 2 farklı veri dosyasında ki verilerimizi tek bir dosya içine toplayabiliriz.



Kod:
cat ilkdosya >> ikincidosya
olarak yazıyoruz.(İkinci dosya da verilerimiz toplanacaktır bilginiz olsun.



Kod:
cat ikincidosya
yazıyoruz ve dosyamızda ki verilerimize bakıyoruz.



Gördüğünüz gibi verilerimiz ikinci dosyamızda birleştirildi.


more Komutu



more komutu da cat komutu gibi dosyamızın içinde ki verilerimizin okunması için kullanılır.



Kod:
more dosyaismi
olarak yazıyoruz.



Gördüğünüz gibi arkadaşlar metin belgesinde ki verilerimiz karşımıza geldi.

Dosya Düzenleme(İzinleri)

Chmod Komutu



Arkadaşlar chmod komutu diğer komutlara nazaran biraz daha karmaşık bir komuttur. İlk öncelikle nedir ondan bahsedeyim; Linux kullanıcılarının dosyalara erişim haklarını belirlemek için kullanılan bir komuttur.

2 : w => Yazma izni
4 : r => Okuma izni
1 : x => Çalıştırma izni


Chmod Örnekleri;

rwx : Okuma, yazma ve çalıştırma erişim izinlerinin hepsi var.
rw- : Okuma ve yazma izinleri var, çalıştırma için iziniziz yok.
r-x : Okuma ve çalıştırma izinleri var, yazma için iziniziz yok.
wx : Okuma için izin yok, yazma ve çalıştırma izinleri var.
–x : Sadece çalıştırma hakkı var.
-w- : Sadece yazma hakkı var.
r– : Sadece okuma hakkı var.
— : Hiçbir erişim hakkı yok.


Şimdi bir dosya da izin olup olmadığını nasıl anlarız derseniz
Kod:
ls –all dosyaismi
olarak yazdığınız da dosyanın yetkileri çıkacaktır.





Mesela izinleri karşımıza çıktı.



Kod:
chmod 000 dosyaismi
olarak yazdığımız da hiçbir hakkı yok demektir. Yani ne okuma ne yazma ne de görüntüleme hakkı.



Kod:
chmod 001 dosyaismi
olarak yazdığımız da okuma ve yazma hakkı yok fakat çalıştırma hakkımız olmuş oluyor.



Kod:
chmod 010 dosyaismi
olarak yazdığımızda okuma izni yok, çalıştırma izni yok fakat yazma izni vardır.



Kod:
chmod 011 dosyaismi
olarak yazdığımızda okuma izni yok fakat yazma ve çalıştırma iznimiz vardır.



Kod:
chmod 100 dosyaismi
olarak yazdığımızda okuma izni var fakat yazma ve çalıştırma iznimiz olmuyor.



Kod:
chmod 101 dosyaismi
olarak yazdığımız da okuma ve çalıştırma iznimiz vardır fakat yazma iznimiz yoktur.



Kod:
chmod 110 dosyaismi
olarak yazdığımız da okuma ve yazma iznimiz var fakat çalıştırma iznimiz yoktur.



Kod:
chmod 111 dosyaismi
olarak yazarsak eğer bütün yetkiler vardır.

Chown Komutu



Chmod komutu bir dosyanın izin sistemini değiştirmek için kullanılan komuttur. Bu komut ile diğer user’lar arasında dosyayı kullanabilme,yönetebilme yetkisine sahip olursunuz.



Kod:
chmod kullanıcıadı dosyaadı
olarak yazıyoruz. Hangi kullanıcıya yetkiyi vermek isterseniz o kullanıcı adını yazmanız gerekmektedir.



Umask Komutu



Umask komutu izin kısıtlama olarak kullanılan bir komuttur. Linux sistemlerde dosya ve dizinleri default izinleri vardır. Bu izinler umask’ta 022 olarak belirlenir.



Bu şekilde görebilirsiniz. Bu numara sistemi chmod’da anlattığım “x,r,w” olayından geliyor. Biz bu değerleri değiştirebiliriz onu da şöyle yapacağız;



Kod:
umask değer
olarak yazacağız.

Mesela bir dosya ve dizin oluşturalım;



Kod:
touch dosyaismi 
mkdir dizinismi 
ls –l
olarak yazıyoruz ve izinlerine bakıyoruz.



Gördüğünüz gibi izinlerin değerlerini değiştirdiğimiz için “r,x,w” değerleri de değişti.

Chown Komutu



Chmod komutu bir dosyanın izin sistemini değiştirmek için kullanılan komuttur. Bu komut ile diğer user’lar arasında dosyayı kullanabilme,yönetebilme yetkisine sahip olursunuz.



Kod:
chmod kullanıcıadı dosyaadı
olarak yazıyoruz. Hangi kullanıcıya yetkiyi vermek isterseniz o kullanıcı adını yazmanız gerekmektedir.



Dosya ve Dizin Arama

Locate Komutu



locate komutu find komutu gibi bir dosyanın veya anahtar bir kelime yazarak o kelimenin veyahut dosyanın isminin geçtiği bütün verileri tarar ve bizlere gösterir.



Kod:
locate arananisim
olarak yazıyoruz.



Gördüğünüz şekilde bizlere bütün dosyaları göstermiştir.

find Komutu



Find komutu locate komutundan daha işlevsel bir komuttur. Locate komutundan daha stabil sonuçlar vermektedir ve başka parametreleri olması da can alıcı noktasıdır.



Kod:
find –name aranacakkelimeismi
olarak yazdığımızda “-name” ile isim araması yapmış olacağız.



Görmüş olduğunuz gibi dosyamızı buldu. Şimdi de 1 gün içerisinde değişikliğe uğramış dosyaları bulalım.



Kod:
find –ctime -1
olarak yazıyoruz. Şimdi “-1” burada gün olarak belirtiliyor ve 1 gün içerisinde ki değişiklikleri aramasını yapıyor.



Görmüş olduğunuz gibi.

Which Komutu



Bu komutumuz çeviri olarak “Hangi” anlamına geliyor. Linux’ta kullanımı ise hangi konumda. Bizler bu komut sayesinde bir dosyanın hangi konumda olduğunu öğrenebiliriz.



Kod:
which nmap
ile nmap toolunun hangi konumda olduğunu öğreneceğiz.



Gördüğünüz gibi
Kod:
/usr/bin/nmap
konumunda imiş. Bu komutun kullanımı yararlıdır.

Whereis Komutu



Whereis komutu, which komutundan biraz daha detaylı çünkü aradığımız dosyanın içindeki dosyaların da nerede olduğunu ve ismini vermektedir.



Kod:
whereis nmap
ile nmap dosyasının içinde ki dosyaların ve klasörün nerede olduğunu göstermektedir.

Du Komutu

du komutu sayesinde dosyaların diskte kapladığı alanları görebiliyoruz.

Kod:
du –a
olarak yazıyoruz. Bunun anlamı bulunduğumuz dizinde ki bütün dosyaları tarar. Sizler isterseniz sonuna dosya ismi de ekleyebilirsiniz.



Şimdi dosyanın içine bir şeyler ekleyip deneyelim.



Gördüğünüz gibi dosyanın boyutu sol da yazdı.

Kod:
du –BM dizinimsi
olarak yazarsak dosyaları Megabyte ve Gigabyte olarak gösterir.



Kod:
du –ca dizinimsi
bu kod ile bütün dosyaları tek tek tarar ve bizlere boyutunu gösterir.



Arşivleme(tar)

Tar Komutu



Tar komutu dosyaları (metin belgeleri vb. dosyaları) arşivlemek için kullanılan bir komuttur. Varsayalım ki 4-5 tane dosyanız var ve Linux kullanıyorsunuz bunları arşivlemek istiyorsunuz. Bunun için bu komutu kullanabilirsiniz.



Kod:
tar –cvf arşivdosyasınınadı dosya1 dosya2 dosya3 ..
olarak yazıyoruz.”-cvf burada arşiv olarak geçmektedir ve bunun sayesinde arşiv dosyası oluşturacağız.



Gördüğünüz gibi işaretlediğim yerde .tar dosyası oluştu. Bu kadar kolay bir şekilde arşivleyebilirsiniz.
Şimdi de diyelim ki format atmanız gerekti ve bütün dosyaları arşivlemeniz gerekiyor. Tek tek uğraşmak yerine vereceğim komut ile bütün dosyaları arşivleyebilirsiniz.



Kod:
tar –cv /home/hangidizinekaydetmekisterseniz
olarak yazıyoruz.


Konum bu kadardı arkadaşlar beğendiyseniz bilgilendiyseniz ne mutlu bana




---------------------
SolidStar

Twitter Telegram

"Aydın beyinleri bekliyor karanlık gelecek"
Konu "P4RS tarafından (25-05-2019 00:50 Saat 00:50 ) değiştirilmiştir.
Ego1st - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2018
Nereden:
kali@e1
Mesajlar:
626
Konular:
67
Teşekkür (Etti):
71
Teşekkür (Aldı):
139
Ticaret:
(0) %
25-05-2019 10:21
#2
Yine çok kısa bir konu
---------------------
<C4T.>
"P4RS - ait Kullanıcı Resmi (Avatar)
Green Team (Deneyimli)
Üyelik tarihi:
01/2017
Nereden:
Balkes
Yaş:
18
Mesajlar:
3.397
Konular:
270
Teşekkür (Etti):
459
Teşekkür (Aldı):
1002
Ticaret:
(0) %
25-05-2019 17:35
#3
Alıntı:
Ego1st´isimli üyeden Alıntı Mesajı göster
Yine çok kısa bir konu
Benim kısa skalam böyle ya .
---------------------
SolidStar

Twitter Telegram

"Aydın beyinleri bekliyor karanlık gelecek"
xANUBISx - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
05/2019
Nereden:
T U R A N
Mesajlar:
15
Konular:
2
Teşekkür (Etti):
15
Teşekkür (Aldı):
2
Ticaret:
(0) %
29-05-2019 21:09
#4
Yeni Linux Öğrençek Devrelerim,Ve Komutan'larım için Gerçekten Çok Güzel Bir Konu. Paylaşım İçin Teşekkürler. Uzun Olması Bana Göre Bi Problem Değil. Bişeyler Öğrençekseniz.Vakıt Ayırmanız İllaki Gereklidir.
---------------------
Ne Mutlu Türk'üm Diyene!
Varlığım TÜRK Varlığına Armağan Olsun!
"P4RS - ait Kullanıcı Resmi (Avatar)
Green Team (Deneyimli)
Üyelik tarihi:
01/2017
Nereden:
Balkes
Yaş:
18
Mesajlar:
3.397
Konular:
270
Teşekkür (Etti):
459
Teşekkür (Aldı):
1002
Ticaret:
(0) %
31-05-2019 23:00
#5
Alıntı:
xANUBISx´isimli üyeden Alıntı Mesajı göster
Yeni Linux Öğrençek Devrelerim,Ve Komutan'larım için Gerçekten Çok Güzel Bir Konu. Paylaşım İçin Teşekkürler. Uzun Olması Bana Göre Bi Problem Değil. Bişeyler Öğrençekseniz.Vakıt Ayırmanız İllaki Gereklidir.
Haklısınız asteğmenim (: diğer linux konularıma da bakabilirsiniz ders tadında
---------------------
SolidStar

Twitter Telegram

"Aydın beyinleri bekliyor karanlık gelecek"
Endofrin 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ı