example.filename
FreeBSD sunucumdaki tüm kopyalarını bulmaya çalışıyorum . Bunu yapmanın en iyi / en kolay / en etkili yolu nedir?
example.filename
FreeBSD sunucumdaki tüm kopyalarını bulmaya çalışıyorum . Bunu yapmanın en iyi / en kolay / en etkili yolu nedir?
Yanıtlar:
find / -name example.filename
locate filename
Çok daha hızlı daha find
, eğer sen hizmetini bulun çalıştırıyorsanız ve sadece zaman var olan dosyaları bulur updatedb
(bir cron işi kontrolü altında befor Yukleme gece) son koştu.
Sen edebilirsiniz çalıştırmak updatedb
elle, ama bundan bile daha yavaştır cletus anlaşılacağı ve kök gerektirir. Bazen bir sürü yeni şey yükledikten sonra veritabanını el ile güncelliyorum.find
find /
haftada bir kereden fazla herhangi bir büyük ağaç üzerinde yapıyor veya bulursanız , locate
hizmeti çalıştırmak muhtemelen faydalıdır, çünkü locate(1)
çok daha hızlıdır.
sudo periodic weekly
günceller locate
. İstediğiniz dosyaları içerebilecek herhangi bir yükleme veya indirme işleminden sonra bunu çalıştırın.
Eğer yerleştirme (aka slocate) yüklediyseniz,
locate example.filename
locate, her gece makinenizdeki tüm dosyaları yeniden endeksleyen bir cron işi çalıştırır. Bu nedenle her zaman güncel değildir.
Bazen dosyaları belirli bir dizin düzeyinde bulmak istersiniz. Bu durumda, kabuk joker karakterlerini kullanmak uygun olabilir:
ls /data/*/example.filename
Açıkçası bu sadece katı bir dizin yapınız varsa işe yarar.
locate
Diğerlerinin de belirttiği gibi, locate
bir dosya bulmanın hızlı yoludur. Bu komut, dosya ve klasör adlarının önceden derlenmiş bir dizinini kullanır. Bu ad veritabanı, dosya sisteminizi taramak yerine aranır.
locate example.filename
Büyük / küçük harfe duyarlı olmamak için ekleyin -i
.
locate -i eXAmPle.FileName
locate
Veritabanını güncelleTarafından kullanılan veritabanı locate
güncel olmalıdır. İstediğiniz dosyayı içerebilecek bir yükleme veya indirme işlemi yaptıktan sonra locate
veritabanını güncellemelisiniz .
locate
Veritabanı sonunda FreeBSD sistem tarafından otomatik olarak güncellenecektir. Bu görevi içeren haftalık bir dizi iş vardır. Bu işler /etc/periodic/weekly/310.locate
komut dosyasında listelenir .
locate
Veritabanının erken güncellenmesini zorlamanın en kolay yolu , haftalık işlerin şimdi yapılmasını zorlamaktır.
sudo periodic weekly
Ya da tüm normal işleri yapmaya bile zorlayabilirsiniz. Yeni bir FreeBSD sistemi kurduktan hemen sonra bunu yapmak isteyebilirsiniz.
sudo periodic daily weekly monthly
locate
Veritabanını güncellemek için başka yollar kullanıyorsanız , güvenli olmama hakkında bir mesaj alabilirsiniz, bu da sisteminizin tüm dosyalarının adlarını FreeBSD sistemindeki herhangi bir kullanıcıya gösterir. periodic
Rotanın kullanılması bu sorunu önler.
Bulma veritabanını güncel varsa, sadece:
locate example.filename
Bazen yaparım
find . | grep example.filename
ancak muhtemelen oldukça verimsiz.