Linux'ta acemiyim ve .confiçindeki tüm dosyaları aramak istiyorum /etc/.
Denedim grep -r *.conf /etcama sonuç doğru değil.
Neyi yanlış yapıyorum?
Linux'ta acemiyim ve .confiçindeki tüm dosyaları aramak istiyorum /etc/.
Denedim grep -r *.conf /etcama 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. findVerilen 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, /etcdizinde ve tüm alt dizinlerinde .confuzantı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'
locategüvenilir değil ?
locatemlocate 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).
grepdosya adlarını değil dosya içeriğini arar .
İçindeki tüm .confdosyaları 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"
locateKomut hakkında daha fazla bilgiyi ( mlocatepakette) burada bulabilirsiniz: https://medium.com/@thucnc/the-fastest-way-to-find-files-by-filename-mlocate-locate-commands-55bf40b297ab
locateiki yıl önce belirtildi: askubuntu.com/a/333728/158442