Linux’ta bir dosyanın ya da klasörün sahibini veya grubunu chown komutu sayesinde değiştirmemiz mümkündür.
Komutun Kullanımı;chown kullanıcı dosya
chown :grup dosya
chown kullanıcı:grup dosya
Örnek;chown onur home/www
Yukarıdaki komut ile sistemimizde home klasörünün içinde yer alan www klasörünün sahibini onur kullanıcısı olarak belirlemiş olduk.
Örnek2;chown onur:bilgiislem home/www
Bu komutla ise sistemimizde home klasörünün içinde yer alan www klasörünün sahibini onur kullanıcısı olarak, grubunu ise bilgiislem olarak değiştirmiş olduk.
Örnek3;chown -hR onur home/www
Üçüncü örneğimizdeki komutta ise sistemimizde yer alan home klasörünün içindeki www klasörünün ve bu klasörün içinde yer alan bütün dosya ve klasörlerin sahibini onur kullanıcısı olarak belirlemiş olduk.
Yazar arşivleri: onur
Linux Dosya ve Klasör Arama
Bilgisayarımızda veya sunucumuzda dosya arama işlemini çok sık bir şekilde yapmaktayız. Windows işletim sistemlerinde sayfaların arama bölümlerinden bu işlemi çok kolay bir şekilde yapabilmekteyiz. Linux tabanlı işletim sistemlerinde ise dosya ya da klasör aramak için find komutunu kullanmamız gerekmektedir.
Komutun Kullanımı;find dosya_veya_klasör
Örnek;find ders
Yukarıdaki örnekte sistemimizde yer alan ders isimli klasörü aratmış oldum. İşletim sistemimiz üzerinde daha ayrıntılı bir şekilde dosya yada klasör araması yapmak istiyorsak find komutunu biraz daha farklı bir şekilde kullanmamız gerekmektedir. Şimdi bu işlem için birkaç tane örnek yapalım;
Örnek1;cd home
find * -mtime +25 -exec ls {} \;
Yukarıdaki örnekte ilk olarak cd komutu ile home klasörünün içine girmiş olduk. Daha sonra find komutunu daha gelimiş bir şekilde kullanarak 10 günden eski olan dosyaları ve klasörleri aratmış olduk.
Örnek2;find /home/ -name "*.html"
Yukarıdaki örnekte uzantıya göre dosya arama işlemi yapmış olduk. Burada home klasörü içinde .html uzantılı dosyaları arattırmış olduk.
Örnek3;find /home/ -type f -size +100mb -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'
Bu örneğimizde ise home dizinimizde bulunan 100 mb ve üstü dosyalarımızı aratmış olduk. Find komutunu yaptığımız örneklerdeki gibi daha ayrıntılı bir şekilde kullanmanız mümkündür.
Değiştirilen Dosyaları Bulma
Find komutunun kullanımını çeşitli örnekler üzerinden açıklamıştık. Bu komuta çeşitli parametreler ekleyerek daha gelişmiş bir şekilde dosya araması yapmamız mümkündür. Belirli dakikadan önce veya belirli dakika içinde değiştirilmiş dosyaları bu komut sayesinde bulmamız mümkündür. Şimdi bu işlemleri nasıl yapacağımızı örneklerle açıklayalım;
Örnek1;find / -type f -mmin -30 | xargs ls –l
Yukarıdaki örnek komutta son 30 dakika içinde değiştirilmiş dosyaları aratmış oldum.
Örnek2;find / -type f -mtime -10 | xargs ls –l
Yukarıdaki örnekte ise son 10 gün içinde değiştirilen dosyaları aratmış oldum.
Örnek3;find / -type f -mmin +30 | xargs ls –l
Üçüncü örneğimizde son 30 dakikadan daha önce değiştirilmiş dosyaları aratmış oldum. Örneklerde olduğu gibi sistemimizde belirli aralıklarda değiştirilen dosyaları find komutu sayesinde bulmamız mümkündür.
Find Komutu Parametreleri
Find komutuna yukarıdaki örneklerdeki gibi çeşitli parametreler ekleyerek detaylı bir şekilde dosya veya klasör araması yapabilmemiz mümkündür. Find komutuna ekleyebileceğimiz diğer faydalı olabilecek parametreleri aşağıdaki tablodan inceleyebilirsiniz;
PARAMETRE AMACI
-name [dosya_ismi] Dosya veya klasör ismi belirterek arama yapılmasını sağlar.
-user [Kullanıcı_ismi] Kullanıcı ismi veya id numarası yazılarak o kullanıcıya ait olan dosyaların veya klasörlerin aranmasını sağlar.
-group [grup_ismi] Gruba ait olan dosyaların veya klasörlerin aranmasını sağlar.
-perm [izin] Belirtilen izne sahip olan dosyaları ve klasörleri arar.
-size [+/- Dosya boyutu] Dosya veya klasör boyutuna göre arama yaptırmak için kullanılır.
-nouser Hiçbir kullanıcıya ait olmayan dosya ve klasörleri bulur.
-nogroup Hiçbir gruba ait olmayan dosya ve klasörleri bulur.
-newer [dosya_ismi] Belirtilen dosya isminden daha yeni olan dosya veya klasörleri aratır
Linux Dosya İzinleri Değiştirme
Sistemimizde yer alan bir dosyanın ya da klasörün güvenliğini sağlamak istiyorsak izinleri doğru bir şekilde yapılandırmamız gerekmektedir. Linux işletim sistemlerinde dosya izinlerini ayarlamak için chmod komutunu kullanmaktayız. Dosya izinlerini ayarlarken chmod komutu değerler almaktadır. Chmod komutunun aldığı izin değerleri şu şekildedir;
Yöntem1
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
Örnek;chmod 777 deneme
Yukarıdaki komut ile sistemimizde yer alan deneme isimli klasörümüzün tüm yetkilerini herkese açmış olduk. Bu işlem için yukarıda yazdığımız bütün değerleri toplayarak chmod içinde kullanarak tüm yetkileri herkese açtık.
400+200+100+040+020+010+004+002+001=777
Sizde dosyalarınıza veya klasörlerinize vermek istediğiniz yetkiye göre gerekli değerleri verebilirsiniz.
Örnek2;chmod 700 deneme
Yukarıdaki örnekte ise deneme klasörümüze sadece sahibi okur (400), sahibi yazar (200), sahibi çalıştırır (100) yetkilerini verdik. Yani chmod değerini 400+200+100 olarak hesaplayarak belirttik.
Yöntem 2
Chmod komutumu farklı bir yöntem ile de kullanabiliriz. Bu yöntem için ilk olarak aşağıdaki değerleri öğrenmeliyiz;
u : Dosyanın sahibi olan kullanıcı
g : Dosya sahibi ile aynı grupta yer alanlar
o : Diğer kullanıcılar
a : Herkes
+ : Yetki Ekleme
= : Yetki eşitleme
– : Yetki çıkarma
r : Okuma Yetkisi (read)
w : Yazma Yetkisi (Write)
x: Çalıştırma Yetkisi (Execute)
Bu bilgileri öğrendikten sonra chmod komutunu kullanarak klasör ve dosya izinleri ile ilgili birkaç örnek yapalım;
Örnek1;chmod u+w ornek.txt
Yukarıdaki örneğimizde bulunduğumuz dizinde yer alan ornek.txt dosyasına sahibi için yazma yetkisini vermiş olduk. U karakteri sahibini, + karakteri yetkinin ekleneceğini, w karakteri verilen yetkiyi belirtmektedir.
Örnek2;chmod g-x ornek.txt
Yukarıdaki örneğimizde ise bulunduğumuz dizinde yer alam ornek.txt dosyasına grubu için çalıştırma yetkisini çıkarmış olduk.
Chmod komutu belirttiğimiz gibi iki şekilde de kullanabilirsiniz. İkinci yöntemin kullanımının kolay olmasından dolayı daha çok tercih edildiğini belirtmek isterim.
Linux Klasör Boyutu Öğrenme
Bazı durumlarda klasörlerimizin toplam boyutunu görme ihtiyacı duyabiliriz. Bu işlem için Linux sistemlerde du komutu kullanılmaktadır.
Komutun Kullanımı;du
Örnek1;du
Yukarıdaki komutu uyguladığımızda bulunduğumuz konumda yer alan bütün klasörlerin boyutları ekranda gösterilecektir.
Örnek2;du -sh /home/deneme
Bu komutta ise sistemimizde home klasörünün içinde yer alan deneme isimli klasörümüzün boyutu ekranda gösterilmiş olacaktır. Du komutunun alabileceği diğer parametreler şu şekildedir;
-a Geçerli dizinde bulunan her dosya için boyutu gösterir.
-c Diğer argümanlar tarafından disk kullanımının toplama gösterilir.
-h Çıktı değerlerini daha anlaşılabilir durumda yazdırır.
-k Klasör boyutlarını 1024 ve katları şeklinde gösterir.
-L Her yerdeki tüm disk kullanımını gösterir.
-s Her dosya için geçerli dizinde disk kullanımını ekranda gösterir.
-BM Boyutu mb (megabyte) cinsinden gösterir.
-BG Boyutu gb (gigabyte) cinsinden gösterir.
Örnek;du -BM /home/onur/*
Yukarıdaki örnekte home/onur klasörü içinde yer alan tüm dosyaların boyutlarını mb cinsinden ekranda göstermiş olduk.
Linux Dosyaları Silinmez Yapma
Chattr komutu Linux sistemlerde dosyaları silinmez hale getirmek için kullanılmaktadır. Yine aynı komutu farklı bir parametre ile kullanarak silinmeyen dosyaları silinir duruma getirmemiz de mümkün olmaktadır.
Dosyaları Silinmez Durumu Getirmek için;chattr +ias /dosyayolu/dosya
Silinmeyen Dosyaları Silinir Duruma Getirmek için;chattr -ias/dosyayolu/dosya
Örnek;chattr +ias /deneme/index.php
Yukarıdaki komut ile sistemimizde deneme klasörünün içinde yer alan index.php dosyasını silinmeyen dosya türüne çevirmiş olduk.chattr -ias /deneme/index.php
Bu komutu uygulayarak ise index.php dosyasını tekrar silinebilir duruma getirmiş olduk. Önemli dosyaların yanlışlıkla silinme ihtimaline durumunu engellemek için kullanabileceğimiz faydalı bir komuttur.
Örnek2;chattr –R +i deneme
Bir klasörün silinmesini engellemek istiyorsak chattr komutu ile birlikte –R parametresini kullanmamız gerekmektedir. Yukarıdaki örnekte bulunduğumuz dizinde yer alan deneme isimli dizini silinmeye karşı kilitlemiş olduk. Aynı klasörün kilidini kaldırmak için ise aşağıdaki komutu kullanabiliriz;chattr –R -i deneme
Linux diff Komutu
Linux’ta iki dosya veya iki klasör arasındaki farkı ekranda göstermek istiyorsak diff komutunu kullanmamız gerekmektedir. Şimdi bu komutun kullanımını örneklerle açıklayalım;
Komutun Kullanımı;diff dosya1 dosya2
Örnek;diff index.php sayfa.html
Yukarıdaki komut ile bulunduğumuz dizinde yer alan index.php ve sayfa.html dosyalarını karşılaştırmış olduk.
Örnek;diff -rq /deneme1/ /deneme2/
Yukarıdaki örnekte ise denem1 ve deneme2 isimli klasörleri karşılaştırmış olduk. Sizde arasındaki farkı görmek istediğiniz dosyalarınızı veya klasörlerinizi bu şekilde karşılaştırabilirsiniz.
Parametre Açıklama
-b Karşılaştırmada ara boşluklar dikkate alınmaz
-i Büyük küçük harf ayrımı yapmadan karşılaştırma işlemi yapar.
-l Çıktı raporu verir.
-w Büyün boşluk ve tab karakterlerinin önemsenmemesini sağlar.
diff3 komutu
Diff komutu ile iki adet dosyayı veya klasörü karşılaştırabileceğimizi öğrenmiştik. Eğer üç adet dosya veya klasör karşılaştırmak istiyorsak diff3 komutunu kullanmamız gerekecektir.
Komutun Kullanımı;diff3 [dosya1] [dosya2] [dosya3]
Örnek;diff3 index.html sayfa1.php iletisim.php
Yukarıdaki örnekteki gibi bulunduğumuz dizinde yer alan 3 adet dosyayı karşılaştırabiliriz.