Bilangin ang Mga File sa Direktoryang Recursively

Count Files Directory Recursively



Minsan, kinakailangan upang malaman ang eksaktong bilang ng mga file na magagamit sa ilalim ng isang tukoy na direktoryo. Lumilitaw ang problema kung naglalaman ang direktoryo ng isa o higit pang mga sub-direktoryo. Nakasalalay sa bilang ng mga file at direktoryo, ang manu-manong pagbibilang ay maaaring maging imposible.

Sa gabay na ito, suriin kung paano bilangin ang mga file sa isang direktoryo nang recursively sa Linux.







Pagbibilang ng file

Pangunahing pagbibilang ng file
Para sa pagpapakita, narito ang isang sample na direktoryo na may maraming mga sub-direktoryo.



$ puno demo_dir



Tulad ng nakikita mo, ang print ng puno ay i-print ang buong istraktura ng direktoryo nang paulit-ulit na may bilang ng mga file sa dulo. Gayunpaman, kung ang bilang ng mga file at direktoryo ay masyadong malaki, ang pagkuha ng isang ulat ay hindi mabisa.





Isang alternatibong paraan ay ang paggamit ng mga hanapin at wc na utos. Una, ang find command ay bubuo ng isang listahan ng mga file sa loob ng direktoryo. Pagkatapos, bibilangin ng utos ng wc ang linya ng output, tinutukoy ang bilang ng mga file.

Ang utos ay magmumukhang ganito.



$ find -type f | wc -l

Sa kaso ng find command, narito ang isang maikling paliwanag sa mga watawat at argumento.

  • : Ang direktoryo upang maisagawa ang pagbibilang ng file.
  • -type f: Natutukoy ang uri ng file (file / direktoryo) na hahanapin. Dito, nangangahulugan ang f para sa mga file lamang.

Sa kaso ng utos ng wc, narito ang isang maikling paliwanag sa watawat.

  • -l: Binibilang ang bilang ng mga linya. Gumagana ito sa pamamagitan ng pagbibilang ng bilang ng mga bagong character sa output.

Ilapat natin ang utos sa direktoryo ng pagsubok ng amin.

$ find ./demo_dir -type f | wc -l

Kung maaari, inirerekumenda na gamitin ang buong landas ng direktoryo.

$ find / home / viktor / Desktop / demo_dir -type f | wc -l

Nagbibilang sa mga direktoryo
Kung ang mga direktoryo ay isasama rin sa pagbibilang, sa halip gamitin ang sumusunod na istraktura ng utos. I-print ng find command ang mga direktoryo at ang kasunod na mga file sa output.

$ hanapin | wc -l

Lalim ng direktoryo
Sinusuportahan ng find command ang lalim ng direktoryo. Tinutukoy ng lalim ng direktoryo kung paano lalabas ang malalim na paghahanap sa paghahanap ng mga file.

Mayroong dalawang uri ng kailaliman ng direktoryo na makakahanap ng suporta.

  • maxdepth: Ang maximum na paghahanap ng antas ay bababa. Ang halaga ng maxdepth ay magiging isang hindi negatibong integer.
  • mindepth: Ang minimum na lalim na kinakailangan para sa paghahanap upang kumilos sa isang direktoryo. Ang halaga ng mindepth ay magiging isang hindi negatibong integer.

Tingnan natin ang mga halagang ito sa pagkilos. Ang istraktura ng paghahanap ng paghahanap ay magiging ganito.

$ find -maxdepth

$ hanapin -mindepth

Nagbibilang ng mga File Gamit ang GUI

Kung mayroon kang pagpipilian upang magamit ang GUI upang suriin ang bilang ng file, maaari nating bilangin ang mga file sa isang direktoryo gamit ang mga file manager. Hinahayaan ng mga tagapamahala ng file ang mga gumagamit na pamahalaan ang mga file at direktoryo nang elegante. Sinusuportahan ng anumang file manager ang lahat ng mga pangunahing pag-andar tulad ng paghahanap, pagkopya, paglipat, paglikha, at pagtanggal ng mga file. Sinusuportahan din ng ilang mga file manager ang mga advanced na tampok tulad ng mga koneksyon sa SSH.

Narito ang ilan sa mga pinakamahusay na tagapamahala ng file na magagamit para sa Linux. Karamihan sa kanila ay dapat na magagamit para sa lahat ng mga tanyag na distros ng Linux.

Nautilus File Manager
Ito ang default file manager ng GNOME desktop. Mayroon itong napaka-simplistic na UI, madaling pag-navigate, at pamamahala.

Tignan mo Nautilus File Manager .

Konqueror File Manager
Ang Konqueror ay ang default manager na kasama ng desktop ng KDE. Mayroon itong simplistic file manager na may mga karagdagang tampok, tulad ng suporta ng FTP / SFTP, pagbabahagi ng smb (Windows), audio ripping, atbp.

Gumagamit ang Konqueror ng KHTML rendering engine. Tignan mo Konqueror .

Dolphin File Manager
Pinalitan ng Dolphin si Konqueror bilang default file manager sa desktop ng KDE. Ito ay isang libre, open-source, magaan na file manager na naglalayon sa pagiging simple, kakayahang umangkop, at buong pagpapasadya. Pinapayagan nito ang mga gumagamit na makinis na pag-browse, hanapin, pagkopya, at paglipat ng mga file ng karanasan sa paligid ng Linux system. Nagsasama ito ng iba pang mga kagiliw-giliw na tampok tulad ng pag-preview ng file, nabigasyon na naka-tab, pag-uuri ng file, at pagpapangkat, atbp.

Tignan mo Dolphin .

SpaceFM File Manager
Hindi tulad ng iba pang mga file manager na inilarawan, ang SpaceFM ay isang standalone file manager na hindi nauugnay sa anumang kapaligiran sa desktop. Ito ay isang magandang file manager na magagamit para sa lahat ng mga tanyag na distros ng Linux. Nagtatampok ito ng pagsasama ng bash, built-in na VFS, at pagpapasadya ng menu, atbp.

Tignan mo SpaceFM .

GNU Midnight Commander
Sa wakas, ang GNU Midnight Commander ay isang file manager para sa linya ng utos. Ito ay isang ganap na file manager ngunit sa console screen. Sinusuportahan nito ang lahat ng mga klasikong pag-andar tulad ng paghahanap, pagkopya, paglipat, at pagtanggal ng mga file, atbp.

Tignan mo GNU Midnight Commander .

Pangwakas na Saloobin

Ang pagbibilang ng mga file sa Linux ay hindi mahirap. Ang kailangan lang nito ay ang pagkakaroon ng tamang tool at kaalaman upang malaman. Inaasahan namin, ang gabay na ito ay matagumpay sa pagpapakita kung paano bilangin ang mga file sa mga direktoryo nang recursively sa Linux.

Maligayang computing!