Jawaban:
ls -F |grep -v / | wc -l
ls -F daftar semua file dan tambahkan indikator (salah satu dari * / => @ |) ke entri grep -v /simpan semua string yang tidak mengandung garis miring wc -l menghitung garisCoba ini
ls -al | grep ^[-] | wc -l
ls -al - daftar semua file dengan format daftar panjanggrep ^[-] - mencari string yang dimulai dengan "-" yang merupakan simbol untuk menunjukkan file biasa ketika daftar file dengan ls -alwc -l - menghitung garis-denganl
Saya hanya ingin menambahkan jawaban mereka karena saya suka bermain dengan Bash . Ini dia:
echo "Directory $(pwd) has $(ls -F |grep -v / | wc -l) files"
Di bawah ini adalah contoh hasil /datadirektori saya :
Directory /data has 580569 file(s).
Dan di bawah ini penjelasan saya:
echo double-quoted-message akan mencetak pesan yang diinginkan.$(any-desirable-valid-command)di dalam pesan yang dikutip ganda dari suatu echoakan mencetak hasil dari eksekusi perintah terkait.pwd akan mencetak direktori saat ini.ls -Fadalah untuk mendaftarkan semua file dan menambahkan indikator (salah satu dari * / => @ |) ke entri. Saya menyalin ini dari jawaban mereka .grep -v /adalah perintah untuk mencari teks biasa, -v /parameter akan menyimpan semua string yang tidak mengandung slash (es).wc -l akan mencetak penghitungan baris.Saya tahu pertanyaan ini berumur 3 tahun, saya tidak bisa menahan keinginan saya untuk menambahkan jawaban lain.
Jika Anda telah treemenginstal pada sistem Anda, Anda dapat menggunakan perintah ini:
tree -L 1 /path/to/your/directory | tail -n 1
Ini menunjukkan kepada Anda jumlah file dan direktori dalam direktori itu.
-L n menunjukkan kedalaman pencarian.
Anda dapat menginstal treedengan sudo apt-get install tree.
Untuk menghitung jumlah total file dengan ekstensi spesifik Anda dapat mengetik:
ls|grep jpg |wc -l