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

Popüler Etiketler

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