En çok bağlanan bağlantıları içeren unix'teki ilk 10 dosyayı nasıl bulabilirim?
En çok bağlanan bağlantıları içeren unix'teki ilk 10 dosyayı nasıl bulabilirim?
Yanıtlar:
Bu iş gibi görünüyor:
$ find . -type l -exec readlink {} \; | sort | uniq -c | sort -r | head
Gösterilen dosya sayısının 10'dan farklı olmasını istiyorsanız, istediğiniz sayıyı argüman olarak ekleyin head
.
Bu, geçerli dizinin altındaki sembolik bağlantıları arayacak, başka bir dizinde arama .
yapmak için istediğiniz yolu ile değiştireceksiniz .
find -type f -ls | sort -rn -k 4 | head -10
Çıktı azalan bağlantı sayısı sırasına göre sıralanır. (-r = geri, -n = sayısal sıralama, -k 4 = sütun 4'te sırala)
Eğer sembolik bağlantılar istiyorsanız, diğer cevaplara bakmak zorundasınız. Kolay cevap veren tek yoruma cevap verdim. : P
Size bir dosyada kaç tane bağlantı olduğunu söyleyen bir şey olduğuna inanmıyorum.
Haklıysam, dizin ağacınızı bağlantılar için aramanız ve onları bağladıkları dosyaya göre sıralamanız gerekir.
find
Komut ile bağlantıları listeleyebilirsiniz -type l
ancak linkleri bulabilirsiniz en özel işlem kullanmadıkça, bağlantı giderir görmüyorum.
O zaman dene:
sudo find -L / -type l -exec ls {} \;
bağlantıları listelemek için. Sonra çıktısını yönlendirmek sort
, uniq
böylece ve.
Bunu henüz test etmedim (zaten tamamlanmadı): Dosya sistemimde bulmak için çoğaltılmış bağlantılarım olup olmadığından emin değilim, bu da testi anlamlı hale getirecek.
ls -l
size sabit bağlantıların sayısını gösterecektir.
-exec ls {}
bağlantıyı gösterecek ancak bağlantı kurmayacağını gösterecektir. Hedefi görmek için -ls
veya tuşunu kullanabilirsiniz -exec ls -l {}
.
-L
bağlantıları çözecek ve type -l
bulamayacaksınız.