Terkadang kita ingin mencari jumlah file dalam sebuah direktori di Linux. Misalnya, menemukan berapa banyak gambar yang ada di direktori unggahan JournalDev WordPress.
Ada berbagai cara untuk melakukannya, mari kita lihat beberapa skenario umum dan perintah terbaik untuk menemukan jumlah file dalam direktori.
1. Temukan Jumlah File dalam Direktori
Kita dapat menggunakan perintah ls bersama dengan perintah wc untuk menghitung jumlah file dalam sebuah direktori. Mari kita hitung jumlah file di direktori root tema saya.
# ls 404.php archive.php functions.php inc layouts phpcs.xml.dist screenshot.png single.php webpack LICENSE comments.php header.php index.php package-lock.json postcss.config.js search.php src woocommerce.css Plugins dist home.php js package.json readme.txt sidebar-left.php style.css README.md footer.php images languages page.php rtl.css sidebar.php template-parts # ls -1 | wc -l 34
Jika Anda melihat gambar, item berwarna biru adalah direktori. Mereka juga disertakan sebagai file dalam output.
Bagaimana jika kita hanya ingin menghitung file dan bukan direktori?
# ls -p | grep -v / | wc -l 24 #
- Perintah “ls -p” mencetak nama direktori dengan “/” di akhir.
- Perintah “grep -v /” memfilter output dan hanya mencetak nama yang tidak mengandung “/”, sehingga menghapus semua direktori.
- Akhirnya, “wc -l” menghitung baris dalam output dan mencetaknya.
Demikian pula, jika Anda ingin menemukan jumlah direktori hanya di dalam direktori, gunakan perintah di bawah ini.
# ls -p | grep / | wc -l 10 #
Catatan:Perintah di atas tidak mencari file yang disembunyikan, jika Anda ingin hitungan memasukkan juga file yang disembunyikan, gunakan opsi “-a” dengan perintah ls.
# ls -a1 | wc -l 41 #
Perintah ini akan menghitung "." dan ".." juga, jadi Anda harus memperhitungkannya di skrip shell Anda jika diperlukan.
2. Menemukan Jumlah File dalam Direktori dan Subdirektori Secara Rekursif
Contoh di atas baik untuk menghitung file dan direktori dalam sebuah direktori. Namun, jika Anda ingin menghitung jumlah file termasuk subdirektori juga, Anda harus menggunakan perintah find.
# find . -type f ./.test_file ./functions.php ./logger/class-logger-writter.php ./logger/class-logger-export.php ./logger/assets/js/base.js ./logger/assets/css/base.css ./logger/assets/css/base.less ./logger/assets/css/base.css.map ./logger/class-logger-reader.php ./class-protector.php ./class-anti-spam-plugin.php # find . -type f | wc -l 11 #
- Opsi perintah find “-type f” digunakan untuk mencari file biasa.
- Perintah ini akan mengabaikan semua direktori, file “.”, dan “..”. Tapi, itu akan menyertakan file tersembunyi di output.
- Perintah “wc -l” akan menghitung jumlah total baris dan mencetaknya, sehingga memberi kita jumlah file.
Referensi:
- halaman manual perintah wc
- temukan halaman manual perintah