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

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