Linux'ta acemiyim ve .conf
içindeki tüm dosyaları aramak istiyorum /etc/
.
Denedim grep -r *.conf /etc
ama sonuç doğru değil.
Neyi yanlış yapıyorum?
Linux'ta acemiyim ve .conf
içindeki tüm dosyaları aramak istiyorum /etc/
.
Denedim grep -r *.conf /etc
ama sonuç doğru değil.
Neyi yanlış yapıyorum?
Yanıtlar:
Terminal'i açmak için klavyenizdeki Ctrl+ Alt+ tuşlarına basın T. Açıldığında, aşağıdaki komutu çalıştırın:
find . -type f -name "*.txt"
Bu, uzantıdaki tüm dosyaları listeler .txt
.
.
Başında geçerli dizini gösterir. find
Verilen yolun altındaki tüm dizinlerde tekrarlı olarak arama yapar. Aramanın geçerli çalışma dizinden başka bir yerden başlamasını istiyorsanız, yolu belirtin, örneğin:
find /etc -type f -name "*.conf"
Bu, /etc
dizinde ve tüm alt dizinlerinde .conf
uzantıya sahip normal dosyalar arar .
find
çok yaygın bir şekilde kullanılır, çok iyi belgelenir ve üzerinde çalışılması daha kolay olan bir şey bulmanın daha zor olacağı pek çok StackOverflow / Exchange yayını vardır. Hemen yapmak istediğiniz her şey çevrimiçi bir yere yazılmış.
Ben şahsen kullanırdım find
, ama sen de bu şeylerden kaçabilirsin:
shopt -s globstar
ls /etc/{,**/}*.conf
Ve konumlandırmayı kullanabilirsiniz ve hızlıdır ancak güvenilir değildir.
locate '/etc/**.conf'
locate
güvenilir değil ?
locate
mlocate veri tabanına dayanarak yakın zamanda güncellenmiştir. Varsayılan olarak, yalnızca günde bir kez güncellenmesi zamanlanır (elle zorlayabilirseniz de updatedb
).
grep
dosya adlarını değil dosya içeriğini arar .
İçindeki tüm .conf
dosyaları bulmak için bulmak /etc/
isteyeceksiniz:
find /etc -name "*.conf"
Find komutu yavaştır, bu komutu kullanmanız hemen sonuç verecektir:
locate "/etc/*.conf"
locate
Komut hakkında daha fazla bilgiyi ( mlocate
pakette) burada bulabilirsiniz: https://medium.com/@thucnc/the-fastest-way-to-find-files-by-filename-mlocate-locate-commands-55bf40b297ab
locate
iki yıl önce belirtildi: askubuntu.com/a/333728/158442