Пребройте файловете в директория рекурсивно

Count Files Directory Recursively



Понякога е необходимо да се установи точния брой файлове, налични в определена директория. Проблемът възниква, ако директорията съдържа една или повече поддиректории. В зависимост от броя на файловете и директориите, ръчното броене може да бъде практически невъзможно.

В това ръководство проверете как да броите файлове в директория рекурсивно в Linux.







Преброяване на файлове

Основно броене на файлове
За демонстрация, ето примерна директория с множество поддиректории.



$ дърво demo_dir



Както можете да видите, командата дърво ще отпечата цялата структура на директориите рекурсивно с броя на файловете в края. Ако обаче броят на файловете и директориите е твърде голям, получаването на отчет е неефективно.





Алтернативен начин е да използвате командите find и wc. Първо, командата find ще генерира списък с файлове в директорията. След това командата wc ще преброи изходящия ред, определяйки броя на файловете.

Командата ще изглежда така.



$ find -тип f | wc -l

В случай на командата find, ето кратко обяснение на флаговете и аргументите.

  • : Директорията, в която се извършва броенето на файлове.
  • -type f: Определя вида на файла (файл/директория), който да търсите. Тук f означава само за файлове.

В случая с командата wc, ето кратко обяснение на флага.

  • -l: Преброява броя редове. Той работи, като брои броя на символите на нов ред в изхода.

Нека приложим командата към нашата тестова директория.

$ find ./demo_dir -тип f | wc -l

Ако е възможно, препоръчително е да използвате пълния път на директорията.

$ find/home/viktor/Desktop/demo_dir -тип f | wc -l

Преброяване с директории
Ако директориите също трябва да бъдат включени в преброяването, използвайте следната командна структура. Командата find ще отпечата директориите и следващите файлове в изхода.

$ find | wc -l

Дълбочина на директория
Командата find поддържа дълбочина на директорията. Дълбочината на директорията определя колко дълбока находка ще се спуска в търсене на файлове.

Има два типа дълбочини на директории, които намират поддръжка.

  • maxdepth: Намаляването на максималното ниво ще се понижи. Стойността на maxdepth ще бъде неотрицателно цяло число.
  • mindepth: Минималната дълбочина, необходима за намиране, за да действа върху директория. Стойността на mindepth ще бъде неотрицателно цяло число.

Нека да разгледаме тези ценности в действие. Структурата на командата find ще изглежда така.

$ find -maxdepth

$ find -mindepth

Преброяване на файлове с помощта на GUI

Ако имате възможност да използвате GUI за проверка на броя на файловете, можем да преброим файловете в директория с помощта на файлови мениджъри. Файловите мениджъри позволяват на потребителите да управляват елегантно файловете и директориите. Всеки файлов мениджър поддържа всички основни функции като търсене, копиране, преместване, създаване и изтриване на файлове. Някои файлови мениджъри дори поддържат разширени функции като SSH връзки.

Ето някои от най -добрите файлови мениджъри, налични за Linux. Повечето от тях трябва да са достъпни за всички популярни дистрибуции на Linux.

Файлов мениджър Nautilus
Това е файлов мениджър по подразбиране на работния плот на GNOME. Той има много опростен потребителски интерфейс, лесна навигация и управление.

Разгледайте Файлов мениджър Nautilus .

Файлов мениджър на Konqueror
Konqueror е мениджърът по подразбиране, който се доставя с работния плот на KDE. Той има опростен файлов мениджър с допълнителни функции, като например поддръжка на FTP/SFTP, споделяне на smb (Windows), извличане на аудио и др.

Konqueror използва механизма за изобразяване на KHTML. Разгледайте Konqueror .

Dolphin File Manager
Dolphin заменя Konqueror като файлов мениджър по подразбиране на работния плот на KDE. Това е безплатен, лек файлов мениджър с отворен код, който има за цел простота, гъвкавост и пълно персонализиране. Позволява на потребителите безпроблемно сърфиране, намиране, копиране и преместване на файлове в Linux системата. Той включва други интересни функции като визуализация на файлове, навигация с раздели, сортиране на файлове и групиране и т.н.

Разгледайте Делфин .

Файлов мениджър на SpaceFM
За разлика от другите описани файлови мениджъри, SpaceFM е самостоятелен файлов мениджър, който не е свързан с никаква работна среда. Това е красив файлов мениджър, достъпен за всички популярни дистрибуции на Linux. Той разполага с bash интеграция, вграден VFS и персонализиране на менюта и т.н.

Разгледайте SpaceFM .

GNU Midnight Commander
И накрая, GNU Midnight Commander е файлов мениджър за командния ред. Това е пълноправен файлов мениджър, но на екрана на конзолата. Той поддържа всички класически функции като търсене, копиране, преместване и изтриване на файлове и т.н.

Разгледайте GNU Midnight Commander .

Заключителни мисли

Преброяването на файлове в Linux изобщо не е трудно. Всичко, което изисква, е да разполагате с подходящия инструмент и знания, за да разберете. Надяваме се, че това ръководство демонстрира как да се броят файловете в директории рекурсивно в Linux.

Честит компютър!