Komut : find (yol tanımı) (seçenekler)

Seçenekler :

-name isim : aranılacak dosyanın ismi.
-perm izin : Izinleri oktal olarak belirlenmiş dosyaların aranılması.
-links n : linke sahip dosyalar.
-user kullanıcı : Belirli bir kullanıcıya ait dosyaların aranması.
-group isim : Belirli bir gruba dahil dosyaların aranması.
-atime n : n gün içinde erişilen dosyalar.
-mtime n : n gun içinde işlem gören dosyalar.
-ctime n : n gun içinde değiştirilen dosyalar.
-print : bulunan dosyaların ekranda görüntülenmesini sağlar.


Örnek :

Bulunduğum dizinden itibaren tüm alt-dizinlerdeki "mfyz" ile başlayan dosyaları bulmak için;


find . -name "mfyz*" -print
./faq/mfyz_dosyalar_index.html
./mfyz
./mfyz/mfyz_index.php
./we/mfyz.c


Not 1 : Burada arayacağım dosyada wildcard kullandığım icin * işaretini kullandım. Eğer dosyanın tam ismini biliyorsanız buna gerek yoktur.

Not 2 : Eğer bir aramayi root'tan ( / ) başlatirsaniz çok buyuk olasilikla bazı dosyaları okumaya izininiz olmadıgı için size bunu belirten bir uyarı mesajı verilecektir, ve bu mesajlar arasında aradığınız şey ekrana yazılsa bile bunu gözden kaçırabilirsiniz. Bu sebeple çıktıyı bir dosyaya yöneltip, daha sonra o dosyayı okumanızda fayda vardır.

Örnek :


find / -name gzip -print > gzip_sonuclari



Hazırlayan : Mehmet Fatih YILDIZ

Screen nedir ki?

Screen, linux üzerinde bir konsol aracıdır. Screen sayesinde sanal konsollar açabilir ve bunları yönetebiliriz. Mantık olarak pencere gibi düşünün, her pencerenin bir id'si var ve bu pencereleri masaüstlerinde gezdirebiliyorsunuz. Screen ise bu işin konsol versiyonu. Screen ile konsol üzerinde yeni konsollar açıp kapayıp açık olanların listesini görüp, onlara spesifik id'ler atayıp veya o id'lerdeki konsollara geri dönüş yapabilirsiniz.

Ne işime yarar?

Screen paketi ilk bakışta çok fonksiyona yarayacak bişey gibi görünmüyor. İş uygulamasına geldiğinde güzelleşiyor. Birkaç örnek ile açıklayayım. Diyelim ki tty1'de bir uygulama açtınız, içerisinde bir url çıktı, o siteye girmek için o url'i kağıt kalem ile kaydedebilir, bir dosyaya paste edip onu X üzerinde açıp işinizi görebilir veya programın o konumunu ezberleyip X'de bir konsolda açıp görebilirsiniz. Eğer scren programı üzerindeki bir konsolda iseniz, CTRL + A + D'ye bastığınızda o konsoldan çıkmış olur, X'de bir konsolda screen ile o konsola dönebilir, konsolunuzun kaldığı yerinden devam edebilirsiniz.
Screen sayesinde konsollarınızı, çıktı, içerisindeki işlemler bozulmadan rahatlıkla taşıyabilirsiniz.
Başka ve daha güzel bir örnek vermek gerekirse, X'te bir konsol açıp wget ile 30 tane 100'er mb'lik dosya download açtınız. Yada bir iso çekmeye başladınız. Oldu ki X'i restart etmeniz gerekti, screen konsolu içerisinde iseniz ctrl+a+d ile çıkıp ttyX'lerden birinde bu konsolu geri çağırabilir hatta hiç çağırmayabilirsiniz bile. Başka bir uygulama konusu da, geliştirdiğiniz bash programlarında, diğer programları kullanırken bash'de screen ile açtırdığınız konsolları yönterek onların içindeki çıktıları kullanabilir, kullanıcıya bunu yansıtmadan işlem yaptırabilirsiniz.
En güzel uygulamalarından biri de, ssh ile tatildeyken bağlandığınız masaüstü bilgisayarınıza zibilyon görevi verdikten sonra detach edip acil çıkış bile yapabilmenizdir.


Screen programını kullanabilmek için screen paketi kurulu olması gerekmektedir. Bunun kurulması size kalmış artık :-)

Basit olarak bir konsolda screen komutunu verdiğimizde karşımızda temiz yeni bir bash gelecektir. Burada istediğimiz her türlü maymunluğu yapabiliriz.

İstediğiniz an CTRL + A + D tuş kombinasyonu ile rahatlıkla dışarıdaki konsola düşebilir, açmış olduğunuz screen konsolunu askıya almış olursunuz.
Eğer askıda tek konsol var ise screen -r parametresi ile doğrudan dönüş yapabilirsiniz. Eğer birden fazla askıda konsol mevcut ise aynı komut size bir liste verecektir. Bu listedeki id'leri screen -r şeklinde uygularsak o konsola düşeriz. Konsoldaki oturum sona erdiğinde askıdan alınıp screen konsolu öldürülecektir.

Ayrıca -x parametresi ile daha önce açık olan oturumu birden fazla konsolda açabilirsiniz. Böylece screen oturumunuz, açılan her konsolda yeni bir girdi mekanizmasına sahip olmuş olacaktır.

Basit bir uygulama ile;

