Saya perlu mengatur HDD eksternal sehingga tidak ada lebih dari 500 folder di dalamnya. Panel "Properties" Ubuntu hanya menampilkan jumlah file, bukan jumlah folder.
Apakah ada baris perintah sederhana yang akan memberi tahu saya jumlah subdirektori?
Saya perlu menghitung secara rekursif, dan drive adalah HDD eksternal yang dipasang di /media/MUSIC/
. Ini untuk sistem stereo mobil yang dokumentasinya mengatakan hanya membaca 500 folder pertama.
linux
command-line
Dean Sebaliknya
sumber
sumber
grep -c
overwc -l
. Mungkin hanya aku.\nd
(di mana\n
karakter NL).ls
output tidak seharusnya disalurkan . Selain itu ini akan jauh lebih lambat karena harus mengeluarkan seluruh pohon dan kemudian menjalankan grep melaluinyaTemukan semua folder secara total, termasuk subdirektori?
... atau temukan semua folder di direktori root (tidak termasuk subdirektori)?
sumber
*foo*
untuk membuat miring: foo )find /path -not -iname '*.mp3' | wc -l
untuk memfilter MP3, atau untuk menggunakan MP3 dan WAVfind /path -not -iname '*.mp3' -not -iname '*.wav' | wc -l
Baris baru adalah karakter yang valid dalam nama direktori. Saya sarankan membiarkan
find
mencetak baris kosong untuk setiap direktori yang ditemukan dan kemudian membiarkanwc
menghitung baris tersebut.sumber
Coba yang berikut ini [lihat di bawah]:
Ini akan mencetak daftar satu kolom dari direktori saat ini, dengan garis miring untuk item yang merupakan subdirektori, kemudian hitung garis dengan garis miring.
EDIT: Anda mungkin harus pergi dengan jawaban quack quixote, karena ini sedikit lebih eksplisit, tapi saya sudah mengoreksi milik saya (setelah mempertimbangkan saran quack).
sumber
-1
karena ls akan mendeteksi pipa dan tidak akan memformat kolom. Anda juga dapat mengambil daftar rekursif dengan-R
, tetapi kemudian Anda mungkin ingin menerima"/$"
hanya mencocokkan garis miring (atau jumlah akan dimatikan). versi final:ls -Rp | grep "/$" | wc -l
.
(yaitu/mount/point
) di hitung nya, ls versi dalam komentar di atas saya tidak akan. jumlah tersebut berbeda dengan 1, yang dapat Anda gunakan/mount/point/*
dalam perintah find untuk memperbaikinya (dengan asumsi tidak ada dot-direktori tersembunyi).Saya telah menulis ffcnt untuk mempercepat penghitungan file rekursif dalam keadaan tertentu: disk rotasi dan sistem file yang mendukung pemetaan luas.
Ini bisa menjadi urutan besarnya lebih cepat dari
ls
ataufind
berdasarkan pendekatansumber
Ketika ada sejumlah besar direktori, alat-alat seperti
tree
mungkin membutuhkan selamanya untuk diselesaikan atau bahkan digantung, jadi Anda mungkin ingin menggunakan sesuatu yang lebih efisien.Cara paling efisien untuk menghitung direktori yang dapat saya pikirkan adalah sebagai berikut, karena
find
hanya akan mencetak satu.
untuk setiap folder yang ditemukan alih-alih path lengkap dan nama file danwc
hanya perlu mengulangi jumlah karakter:Untuk mengecualikan
/mount/point
dirinya dari perhitungan dan hanya menghitung sub direktori:sumber
Saya menemukan
du --inodes
bermanfaat, tetapi saya tidak yakin versi mana yangdu
dibutuhkan. Di Ubuntu 17.10, yang berikut ini berfungsi:Gabungkan dengan
| sort -nr
untuk mengurutkan menurun berdasarkan jumlah inode yang mengandung.sumber
Saya suka menggunakan pohon untuk menarik jumlah direktori
Atau, gunakan sakit untuk menunjukkan sebagian besar folder berada
sumber
Untuk menemukan jumlah folder dan direktori di direktori saat ini
Ketikkan perintah berikut di terminal Anda
sumber