Как посчитать количество файлов в каталоге в Linux

by itisgood

Вы когда-нибудь ломали голову над тем, как подсчитать количество файлов в каталоге и подкаталогах в Linux?

В этой краткой статье мы рассмотрим, как вы можете сделать это простым, но точным способом.

1) Использование команды wc

Команда WC, сокращенно от Word Count, – это инструмент командной строки в системах Unix / Linux, используемый для вывода новых строк, подсчета количества строк и символов в файле.

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

Чтобы подсчитать количество файлов в каталоге, используйте синтаксис ниже

# ls -1 | wc -l

ls: список файлов
-1: это ОДИН. Он выводит одну запись в строке. Чтобы вывести скрытые файлы, измените его на -1a
| : Вывод труб в …
wc: Wordcount
-l: считает строки

Чтобы подсчитать количество файлов за пределами каталога, вы можете указать имя каталога, как показано ниже:

# ls directory_name | wc -l

Чтобы продемонстрировать, как работают эти команды, давайте создадим новую директорию test_folder и перейдем в нее.

# mkdir test_folder && cd test_folder

Далее мы  создадим несколько текстовых файлов для демонстрационных целей.

# touch  file1.txt file2.txt file3.txt file4.txt file5.txt

Давайте подтвердим существование файлов, перечислив их с помощью команды ls

# ls -l

Вывод:

Отлично, теперь давайте посчитаем файлы

# ls -1 | wc -l

Точно так же вы можете выйти из каталога с помощью команды cd

# cd ..

Точно так же вы можете выйти из каталога с помощью команды cd

# cd ..

и запустите

# ls test_folder | wc -l

2) Использование команды tree

tree – это инструмент командной строки Unix / Linux, который рекурсивно печатает каталоги в древовидном формате.

Он отображает каждый каталог вместе со всеми его подкаталогами. Кроме того, он также может отображать и распечатывать количество файлов в каталоге.

Перейдите в наш пример test_folder

cd test_folder

Затем выполните команду

tree

Вывод

Как вы можете видеть, мы перечислили имена файлов, а также счетчик внизу.

Очевидно, что благодаря наблюдению, количество соответствует точно числу файлов, созданных ранее.

3) Rsync команда

Мы можем использовать команду rsync, чтобы найти количество файлов файлов, каталогов, символических ссылок.

# rsync --stats --dry-run -ax /etc /test

–dry-run используется не для передачи файлов. / test должен быть любой пустой или несуществующей папкой.

# rsync --stats --dry-run -ax /etc /test

Number of files: 1,406 (reg: 622, dir: 187, link: 597)
Number of created files: 1,406 (reg: 622, dir: 187, link: 597)
Number of deleted files: 0
Number of regular files transferred: 622
Total file size: 2,341,951 bytes
Total transferred file size: 2,320,656 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 0
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 64,184
Total bytes received: 4,429

sent 64,184 bytes  received 4,429 bytes  137,226.00 bytes/sec
total size is 2,341,951  speedup is 34.13 (DRY RUN)

4) Рекурсивный подсчет файлов по каталогам и подкаталогам

Для рекурсивного подсчета файлов по каталогам и подкаталогам используйте команду ниже

# find DIR_NAME -type f | wc -l

Где:

DIR_NAME – это имя каталога

– type f указывает только файлы

wc (Word Count) подсчитывает количество строк, слов и байтов на входе

-l считает новые строки

Если вы считаете файлы в текущем каталоге, замените DIR_NAME точкой, как показано

# find . -type f | wc -l

Чтобы включить другие подпапки и файлы в подпапки, не используйте флаг – type f.

find . | wc -l

Я надеюсь, что эта статья была полезна и что теперь вы можете с удобством подсчитать количество файлов в каталогах и подкаталогах.

Кроме того, попробуйте инструмент ncdu, который является инструментом с графическим интерфейсом, который также помогает найти количество файлов.

You may also like

Leave a Comment