X
wikiHow bir “wiki”dir. Bu, makalelerimizin çoğunun birden fazla yazar tarafından ortaklaşa yazıldığı anlamına gelir. Bu makaleyi oluşturmak için, zaman içinde makaleyi düzenlemek ve iyileştirmek üzere bazıları isimsiz, 17 kişi çalıştı.
Bu makale 8.867 defa görüntülenmiştir.
Linux sisteminde bir dosyayı bulmak, nasıl yapılacağını bilmiyorsan zor olabilir. Dosyaları bulmanın en iyi yolu birkaç farklı terminal komutu kullanmaktır. Bu komutları öğrendiğinde, dosyaların üzerinde tam kontrole sahip olabilirsin. Bu komutlar, diğer işletim sistemlerindeki basit arama işlevlerinden çok daha güçlüdürler.
Adımlar
Yöntem 1
Yöntem 1 / 3:"Find" Komutunu Kullanma
Yöntem 1
-
1Dosyayı, dosya adına göre ara. Bu, find (bul) komutunu kullanarak yapabileceğin en basit aramadır. Aşağıdaki komutu yazdığında geçerli dizindeki ve herhangi bir alt dizindeki sorgu aranacaktır.[1]
find -iname "dosyaadı"
- -name yerine -iname kullandığında sorgunun büyük/küçük harf duyarlılığı dikkate alınmaz. -name komutu büyük/küçük harf duyarlıdır.
-
2Aramayı, kök dizinde başlayacak şekilde ayarla. Tüm sistemi aramak istiyorsan sorguya, / değiştiricisi ekleyebilirsin. Bu sayede find komutu, kök dizinden başlayarak tüm dizinleri arayacak.
find / -iname "dosyaadı"
- / değiştiricisini /home/pat gibi bir dizin yolu ile değiştirerek aramayı, belirli bir dizinde başlatabilirsin.
- Aramanın yalnızca geçerli dizinde ve alt dizinlerde gerçekleştirilmesi için / yerine . kullanabilirsin.
-
3Sorguya ait bir parça ile eşleşen bir şey aramak için .* eşleme karakterini kullan. Eşleme * karakteri, tam adını bilmediğin şeyleri veya belirli bir uzantıya sahip her şeyi bulmak istiyorsan işine yarayabilir.
find /home/pat -iname "*.conf"
- Bu, Pat'in kullanıcı klasöründeki (ve alt dizinlerindeki) tüm .conf dosyalarını getirir.
- Dosya adının bir bölümüyle eşleşen her şeyi bulmak için de kullanabilirsin. Örneğin, wikiHow ile ilgili çok sayıda belgen varsa hepsini "*wiki*" yazarak bulabilirsin.
-
4Arama sonuçlarını daha kolay yönetilebilir hâle getir. Çok fazla arama sonucu çıkıyorsa bunları elemek zor olabilir. | karakterini kullan ve arama sonuçlarını "less" (daha az) filtreleme programına gönder. Bu, sonuçlar arasında daha kolay ilerlemeni ve sonuçları daha kolay filtrelemeni sağlar.
find /home/pat -iname "*.conf" | less
-
5Belirli sonuç türlerini bul. Yalnızca belirli sonuç türlerini getirmek için değiştiricileri kullanabilirsin. Doğru değiştiriciyi kullanarak düzenli dosyaları (f), dizinleri (d), sembolik bağlantıları (l), karakter aygıtlarını (c) ve blok aygıtları (b) arayabilirsin.
find / -type f -iname "dosyaadı"
-
6Arama sonuçlarını dosya boyutuna göre filtrele. Benzer adlara sahip çok sayıda dosyan varsa ama aradığın dosya boyutunu biliyorsan sonuçları dosya boyutuna göre filtreleyebilirsin.
find / -size +50M -iname "dosyaadı"
- Bu, 50 megabayt veya daha büyük olan sonuçları getirir. Daha büyük veya daha küçük boyutları aramak için + veya - kullanabilirsin. + veya - koymadığında, tam olarak belirtilen boyutta dosyalar aranacak.
- Bayta (c), kilobayta (k), megabayta (M), gigabayta (G) veya 512 baytlık bloklara (b) göre filtreleme yapabilirsin. Boyut bayrağının büyük/küçük harf duyarlı olduğunu unutma.
-
7Arama filtrelerini birleştirmek için boole işlemcilerini kullan. Farklı türdeki aramaları bir araya getirmek için -and, -or ve -not işlemcilerini kullanabilirsin.[2]
find /tatilfotograflari -type f -size +200k -not -iname "*2015*"
- Komut, "tatilfotograflari" dizininde 200 kilobayttan büyük ancak dosya adında hiçbir yerde "2015" bulunmayan dosyaları bulur.
-
8Dosyaları sahibine veya izinlerine göre ara. Bir kullanıcıya ait olan belirli bir dosyayı veya belirli izinlere sahip dosyaları bulmaya çalışıyorsan aramayı daraltabilirsin.
find / -user pat -iname "dosyaadı" find / -group users -iname "dosyaadı" find / -perm 777 -iname "dosyaadı"
- Yukarıdaki örnekler, sorgu için belirtilen kullanıcıları, grupları veya izinleri arayacak. Bu türle eşleşen tüm dosyaları getirmek için dosya adı sorgusunu da atlayabilirsin. Örneğin find / -perm 777, 777 (kısıtlama olmadan) izinleri olan tüm dosyaları getirir.
-
9Dosyalar bulunduğunda eylemleri gerçekleştirmek için komutları birleştir. find komutunu diğer komutlarla birleştirebilirsin. Böylece bunları sorgu sonucu gelen dosyalar üzerinde çalıştırabilirsin. find komutunu ve ikinci komutu, -exec bayrağıyla ayır, ardından satırı {} \; ile bitir.
find . -type f -perm 777 -exec chmod 755 {} \;
- Bu, 777 izinlerine sahip dosyalar için geçerli dizini (ve tüm alt dizinleri) arayacak. Daha sonra izinleri 755 olarak değiştirmek için chmod komutunu kullanacak.
Reklam
Yöntem 2
Yöntem 2 / 3:"Locate" Komutunu Kullanma
Yöntem 2
-
1.locate işlevselliğini kur. locate komutu genellikle find komutundan daha hızlı çalışır çünkü bu komut, dosya yapısının veri tabanında çalışır. Linux cihazların hepsinde locate işlevselliği kurulu değildir. Kurmayı denemek için aşağıdaki komutları gir:
- sudo apt-get update yaz ve ↵ Enter tuşuna bas.
- Bunu Debian ve Ubuntu'da şu şekilde yükleyebilirsin: sudo apt-get install mlocate yaz ve ↵ Enter tuşuna bas. Eğer locate zaten kuruluysa mlocate is already the newest version (mlocate en yeni sürümde mevcut) ifadesini göreceksin.
- Arch Linux'ta pacman paket yöneticisini kullan: pacman -S mlocate
- Gentoo için emerge'ü kullan: emerge mlocate
-
2.locate veri tabanını güncelle. locate komutu, veri tabanı oluşturulup güncellenene kadar hiçbir şey bulamaz. Bu, otomatik şekilde günlük olarak yapılır ama bunu sen de manuel olarak güncelleyebilirsin. locate komutunu hemen kullanmaya başlamak istiyorsan bunu yapman gerekecek.[3]
- sudo updatedb yaz ve ↵ Enter tuşuna bas.
-
3Basit aramalar yapmak için .locate komutunu kullan. locate komutu hızlıdır, ancak find komutunda olduğu kadar seçenek yoktur. Basit bir dosya aramasını find komutuyla yaptığına benzer şekilde yapabilirsin.
locate -i "*.jpg"
- Bu komut ile .jpg uzantılı dosyalar tüm sistemde aranacak. * eşleme karakteri, find komutunda çalıştığı şekilde çalışır.
- find komutunda olduğu gibi -i, sorgudaki büyük/küçük harfi dikkate almaz.
-
4Arama sonuçlarını sınırlandır. Aramalarda çok fazla sonuç çıkıyorsa -n seçeneğini ve ardından görüntülenmesini istediğin sonuç sayısını girerek sonuçları azaltabilirsin.
locate -n 20 -i "*.jpg"
- Yalnızca sorguyla eşleşen ilk 20 sonuç görüntülenir.
- Sonuçlar arasında kolayca gezinmek amacıyla sonuçları less komutuna göndermek için | yolunu kullanabilirsin.
Reklam
Yöntem 3
Yöntem 3 / 3:Dosyalarda Metin Arama
Yöntem 3
-
1Dosyalardaki metin dizgilerini aramak için .grep komutunu kullan. Belirli bir kelime öbeği veya bir karakter dizesi içeren bir dosyayı arıyorsan grep komutunu kullanabilirsin. Basit bir grep komutu şu şekildedir:
grep -r -i "arama sorgusu" /path/to/directory/
- -r aramayı "tekrarlamalı" olarak ayarlar, böylece sorgu dizesini içeren herhangi bir dosyayı geçerli dizinde ve tüm alt dizinlerde arar.
- -i sorgunun büyük/küçük harf duyarlı olmadığını gösterir. Aramayı, büyük/küçük harf duyarlı olarak yapmak istiyorsan -i işlemcisini kullanma.
-
2Fazla metni kes. Yukarıdaki gibi bir grep araması yaptığında, dosya adı ile eşleşen sorgunun vurgulandığı metni görürsün. Aşağıdaki kodu ekleyerek eşleşen metni gizleyebilir ve sadece dosya adını ve yolunu görüntüleyebilirsin:
grep -r -i "arama sorgusu" /path/to/directory/ | cut -d: -f1
-
3Hata mesajlarını gizle. grep komutu, doğru izinler olmadan klasörlere erişmeye çalıştığında veya boş klasörlere denk geldiğinde hataları gösterir. Hata mesajlarını /dev/null dizinine gönderebilirsin; bu onları çıkan sonuçlarda gizler.[4]
grep -r -i "arama sorgusu" /path/to/directory/ 2>/dev/null
Reklam
Referanslar
Bu wikiHow makalesi hakkında
Diğer dillerde
English:Find a File in Linux
Español:encontrar un archivo en Linux
Italiano:Trovare un File in Linux
Русский:найти файл в Linux
Deutsch:Eine Datei unter Linux finden
Français:trouver un fichier sous Linux
Nederlands:Een bestand zoeken in Linux
Bahasa Indonesia:Mencari Berkas di Linux
العربية:البحث عن ملف على نظام لينكس
Tiếng Việt:Tìm tập tin trong Linux
한국어:리눅스에서 파일 찾는 방법
日本語:Linuxでファイルを検索する
Bu sayfaya 8.867 defa erişilmiş.
Bu makale işine yaradı mı?
Reklam