Home Map Index Search News Archives Links About LF
[Top Bar]
[Bottom Bar]
[Photo of the Author]
Guido Socher

Yazar Hakk�nda: Linux'u seviyor. ��nk� �cretsiz ve yayg�n bir sistem. Bir ba�ka neden de D�nya'n�n her yan�ndaki Linux toplulu�undan insanlarla �al��man�n e�lenceli yanlar� olmas�. Bo� zamanlar�n�, genellikle, k�z arkada��yla, radyo dinlemekle, �ehir d���da bisiklet s�rmekle ve Linux'la e�lenmekle ge�irir.

Yazara yaz�n�z

��erik:
Adla Dosya Bulma
Genel Bir Bak��
��eri�e G�re Dosya Bulma

Dosyalar�n Aran�p Bulunmas�

�eviri: �T� Fen-Edebiyat Fak�ltesi ��rencilerinden Bir Grup

[Illustration]

�zet: Bu yaz�, dosyalar�n, ada ve i�eri�e g�re, nas�l bulunaca�� hakk�nda giri� d�zeyinde bilgi vermektedir.



Dosyalar�n Ada G�re Bulunmas�

San�r�m �u sorunu an�msayacaks�n�z: Birka� �e�it dosyan�z var ve onlar� nereye koydu�unuzu an�msayam�yorsunuz.

Bu durumda find buyru�unu kullanmak elveri�lidir. Peki nas�l kullan�l�r? find elbette ki b�y�k bir elyordam sayfas� (manual page) ile gelmektedir. Fakat biz yine de baz� "normal durumlar" bir g�z atal�m. Dizin a�ac�nda i�inde bulunulan dizinden ba�layarak ad� lostfile.txt olan bir dosyay� aray�p bulmak i�in:

find . -name lostfile.txt -print

find yaban kartlar�n� da (wild cards) kabul eder. Yaban karakterlerinin tek t�rnaklar aras�nda verilmesi gerekti�ini, aksi durumda kabu�un onlar� find �zerinde kullanmadan �nce a�aca��n� unutmamak gerekmektedir. ��te bir �rnek:
find . -name "lost*" -print

B�y�k bir dizin a�ac�n� aramak gerekti�inde bu buyruk olduk�a yava� kalabilir. Bu durumda locate buyru�u yard�mc� olabilir. Ama o dosya sistemindeki bir dosyay� do�rudan ara�t�ramaz. Veritaban� �zerinde ara�t�rma yapar. Bu daha h�zl� olur ama veritaban� g�ncelli�ini yitirmi� olabilir. Baz� s�r�mlerde located veritaban� her gece g�ncellenebilmektedir ama ku�kusuz updatedb buyru�unu vererek zaman zaman g�ncelleme yapabilmek m�mk�nd�r. locate alt katar (substring) aramas� yapar.

locate lostfile

Bu, lostfile.txt veya mylostfile.txt ve benzeri dosyalar�n konumlar�n� saptayacakt�r.

Bu ana kadar, dosya ad�n� tam olarak bildi�imiz dosyalar� bulmak i�in �al���yorduk. Dosya ad�, belki de, lostfile.txt de�il lastfile.txt, leastfile.txt, lostfiles.txt, Lotsfile.txt veya lostfile.text olabilir ve siz dosya ad�n� tam olarak an�msamayabilirsiniz. Bu durumda dosyay� nas�l bulabilirsiniz? Bu durumda, yanl��lara kar�� ho�g�r�l� ftff adl� bir yaz�l�mdan yararlanabilirsiniz. ftff dosyay�y� ararken belli say�da iml� yanl���na izin verir. Bu buyruk, b�t�n "yaz�m yanl��l�" dosya adlar�n� bulacakt�r:

ftff lostfiles.txt

�zin verilen yaz�m yanl��lar�n�n say�s�, dosyan�n uzunlu�uyla ilgili olmakla birlikte -t se�ene�iyle de ayarlanabilir. En �ok 2 yanl��a izin verirken bir de yaban kart� kullanmak istiyorsaniz �unu yaz�n:

ftff -t2 "lostfiles*"

Ftff benim kendi tasar�m�m olan whichman-1.4 adl� ve

sunsite.unc.edu/pub/Linux/apps/doctools/whichman-1.4.tar.gz 

adresinden ula�abilece�iniz bir programd�r.

Bazan, dizinler i�inde belli bir katar� i�ermeyen b�t�n dosyalar�; �rne�in .o ve .c d���ndaki dosyalar� bulmak isteyebilirsiniz. Bu istedi�imizi yapmak i�in bir iki se�ene�imiz bulunmaktad�r:

find . ! -name "*.o" ! -name "*.c" -print
find . -print | fgrep -v '.o' | fgrep -v '.c'
e�er find'�n gnu s�r�m�ne sahipseniz: find | fgrep -v '.o' | fgrep -v '.c'
find | egrep -v '\.[oc]'

Dosya Sistemine Genel Bir Bak��

