Sistem file Linux saya memiliki puluhan ribu file per direktori. Melihat daftar semua file membutuhkan beberapa menit untuk dihitung oleh sistem saya, yang terlalu lambat. Tapi saya tidak yakin file apa yang ada di setiap direktori jadi ingin melihat daftar beberapa yang pertama, seperti apa yang dilakukan perintah kepala untuk file besar. Apakah ada perintah yang efisien melakukan ini?
Sunting: Memiping ls ke sesuatu yang lain tidak baik karena ls membutuhkan beberapa menit untuk menyelesaikan, sebelum memiping output. Saya memerlukan perintah yang hanya akan mengembalikan beberapa catatan pertama.
Jawaban:
Coba
ls -f
yang tidak mengurutkan.sumber
ls -f | sort | less
juga jauh lebih cepat! Kegilaan.Untuk masing-masing direktori Anda dapat melakukan hal berikut dengan skrip shell
Coba ini, ini memberikan satu halaman penuh dengan entri
Anda bahkan dapat mendorong ini ke beberapa file jika Anda mau sehingga Anda dapat merujuknya nanti, untuk itu gunakan ini
Terima kasih
sumber
more
digunakan sesaat sebelum pengalihanless
menggunakannya, bukanmore
Jika Anda ingin daftar N entri pertama, saya hanya akan membuat program C kecil yang melakukan panggilan opendir dan kemudian N panggilan ke readdir
sumber
Itu tergantung pada sistem file, tetapi biasanya lebih cepat untuk mendaftar hanya nama file (lihat objek direktori) dibandingkan semua metadata file (menyimpan satu stat () per file).
Sudahkah Anda mencoba
ls -R
?Kalau tidak, itu mungkin membayar Anda untuk menjalankan program menemukan GNU di latar belakang secara berkala, dan menggunakan DB yang dihasilkan untuk melacaknya.
sumber
Anda bisa menggunakan
head
:sumber