28 Ocak 2016 Perşembe

En fazla RAM kullanan process'leri bulmak


Linuxta processleri  kullanmış oldukları RAM ve swap miktarının toplamına göre sıralayabiliriz. Bu komutları ,Debian ,Ubuntu ,Centos ,Mint ve RHEL'de çalıştırabilirsiniz.


  • En fazla ram kullanan top 10 processi aşağıdaki komutla bulup sıralayabiliriz


$ ps axo rss,comm,pid \ | awk '{ proc_list[$2] += $1; } END \ { for (proc in proc_list) { printf("%d\t%s\n", proc_list[proc],proc); }}' \ | sort -n | tail -n 10 | sort -rn \ | awk '{$1/=1024;printf "%.0fMB\t",$1}{print $2}'


Çıktısı da şu şekilde ;


[huseyin@server1 /]# ps axo rss,comm,pid | awk '{ proc_list[$2] += $1; } END \
{ for (proc in proc_list) { printf("%d\t%s\n", proc_list[proc],proc); }}' | sort -n | tail -n 10 | sort -rn | awk '{$1/=1024;printf "%.0fMB\t",$1}{print $2}' 
61MB    httpd
19MB    X
17MB    nautilus
17MB    rhn-applet-gui
16MB    vmtoolsd
14MB    gnome-terminal
11MB    gnome-panel
10MB    gnome-session
10MB    wnck-applet
9MB     gconfd-2
[huseyin@server1 /]#


  • RAM ve swap kullanan tüm processleri aşağıdaki komutla bulup sıralayabiliriz


$ ps axo rss,comm,pid \ | awk '{ proc_list[$2] += $1; } END \ { for (proc in proc_list) { printf("%d\t%s\n", proc_list[proc],proc); }}' \ | sort -rn \ | awk '{$1/=1024;printf "%.0fMB\t",$1}{print $2}'










Devamını Oku »

Modify , Access ve Change nedir ?


 Bazen karıştırılabilen bu access , modify ve change nedir ?



Access : Dosyanın son okunduğu tarihi verir. Örneğin cat ile bir dosyayı okursanız ve sonra stat komutu ile baktığınızda sadece access zaman damgasının değiştiğini görürsünüz

Modify : Dosyanın içi (content) en son ne zaman değiştirilmiş bu bilgiyi verir. Bir dosyanın içine herhangi bir karakter girdiniz diyelim o durumda modify zaman damgası değişir.

Change - Dosyanın metadata 'sının değiştiği son tarihi gösterir. Mesela bir dosyanın permissions'ını değiştirirseniz ve stat komutu ile bakarsanız o dosyaya ait sadece change zaman damgasının değiştiğini görebilirsiniz.

Not : stat komutu ile dosyaya ait access ,modify ve change bilgilerini görebilirsiniz
Devamını Oku »

27 Ocak 2016 Çarşamba

Find komutu kullanımı

Find komutu Linux'un en fazla kullanılan komutlarından biridir. Dosyaları , dizinleri bulmamıza yarayan bir komut. Kullanıcı , grup , izin (permission) , tarih , dosya türü ve boyuta göre dosyaları bulup getirebilmektedir.


  • 1. Bölüm : İsim ile ilgili temel find komutları
  • 2. Bölüm : Permissionlarına göre aramak
  • 3. Bölüm : Üzerlerindeki sahiplik ve gruplarına göre dosya bulmak
  • 4. Bölüm : Tarih ve zamanlarına göre dosya ve dizin bulmak
  • 5. Bölüm : Boyutlarına göre dosya ve dizin bulmak





I. Bölüm - İsim ile ilgili temel find komutları
-------------------------------------------------



  • Üzerinde bulunulan dizinde tüm huseyin.txt dosyalarını bulmak için




  • /home dizini altında ismi huseyin.txt olan dosyaları bulmak için ;




  • /home dizini altında büyük - küçük harf ayrımı olmadan ismi huseyin.txt olan dosyaları bulmak için ;






  • / (root) dizini altında ismi Huseyin olan dizinleri listeleyip getirmek için ;





  • Üzerinde bulunulan dizinde adı huseyin.php olan php dosyalarını bulmak için ;




  • Üzerinde bulunulan dizinde tüm php dosyalarını bulmak için ;





II. Bölüm - Permissionlarına göre aramak
-----------------------------------------------



  • 777 iznine sahip dosyaları getirmek için





  • Üsttekinin tam tersine 777 hakkı olmayan dosyaları getirmek için de ;





  • Tüm SGID ve SUID bitleri etkinleştirilmiş olan dosyaları bulmak için

 / \( -perm -u+s -or -perm -g+s  \) -type f -exec ls -l {} \;



  • Sticky Bite sahip olan izin hakkı da örneğin 700 olan dosyaları bulmak





  • .txt formatındaki dosyaları bulup silmek, örneğin bulunduğun dizinde yapmak için



type f -name "*.txt" -exec rm -f {} \;


  • Boş dosyaları bulmak için şu komutu kullanabiliriz


/home/huseyin -type f -empty

  • Boş klasörleri bulmak için şu komutu kullanabiliriz

/home/huseyin -type d -empty


  • Bütün gizli dosyaları bulmak için 

/home/huseyin -type d -empty



III. Bölüm - Üzerlerindeki sahiplik ve gruplarına göre dosya bulmak
-----------------------------------------------


  • Sahibi huseyin olan test.txt dosyasını bulmak için 


/ -user huseyin -name test.txt



  • Bir dizin altında sahibi huseyin olan tüm dosyaları bulmak için



/tmp -user huseyin


  • Bir dizin altında grubu mygroup olan tüm dosyaları bulmak için

/tmp -group mygroup


  • Bir dizinde huseyin kullanıcısına ait tüm .txt dosyalarını bulmak için 


/tmp -user huseyin -iname "*.txt"




IV. Bölüm - Tarih ve zamanlarına göre dosya ve dizin bulmak
-----------------------------------------------



  • 10 gün içerisinde modify olan dosyaları bulmak için


/ -mtime 10



  • 10 gün içerisinde erişilen (read olunan) dosyaları getirmek için


/ -atime 10



  • 10 günden fazla 20 günden az zaman arasında modify olan dosyaları bulmak için


/ -mtime +50 -mtime -100



  • Son 1 saat içerisinde modify olan dosyaları bulmak için 



/ -mmin -60

  • Son 1 saat içerisinde change olan dosyaları bulmak için

/ -cmin -60

  • Son 1 saat içerisinde erişilen (access) dosyaları bulmak için

/ -amin -60




V. Bölüm - Boyutlarına göre dosya ve dizin bulmak
-----------------------------------------------


  • 10 MB lık tüm dosyaları bulmak için 

/ -size 10M

  • 10MB ve 20 MB arasındaki dosyaları bulmak için

/ -size +10M -size -20M





Devamını Oku »