Bazan �n�n�zdeki dosya sistemine tepeden bir g�z atmak isteyebilirsiniz. �rne�in yeni bir CD'niz var ve i�inde neler oldu�unu g�rmek istiyorsunuz. Yaln�zca ls -R buyru�unu kullanman�z yeterlidir. Ki�isel olarak, okunabilirlik a��s�ndan ( sunsite.unc.edu/pub/Linux/utils/file/tree-1.2.tgz)'nin �izdi�i a�a� benzeri �izemleri ye�liyorum.

tree
ya da uzun dosya adlar�yla: tree -fF

Ve ku�kusuz bizim bir de eski iyi find'�m�z var. Genellikle, Linux'la birlikte gelen, find'�n gnu s�r�m�, dosya ad�n�n yan�s�ra b�y�kl���n� de g�r�nt�leyebilen bas�m bi�imlerine sahiptir:

find . -ls
find . -print or with gnu find: find
find . -printf "%7s %p\n"

Ayr�ca ls buyru�uyla benzer i�ler yapan bir perl sarmalay�c�s� da bulunmaktad�r. Onu buradan y�reye�ekebilirsiniz : lsperl.gz. Elayg�tlar�n'a (tools) bir g�z atarak daha �ok dosya bulunabilir, ama �o�u durumda bu yeterli olman�n �tesine d��er.


��erik ile dosya bulma (dosyalarda metin katarlar�n�n aranmas�)

Dosyalarda metin katarlar�n� aramak i�in bulunan standart kolayl�klar d�zg�n anlat�m (regular expression) aramalar� i�in grep/egrep ve s�zc�k katarlar�n� aramak i�in fgrep kullan�l�r. ��inde bulunulan dizindeki b�t�n dosyalar i�inde bir anlat�m aramak icin �unu yaz�n:

egrep -i "search expression" *

Dizin a�ac� i�inde, b�t�n dosyalar�n i�indeki katarlar� aramak i�in, find ve di�er dosya ad� tarama buyruklar�n� s�zgelimi grep ile birle�tirebilirsiniz. Bu �e�itli yollarla yap�labilir:

egrep -i "expression" `find . -type f -print`
find . -type f -exec egrep -i "expression" /dev/null {} \;
find . -type f -print | xargs egrep -i "expression"

Bunlar� an�msamak zor geliyorsa, buradan y�reye�ekebilece�iniz : grepfind.gz adl� k���k kabuk yaz�m�n� kullanabilirsiniz. Bu yaz�m (script), bir ikilitaban dosyas�n� (binary file) kaza sonucu egrep'lemeniz durumunda g�r�nt�lenemeyen karakterlerin devre d��� b�rak�ld��� konusunda g�vence sa�lar.

Agrep �ok ilgin� bir arama program�d�r. Agrep asl�nda egrep gibi �al���r, ama aramalarda ho�g�r� (tolerans) sa�lar. Bu nedenle biraz yanl�� yaz�lm�� s�zc�kleri de bulabilirsiniz. Bir anlat�m (expression) aramak ve en �ok iki yaz�m yanl���na izin vermek i�in �unu kullanabilirsiniz:
agrep -i -2 "search exprission" *

Bu agrep program� bu sanaly�reden sunsite.unc.edu/pub/Linux/utils/text/agrep-2.04.tar.Z ya da k�ken sanaly�reden ftp://ftp.cs.arizona.edu/agrep/ y�reye�ekilebilir.

B�yle bir�ey daha var: glimpse. Glimpse �ok g��l� bir arama kulland�r�m�d�r. O, bulmak i�in locate'e benzer bir kavram� kullan�r. �nce bir veritaban� yap�land�r�lmas�n� gerektirir ama bunu izleyen arama �ok h�zld�r. ��inde bulunulan dizinden ba�layarak t�m dosyalar�n i�erikleri i�in bir arama yap�land�r�m� �u bi�imde verilebilir:

glimpseindex .

Bundan sonra, bir katar� daha �nceden indekslenmi� t�m dosyalar i�inde arayabilirisiniz.

glimpse -i -2 "search exprission"

glimpse de, agrep gibi yanl��a ho�g�r�l� (fault tolerant) olup -2 parametresiyle iki tane yanl��a izin verilir. glimpse http://glimpse.cs.arizona.edu/'dan y�reye�ekilebilir.


Unix ve �zellikle Linux i�in �ok say�da arama kulland�r�mlar� bulunmkatad�r. Bu yaz� b�ylesine tam say�lamaz. E�er buna benzer daha �ok say�da aldatmaca (trick) ve kulland�r�m (utility) ile ilgilenmek isterseniz http://sunsite.unc.edu/pub/Linux/utils alt�ndaki .lsm dosyalar�na bakabilirsiniz.

�yi e�lenceler, mutlu aramalar.

Bu sanaly�renin bak�m� Miguel Angel Sepulveda taraf�ndan yap�lmaktad�r.
© Guido Socher 1998
LinuxFocus 1998