Nasıl yapılacağını bilmiyorsanız, bir Linux sisteminde bir dosya bulmak zor olabilir. Dosyaları bulmanın en iyi yolu birkaç farklı terminal komutu kullanmaktır. Bu komutlara hakim olmak, dosyalarınız üzerinde tam kontrol sahibi olmanızı sağlayabilir ve bunlar, diğer işletim sistemlerindeki basit arama işlevlerinden çok daha güçlüdür.
adımlar
Yöntem 1/3: "Bulun" kullanma
Adım 1.
yerini belirlemek işlevsellik.
Lokasyon komutu, dosya yapınızın bir veritabanında çalıştığı için genellikle find komutundan çok daha hızlı çalışır. Tüm Linux dağıtımları, konum bulma işlevi yüklü olarak gelmez, bu nedenle yüklemeyi denemek için aşağıdaki komutları girin:
- sudo apt-get update yazın ve ↵ Enter'a basın.
- Debian ve Ubuntu'ya şu şekilde yükleyebilirsiniz: sudo apt-get install mlocate yazın ve ↵ Enter'a basın. Lokasyon zaten kuruluysa, mlocate mesajının zaten en yeni sürüm olduğunu görürsünüz.
- Arch Linux'ta pacman paket yöneticisini kullanın: pacman -S mlocate
- Gentoo için, ortaya çıkın: ortaya mlocate
Adım 2. Güncelleyin
yerini belirlemek veri tabanı.
Bulma komutu, veritabanı oluşturulup güncellenene kadar hiçbir şey bulamaz. Bu, günlük olarak otomatik olarak gerçekleşir, ancak manuel olarak da güncelleyebilirsiniz. Bul özelliğini hemen kullanmaya başlamak istiyorsanız bunu yapmanız gerekir.
sudo updateb yazın ve ↵ Enter'a basın
Adım 3. Kullanın
yerini belirlemek basit aramalar yapmak için
Bulma komutu hızlıdır, ancak bul komutu kadar çok seçeneğe sahip değildir. Bul komutuyla aynı şekilde temel bir dosya araması gerçekleştirebilirsiniz.
bul -i "*.jpg"
- Bu komut,-j.webp" />
- Bul komutu gibi, -i de sorgunuzun durumunu yok sayar.
Adım 4. Arama sonuçlarınızı sınırlayın
Aramalarınız ele alınamayacak kadar çok sonuç döndürüyorsa, -n seçeneğini ve ardından görüntülenmesini istediğiniz sonuç sayısını kullanarak bunları kısaltabilirsiniz.
bulun -n 20 -i "*.jpg"
- Yalnızca sorguyla eşleşen ilk 20 sonuç görüntülenecektir.
- Ayrıca | kolay kaydırma için sonuçları daha azına göndermek için boru.
Yöntem 2/3: "Bul" kullanma
Adım 1. Dosya adına göre bir dosya arayın
Bu, find komutunu kullanarak yapabileceğiniz en temel aramadır. Aşağıdaki komut, geçerli dizinde ve herhangi bir alt dizinde sorguyu arayacaktır.
-iname "dosyaadı"nı bul
adı yerine -iname kullanılması, sorgunuzun durumunu yok sayar. -name komutu büyük/küçük harf duyarlıdır
Adım 2. Aramayı kök dizinde başlayacak şekilde ayarlayın
Tüm sisteminizde arama yapmak istiyorsanız, sorguya / değiştiricisini ekleyebilirsiniz. Bu, find'in kök dizinden başlayarak tüm dizinleri aramasını söyleyecektir.
bul / -iname "dosya adı"
- /'yi /home/pat gibi bir dizin yolu ile değiştirerek belirli bir dizinde aramayı başlatabilirsiniz.
- bir kullanabilirsiniz. / yerine aramayı yalnızca geçerli dizinde ve alt dizinlerde gerçekleştirilmeye zorlamak için.
Adım 3. Joker karakteri kullanın
* sorgunun parçasıyla eşleşen herhangi bir şeyi aramak için.
Tam adını bilmiyorsanız veya belirli bir uzantıya sahip her şeyi bulmak istiyorsanız, joker * karakteri bir şeyi bulmak için yararlı olabilir.
/home/pat -iname "*.conf" öğesini bulun
- Bu, Pat'in kullanıcı klasöründeki (ve alt dizinlerindeki) tüm.conf dosyalarını döndürür.
- Dosya adının bir kısmıyla eşleşen her şeyi bulmak için de kullanabilirsiniz. Örneğin, wikiHow ile ilgili çok sayıda belgen varsa, hepsini "*wiki*" yazarak bulabilirsin.
Adım 4. Arama sonuçlarınızın yönetimini kolaylaştırın
Çok sayıda arama sonucu alıyorsanız, bunları gözden geçirmek zor olabilir. | karakter ve arama sonuçlarını "less" filtreleme programına gönderin. Bu, sonuçları çok daha kolay bir şekilde kaydırmanıza ve filtrelemenize izin verebilir.
bul /home/pat -iname "*.conf" | az
Adım 5. Belirli sonuç türlerini bulun
Değiştiricileri yalnızca belirli türdeki sonuçları döndürmek için kullanabilirsiniz. Doğru değiştiriciyi kullanarak normal dosyaları (f), dizinleri (d), sembolik bağlantıları (l), karakter aygıtlarını (c) ve blok aygıtlarını (b) arayabilirsiniz.
bul / -type f -iname "dosyaadı"
Adım 6. Arama sonuçlarınızı boyuta göre filtreleyin
Benzer adlara sahip çok sayıda dosyanız varsa, ancak aradığınız boyutu biliyorsanız, sonuçlarımızı boyuta göre filtreleyebilirsiniz.
bul / -size +50M -iname "dosyaadı"
- Bu, 50 megabayt veya daha büyük sonuçları döndürür. Daha büyük veya daha küçük boyutları aramak için + veya - kullanabilirsiniz. + veya - işaretinin atlanması, tam olarak belirtilen boyuttaki dosyaları arayacaktır.
- Bayt (c), kilobayt (k), megabayt (M), gigabayt (G) veya 512 bayt bloklara (b) göre filtreleyebilirsiniz. Boyut bayrağının büyük/küçük harfe duyarlı olduğunu unutmayın.
Adım 7. Arama filtrelerini birleştirmek için boole operatörlerini kullanın
Farklı arama türlerini tek bir aramada birleştirmek için -ve, -veya ve -not operatörlerini kullanabilirsiniz.
find /travelphotos -type f -size +200k -not -iname "*2015*"
Komut, boyutu 200 kilobayttan büyük olan ancak dosya adında hiçbir yerde "2015" içermeyen "travelphotos" dizinindeki dosyaları bulur
Adım 8. Dosyaları sahiplerine veya izinlerine göre arayın
Bir kullanıcıya ait belirli bir dosyayı veya belirli izinlere sahip dosyaları bulmaya çalışıyorsanız, aramayı daraltabilirsiniz.
bul / -user pat -iname "dosyaadı" bul / -grup kullanıcıları -iname "dosyaadı" bul / -perm 777 -iname "dosyaadı"
Yukarıdaki örnekler, sorgu için belirtilen kullanıcıları, grupları veya izinleri arayacaktır. Bu türle eşleşen tüm dosyaları döndürmek için dosya adı sorgusunu da atlayabilirsiniz. Örneğin, find / -perm 777, 777 (kısıtlama yok) izinlerine sahip tüm dosyaları döndürür
Adım 9. Dosyalar bulunduğunda eylemleri gerçekleştirmek için komutları birleştirin
Bul komutunu, sorgu tarafından döndürülen dosyalarda yürütebilmek için diğer komutlarla birleştirebilirsiniz. Find komutunu ve ikinci komutu -exec bayrağıyla ayırın ve ardından satırı {};
bulmak. -type f -perm 777 -exec chmod 755 {};
Bu, 777 izne sahip dosyalar için geçerli dizini (ve tüm alt dizinleri) arayacaktır. Daha sonra izinleri 755 olarak değiştirmek için chmod komutunu kullanacaktır
Yöntem 3/3: Dosyalarda Metin Arama
Adım 1. öğesini kullanın
grep Dosyalar içinde metin dizilerini aramak için komut.
Belirli bir tümcecik veya karakter dizisi içeren bir dosya arıyorsanız, grep komutunu kullanabilirsiniz. Temel bir grep komutu aşağıdaki gibi biçimlendirilir:
grep -r -i "arama sorgusu" /path/to/directory/
- -r, aramayı "özyinelemeli" olarak ayarlar, böylece sorgu dizesini içeren herhangi bir dosya için geçerli dizini ve tüm alt dizinleri arar.
- -i, sorgunun büyük/küçük harfe duyarlı olmadığını belirtir. Aramayı büyük/küçük harfe dikkat etmeye zorlamak istiyorsanız, -i operatörünü atlayın.
Adım 2. Fazla metni kesin
Yukarıdaki gibi bir grep araması yaptığınızda, eşleşen sorgunun vurgulandığı metinle birlikte dosya adını göreceksiniz. Aşağıdakileri ekleyerek eşleşen metni gizleyebilir ve yalnızca dosya adlarını ve yollarını görüntüleyebilirsiniz:
grep -r -i "arama sorgusu" /path/to/directory/ | kes -d: -f1
Adım 3. Hata mesajlarını gizleyin
grep komutu, doğru izinler olmadan klasörlere erişmeye çalıştığında veya boş klasörlere girdiğinde bir hata döndürür. Hata mesajlarını /dev/null dizinine gönderebilirsiniz, bu onları çıktıdan gizleyecektir.
grep -r -i "arama sorgusu" /path/to/directory/ 2>/dev/null