Linux’ta dosya ve dizinleri aramanın ve bulmanın birçok yolu olsa da, en kolay ve en hızlısı muhtemelen terminaldir. Özellikle daha önce bunu kullanmamış olan pek çok Linux kullanıcısı bunu bilmiyor. Bu da korkutucu olabiliyor. bu yazıda terminal üzerinde kullanabileceğiniz bazı komutlara bakacağız.
Locate komutunu kullanın
“ locate ” komutu, bir Linux kullanıcısının kullanması gereken ilk çaredir çünkü çok daha hızlıdır. Bu eşsiz hızın nedeni, locate komutunun aslında bulmanız gereken dosya veya dizinleri yerel sabit disklerinizde araması değil, daha çok sisteminizdeki tüm dosya yollarını içeren mlocate.db veritabanı dosyasını okumasından kaynaklanmaktadır. Eğer sisteminizde yüklü değilse aşağıdaki komutlardan uygun olanını kullanarak yükleyebilirsiniz.
Debian and Ubuntu
sudo apt-get install locate
CentOS
yum install locate
İlk kullanım için veritabanını hazırlayın
İlk kullanımdan önce mlocate.db veritabanını güncellemek için şu komutu çalıştırın:
sudo updatedb
Bulma özelliğini kullanmak için bir terminal açın ve bul ve ardından aradığınız dosya adını yazın. Bu örnekte, adında ‘pardus’ kelimesini içeren dosyaları arıyorum.
lokal@pardus:~$ locate pardus | more
/etc/libvirt/qemu/pardus21.xml
/home/lokal/.cache/sessions/xfce4-session-pardus:0
/home/lokal/.cache/sessions/xfce4-session-pardus:0.bak
/home/lokal/.java/fonts/11.0.10/fcinfo-1-pardus-Linux-4.19.0-17-amd64-tr.properties
/home/lokal/.java/fonts/11.0.10/fcinfo-1-pardus-Linux-4.19.0-18-amd64-tr.properties
/home/lokal/.java/fonts/11.0.6/fcinfo-1-pardus-Linux-4.19.0-17-amd64-tr.properties
/home/lokal/.java/fonts/11.0.6/fcinfo-1-pardus-Linux-4.19.0-18-amd64-tr.properties
/home/lokal/.kde/cache-pardus
/home/lokal/.kde/socket-pardus
/home/lokal/.kde/tmp-pardus
/home/lokal/.zoom/logs/crash_5.9.1.1380_pardus_2022-0207-174732.dmp
/home/lokal/Belgeler/Pardus-Acikkaynak-Notlar/HerkesIcınPardus-Gorsel/000-herkes için pardus ArkaKapak.jpg
/home/lokal/Belgeler/Pardus-Acikkaynak-Notlar/HerkesIcınPardus-Gorsel/000-herkes için pardus Kapak.jpg
Locate ayrıca, bir arama anahtar sözcüğünün veritabanında kaç kez eşleştiğini de söyleyebilir. Bunu, komuta “count” anlamına gelen “-c” parametresi ekleyerek elde edebilirsiniz.
lokal@pardus:~$ locate -c pardus
472
Kullanıcıların burada akılda tutması gereken şey, diğer daha esnek araçların aksine, “locate” komutunun aradığınız dosyanın spesifik ve tam adına ihtiyaç duymasıdır. Locate komutu adından emin olduğunuz bir şeyi bulmak için harikadır ancak dosya adını tam olarak hatırlamadığınız zamanlar için o kadar da iyi sonuçlar vermeyebilir.
Ayrıca, ” locate ” komutu bir veritabanı dosyasını okuduğundan, sonuçlar eski olabilir ve tamamen doğru olmayabilir. Bu sorunu azaltmak için , bir terminal oturumunda “ sudo updateb ” yazarak dosya yolları veritabanınızı güncelleyebilirsiniz.
Find komutunu kullanın
“ Find ” komutu çok daha güçlü ama aynı zamanda daha yavaş bir arama aracıdır. Bunun nedeni, “locate” komutunun aksine, “ find ” komutu aslında kullanıcının peşinde olduğu dosya ve dizinleri disklerinizde aramasıdır. Find, bir dosya veya dizini bulmaya çalıştığınız ancak adını hatırlayamadığınız zamanlar için mükemmeldir, çünkü ” find” komutu belirli bir kullanıcıya veya kullanıcı grubuna ait dosyaları, değiştirilen veya son zamanlarda erişilen dosyaları, belirli bir boyut aralığındaki dosyaları, gizli dosyaları, yürütülebilir dosyaları, salt okunur dosyaları ve belirli izinlere sahip dosyaları arayabilir. En iyi yanı, bir kullanıcının yukarıdaki kriterlerin birçoğunu tek bir “find” komutunda birleştirmede özgür olmasıdır, bu da esasen sonuçları daraltır.
Daraltmaktan bahsetmişken, ” find ” komutunu çalıştırırken yapmak istediğiniz ilk şey, ona belirli bir dizinde arama yapmasını söylemektir. Bu, arama sürecini önemli ölçüde hızlandıracak, ancak her zaman dizinin boyutuna bağlı olacaktır. Dosyanın nerede olabileceğini biliyorsanız, terminali açın, dizine gidin ve “ find . [dosya adı] ” komutunu verin. find komutundan sonra gelen nokta, geçerli dizinde arama yapmasını söyler. Bunun yerine Ana dizininizde arama yapmak istiyorsanız noktayı “~/” ile değiştirin veya tüm dosya sisteminizi aramak istiyorsanız bunun yerine “/” kullanın.
lokal@pardus:~$ sudo find . -name "pardus"
[sudo] password for lokal:
./Masaustu/noteeverything/text/text284_Lidersrv_93_pardus_99.txt
./Masaustu/noteeverything/text/text107_Ankara_toplanti_pardus.txt
./Masaustu/pardus-custom-iso-olusturma.txt
./Masaustu/pardus_build_iso.sh
Şimdi “-name” parametresini “-iname” ile değiştirirsem harf büyüklüğüne bakmaksızın tüm arama sonuçlarını görebilirim. Bu, “locate” de olmayan bir şeydir, bu nedenle dosya adından emin olmadığınız zamanlar için kullanabileceğiniz bir parametredir.
lokal@pardus:~$ sudo find . -name "Pardus" ./Masaustu/noteeverything/text/text257_Pardus_ingografik.txt ./Masaustu/noteeverything/text/text266_Pardus_yabanci_basin.txt ./Masaustu/noteeverything/text/text102_Pardus_linkedin2.txt ./Downloads/Pardus-roportaj.docx
Şimdi, aynı dosyayı hala aradığımı ve hatırladığım tek şey boyutunun 5 MB’tan küçük olduğunu varsayalım. Bu durumda kullanacağım komut şu şekilde olacaktır:
find ~/ -size -5M
Find komutunun en iyi yanı aramayı daha da güçlü hale getirmek için boolean operatörlerini desteklemesidir. Bu örnek için, dosyanın boyutunun 5 megabayttan küçük ve ayrıca 2 megabytetan büyük olduğu bilgisini birleştiren bir komut kullanacağım. Bunun için komut şöyle olacaktır:
find / -size -5M -and -size +2M
Son olarak, dosya hakkında hiçbir şey hatırlamadığımızı, ancak dosyaya üç dakika önce eriştiğimizi hatırlayalım. rAradığımız dosyayı bulmak için find komutunu şu şekilde kullanın:
find / -amin -3
Bu, yarım saat için “find / -amin -30” ve iki saat için “-amin -120” vb. olacaktır. Dosyaya iki gün önce eriştiyseniz, aşağıdaki komutu kullanın:
find / -time -2
Yazının orijinalini buradan okuyabilirsiniz.
![](/wp-content/uploads/2022/03/Huseyin-guc.jpeg)
Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.