Linux konusunda deneyimsiz birisi konsolda yapılması gereken bir işte tıkanmıştır, size ssh girişlerini verir, arkadaşın bilgisayarına girer ve bir screen oturumu açarsınız. Arkadaşınıza da bir konsol açıp screen -x komutu vermesini istersiniz. Evreka, sizin oturumunuz onun konsolunda da açılır. Her iki taraftanda bilgi girişi yapılabilir. Konuşamk (chat) için bile bu yöntemi kullanabilirsiniz :-)
Küçük bir uygulama ile kolaylıkla programı öğrenebilirsiniz. Screen komutunun man sayfasında veya help sayfasında ilgili ayrıntıları bulabilirsiniz.


Not : Bu döküman 2 Ocak 2008 tarihinde yeniden düzenlenmiştir.

Hazırlayan : Mehmet Fatih YILDIZ
Konsolda çok dosya ile çalışırken joker karakterleri kullanarak daha spesifik tanımlar yapabiliriz. Mesela binlerce dosya olan bir klasörde ulaşmak istediğimiz dosya gurubunu joker karakterlerle daha rahat ifade edebiliriz. Ya da dosyaları guruplamak için kullanabiliriz.
Bu konuda kısa bir örnek uygulama söylemek gerekirse çok çeşitli dosyanın olduğu büyük bir klasörde dosyaları alfabetik ayıklama işlemi joker karakterler kullanmadan veya herhangi bir GUI program kullanarak halletmek oldukça zorlayıcı olacaktır.

Gelelim joker karakterlere ve kullanımlarına;
*     Bir veya daha fazla karakteri ifade eder.
      tty* -> tty ile başlayan tüm dosyalar
      dosya0*.x* -> dosya0 ile başlayan, uzantısının ilk harfi x olan tüm dosyalar

?     Tek bir karakteri ifade eder.
      program.? -> program ile başlayan ve uzantısı tek karakter olan tüm dosyalar.

[ ]   Parantezin içerisinde kalan karakterler veya aralığı ifade eder.
      dosya[0-9] -> dosya0, dosya1, dosya2 ... dosya9
      sozluk_[a-z].txt -> sozluk_a.txt, sozluk_b.txt ... sozluk_z.txt
Aşağıda bu konuda örnek kullanım bulacaksınız.
$ ls
01t  02t  03t  04t    ayse  faik   fatma   mehmet
01x  02x  03x  ahmet  emre  fatih  mahmut

$ ls 0*
01t  01x  02t  02x  03t  03x  04t

$ ls 0?t
01t  02t  03t  04t

$ ls 0[0-2]?
01t  01x  02t  02x

$ ls *met
ahmet  mehmet
Hazırlayan : Mehmet Fatih YILDIZ
Konsollarda kullanıcı giriş alanı gelmeden önce /etc/issue dosyasından bazı kurallara göre çıktı yaratılır. Salt metin olarak da çıktı verebileceğimiz gibi bu çıktıyı özelleştirebiliriz. Normalde;
login :
şeklinde görünen kısmı;
Mehmet Fatih YILDIZ'in bilgisayarina ho$geldiniz!
Bugun : 01.12.2004 12:00
Cekirdek : Linux-2.6.7-r12
Makine Adi : mfyz
login :
şekline getirebilirsiniz.
Statik çıktısını almak istediğiniz şeyleri öncelikle girin; daha sonra kuralları ekleyeceğiz. Bunlar o andaki tarih, bulunan konsol aygıtı, çekirdeğin versiyonu veya adı, makine adı gibi ayrıntılı kurallar ekleyebileceğiz; aşağıdaki kuralları tersbölü (backslash)(\) ile kullanın;
d     O andaki tarih                              Örnek : 01.12.2004
t     Zaman
u     Login olmuş kullanıcı sayısı
o     Makinenin ifade ettiği domain adı
n     Makinenin adı (hostname olarak geçer) 
m     Makinenin işlemci mimarisi                  Örnek : i486
s     Sistem adı
r     Çekirdek numarası                           Örnek : 2.6.7
v     İşletim sisteminin versiyonu
l     Bulunulan konsol aygıtı                     Örnek : tty1

Öneri : ASCII teknikleri kullanarak Konsol giriş başlıklarınızı daha düzenli hale getirebilirsiniz.
Mesela çoğu dağıtım için "ascii art" logolar, maskotlar veya sloganlar geliştirilmiştir. (http://www.asciiartfarts.com/linux.html)
Hazırlayan : Mehmet Fatih YILDIZ

Popüler Etiketler

ios apple itunes mobile app banner iphone ipad app store store in-app purchase purchase verification integration storekit itunes connect php server language development iOS webkit web app music google sosyal medya istatistik social media statistics graph mootools jquery twitter calendar tool html gimp howto svn subversion proje open source cookie subdomain optimization linux konsol javascript textarea css radio button switch insanlar pear mdb2 prepare execute mysql mssql pgsql tebrik applications macosx free icon ikon grafik download firefox logo ajax xml http internet network facebook zaman blog license xmlhttprequest chart api db code laptop notebook while rss imza signature mail lifestream dokuman bootstrap css3 login developer newsletter portfolio ingilizce mfyz regex job osx player session doritos kampanya tytz wanda database service spam table startups less style örnek kod js share meta cache sql query injection subscription form date tarih ruffles oyun widget opengraph fql plugin screen optimizasyon analyse procedure apache internet explorer terminal url search ie html5 windows fstab ntfs parse wireless lisans link framework ide editor phpstorm jetbrains deployment version control git htaccess mod_rewrite assets support kurulum nasıl browser object ipucu cms browsers digital sitemap generator www redirect crossdomain route router diff export nedir pharma hack wordpress seo ubuntu workspace compile compiler on-the-fly coding design auth connect input kitap box ui ux icons select xhtml kontrol yapıları if