- Как подсчитать файлы в каталоге в Linux
- Подсчитать файлы в каталоге
- Рекурсивный подсчет файлов в каталоге
- Выводы
- Как посчитать количество файлов в каталоге в Linux
- 1) Использование команды wc
- 2) Использование команды tree
- 3) Rsync команда
- 4) Рекурсивный подсчет файлов по каталогам и подкаталогам
- linux-notes.org
- Подсчитать количество файлов в папке на Unix/Linux с помощью команды find.
- Подсчитать количество файлов в папке на Unix/Linux с помощью команды ls.
- 4 thoughts on “ Подсчитать количество файлов в папке на Unix/Linux ”
- Добавить комментарий Отменить ответ
- Как узнать, какие файлы и папки были недавно удалены в Linux?
- 3 ответов
- Подсчет количества файлов в каталоге в Linux
- Подсчитать количество файлов в каталоге в Linux
- Подсчитать количество файлов и каталогов (без скрытых файлов)
- Подсчитать количество файлов и каталогов, включая скрытые файлы
- Подсчитать количество файлов и каталогов, включая подкаталоги
- Считайте только файлы, а не каталоги
- Подсчитывать только файлы, а не каталоги и только в текущем каталоге, а не в подкаталогах
Как подсчитать файлы в каталоге в Linux
Хотя не очень часто, бывают случаи, когда вам нужно узнать, сколько файлов находится в данном каталоге. Например, если у вас закончились inodes в вашей системе Linux, вам нужно будет найти, какой каталог содержит тысячи или миллионы файлов.
В этой статье мы покажем вам несколько различных способов определения количества файлов в каталоге в Linux.
Подсчитать файлы в каталоге
Самый простой способ подсчитать файлы в каталоге — перечислить по одному файлу в строке с помощью ls и направить вывод в wc для подсчета строк:
Приведенная выше команда даст вам сумму всех файлов, включая каталоги и символические ссылки. Параметр -1 означает перечисление одного файла в каждой строке, а -U указывает ls не сортировать вывод, что ускоряет выполнение команды.
ls -1U не считает скрытые файлы (файлы точек).
Если вы хотите подсчитывать только файлы и не включать каталоги, используйте следующее:
Параметр -p заставляет ls добавлять в каталоги индикатор косой черты ( / ). Вывод передается команде grep -v , исключающей каталоги.
Чтобы лучше контролировать, какие файлы перечислены в списке, используйте команду find вместо ls :
Параметр -type -type f указывает find выводить список только файлов (включая файлы точек), а -maxdepth 1 ограничивает поиск каталогом первого уровня.
Рекурсивный подсчет файлов в каталоге
Чтобы рекурсивно подсчитать файлы в каталоге, выполните команду find следующим образом:
Другая команда, которую можно использовать для подсчета файлов, — это tree котором содержимое каталогов отображается в древовидном формате:
Последняя строка вывода покажет общее количество перечисленных файлов и каталогов:
Выводы
Мы показали вам, как подсчитать количество файлов в каталоге с помощью команд ls , find и tree .
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Источник
Как посчитать количество файлов в каталоге в Linux
Вы когда-нибудь ломали голову над тем, как подсчитать количество файлов в каталоге и подкаталогах в Linux?
В этой краткой статье мы рассмотрим, как вы можете сделать это простым, но точным способом.
1) Использование команды wc
Команда WC, сокращенно от Word Count, – это инструмент командной строки в системах Unix / Linux, используемый для вывода новых строк, подсчета количества строк и символов в файле.
Команду также можно комбинировать с другими операциями по трубопроводам для общих функций счета.
Чтобы подсчитать количество файлов в каталоге, используйте синтаксис ниже
ls: список файлов
-1: это ОДИН. Он выводит одну запись в строке. Чтобы вывести скрытые файлы, измените его на -1a
| : Вывод труб в …
wc: Wordcount
-l: считает строки
Чтобы подсчитать количество файлов за пределами каталога, вы можете указать имя каталога, как показано ниже:
Чтобы продемонстрировать, как работают эти команды, давайте создадим новую директорию test_folder и перейдем в нее.
Далее мы создадим несколько текстовых файлов для демонстрационных целей.
Давайте подтвердим существование файлов, перечислив их с помощью команды ls
Отлично, теперь давайте посчитаем файлы
Точно так же вы можете выйти из каталога с помощью команды cd
Точно так же вы можете выйти из каталога с помощью команды cd
2) Использование команды tree
tree – это инструмент командной строки Unix / Linux, который рекурсивно печатает каталоги в древовидном формате.
Он отображает каждый каталог вместе со всеми его подкаталогами. Кроме того, он также может отображать и распечатывать количество файлов в каталоге.
Перейдите в наш пример test_folder
Затем выполните команду
Как вы можете видеть, мы перечислили имена файлов, а также счетчик внизу.
Очевидно, что благодаря наблюдению, количество соответствует точно числу файлов, созданных ранее.
3) Rsync команда
Мы можем использовать команду rsync, чтобы найти количество файлов файлов, каталогов, символических ссылок.
–dry-run используется не для передачи файлов. / test должен быть любой пустой или несуществующей папкой.
4) Рекурсивный подсчет файлов по каталогам и подкаталогам
Для рекурсивного подсчета файлов по каталогам и подкаталогам используйте команду ниже
DIR_NAME – это имя каталога
– type f указывает только файлы
wc (Word Count) подсчитывает количество строк, слов и байтов на входе
-l считает новые строки
Если вы считаете файлы в текущем каталоге, замените DIR_NAME точкой, как показано
Чтобы включить другие подпапки и файлы в подпапки, не используйте флаг – type f.
Я надеюсь, что эта статья была полезна и что теперь вы можете с удобством подсчитать количество файлов в каталогах и подкаталогах.
Кроме того, попробуйте инструмент ncdu, который является инструментом с графическим интерфейсом, который также помогает найти количество файлов.
Источник
linux-notes.org
Возникла примитивное задание: необходимо посчитать количество файлов или папок в определенной директории. Существует разные вариации, и сейчас в своей статье «Подсчитать количество файлов в папке на Unix/Linux» я приведу несколько из них.
Подсчитать количество файлов в папке на Unix/Linux с помощью команды find.
Чтобы посчитать количество всех файлов в определенной директории (например /home/captain) можно использовать команду find и она посчитает количество файлов рекурсивно для всех вложенных папок:
Чтобы посчитать количество всех папок в определенной директории (например /home/captain) можно использовать команду find и она посчитает количество папок рекурсивно для всех вложенных директорий:
Хочу отметить следующее, что утилита find работает хорошо, но очень нагружает сервер, лучше использовать команду ls.
Подсчитать количество файлов в папке на Unix/Linux с помощью команды ls.
Чтобы посчитать количество всех файлов в определенной директории (например /home/captain) можно так же использовать команду fls и она посчитает количество файлов:
Чтобы посчитать количество всех файлов в определенной директории (например /home/captain) можно так же использовать команду fls и она посчитает количество файлов рекурсивно для всех вложенных папок:
Чтобы посчитать количество всех папок в определенной директории (например /home/captain) можно так же использовать команду ls и она посчитает количество папок рекурсивно для всех вложенных директорий:
Чтобы посчитать количество всех файлов в определенной директории (например /home/captain) можно так же использовать команду fls и она посчитает количество файлов определенного типа (txt) рекурсивно для всех вложенных папок:
Вот и все, я завершаю свою тему «Подсчитать количество файлов в папке на Unix/Linux».
4 thoughts on “ Подсчитать количество файлов в папке на Unix/Linux ”
Никогда так не делайте (и производные из неё):
$ ls -l /home/captain | wc -l
Это хорошо работает только на малых количествах файлов, как только их количество перевалит тысяч за сто-двести вы устанете ждать.
Ускорить можно убрав -l из команды ls:
$ ls /home/captain | wc -l
Дело в том, что ключ -l заставляет читать метаинформацию по каждому файлу — дата изменения, права и прочее. Если этого не делать, подсчёт пойдёт гораздо бодрее
Да, не забудьте указать ключ -a, иначе скрытые файлы (название начинается с точки) не будут подсчитаны.
Ну а самый быстрый способ, используя ls:
$ ls -f /home/captain | wc -l
Почему — читайте мануалы
Спасибо за дополнение! Я стараюсь писать заметки сначало то что знаю и проверено, а потом — дополняю новым. У меня не было столько файлов (пару тысяч) в папке. Ну и да, если прогнать командой «find» сначала — то поиск быстрей будет 😉
Это НЕ правильно, т.к считает ерунду, а нужно только файлы
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Источник
Как узнать, какие файлы и папки были недавно удалены в Linux?
У меня есть одна конкретная папка ( /home/sam/officedocuments ), которая имеет сотни папок и файлов.
Я думаю, что я удалил некоторые файлы и папки по ошибке, но я не уверен.
Как найти, какие файлы / папки были:
- недавно удален в Linux?
- недавно изменились в Linux?
Я просто хочу знать, какие файлы и папки были удалены. Восстановление удаленных файлов и папок не важно для меня.
3 ответов
использовать find для поиска по времени последнего изменения. Например, чтобы найти файлы, затронутые за последние 3 дня:
find /home/sam/officedocuments -mtime -3
для «старше 3 дней», использовать +3 .
практически невозможно. Когда файл удаляется, он просто ушел. В большинстве систем это нигде не регистрируется.
вероятно, вам следует установить Inotify Tools. тогда вы можете использовать inotifywait команда для прослушивания событий, происходящих в указанном каталоге.
в частности, если вы хотите, чтобы наблюдать за удаленные файлы и папки использовать это
и журнал этот вывод в какой-то файл.
надеюсь, что это решит вашу проблему
Linux обычно не запрашивает подтверждения перед удалением файлов, если вы используете rm из командной строки.
чтобы найти файлы, измененные за последние 30 минут, используйте touch —date=»HH:MM» /tmp/reference создать файл reference с отметкой времени 30 минут назад (где HH: MM соответствует 30 минутам назад). Тогда используйте find /home/sam/officedocuments -newer /tmp/reference для поиска файлов новее ссылки.
если вы удалили файлы с помощью инструмента GUI, они все еще могут быть в каком-то «мусорном баке». это зависит от о том, что вы используете для настольного компьютера. Если вы использовали rm из командной строки, то попробуйте одну из утилит, упомянутых в ответ. (Подсказка шляпы к @Sampo для этой ссылки.)
Источник
Подсчет количества файлов в каталоге в Linux
Главное меню » Операционная система Linux » Подсчет количества файлов в каталоге в Linux
Мы предполагаем, что вы знаете о команде wc для подсчета количества строк. Мы можем использовать ту же команду wc с командой ls для подсчета количества файлов в каталоге.
Эта задача кажется простой, но вскоре может стать немного сложной, в зависимости от ваших потребностей и определения количества файлов. Прежде чем мы вас запутаем, давайте рассмотрим различные варианты подсчета количества файлов в Linux.
Подсчитать количество файлов в каталоге в Linux
Позвольте нам сначала показать вам содержимое тестового каталога, который я собираюсь использовать в этой статье:
Вы можете видеть, что у него есть 9 файлов (включая один скрытый файл) и 2 подкаталога в этом каталоге. Но вам не нужно делать это вручную. Давайте посчитаем количество файлов с помощью команд Linux.
Подсчитать количество файлов и каталогов (без скрытых файлов)
Вы можете просто запустить комбинацию команды ls и wc, и она отобразит количество файлов:
Есть проблема с этой командой. Он считает все файлы и каталоги в текущих каталогах. Но он не видит скрытые файлы (файлы, имена которых начинаются с точки).
По этой причине приведенная выше команда показала мне количество файлов 10 вместо 11 (9 файлов и 2 каталога).
Подсчитать количество файлов и каталогов, включая скрытые файлы
Вы, наверное, уже знаете, что опция -s команды ls показывает скрытые файлы. Но если вы используете команду ls -a, она также отображает. (существующий каталог) и .. (родительский каталог). Вот почему вам нужно использовать параметр -A, который отображает скрытые файлы, исключая. и .. каталоги.
Это даст вам правильное количество файлов и каталогов в текущем каталоге. Посмотрите на вывод, который показывает количество 11 (9 файлов и 2 каталога):
Вы также можете использовать эту команду для достижения того же результата:
Обратите внимание, что используется опция 1 (один), а не l (L). Использование опции l (L) отображает дополнительную строку в начале вывода (см. «Всего 64» в выводе каталога в начале статьи). Использование 1 (одного) списка по одному контенту в строке, исключая дополнительную строку. Это дает более точный результат.
Подсчитать количество файлов и каталогов, включая подкаталоги
Пока что вы видите количество файлов и каталогов только в текущем каталоге. Он не учитывает файлы в подкаталогах.
Если вы хотите подсчитать количество файлов и каталогов во всех подкаталогах, вы можете использовать команду дерева.
Эта команда показывает структуру каталогов, а затем выводит сводку внизу вывода.
Как вы можете видеть в выводе, это показывает, что всего имеется 7 каталогов и 20 файлов. Хорошая вещь об этом результате – то, что он не считает каталоги в количестве файлов.
Считайте только файлы, а не каталоги
Пока что все решения, которые мы видели для подсчета количества файлов, также учитывают каталоги. Каталоги – это, по сути, файлы, но что если вы хотите считать только количество файлов, а не каталоги? Вы можете использовать замечательную команду поиска .
Вы можете запустить эту команду:
Приведенная выше команда провела поиск всех файлов (тип f) в текущем каталоге и его подкаталогах.
Подсчитывать только файлы, а не каталоги и только в текущем каталоге, а не в подкаталогах
Это круто! Но что если вы хотите посчитать количество файлов в текущем каталоге, исключая только файлы в подкаталогах? Вы можете использовать ту же команду, что и выше, но с небольшой разницей.
Все, что вам нужно сделать, это добавить «глубину» вашей находки. Если вы установите его на 1, он не будет входить в подкаталоги.
Вот вывод сейчас:
В Linux у вас может быть несколько способов достичь одной и той же цели. Мы уверены, что в Linux может быть несколько других способов подсчета количества файлов. Если вы используете какую-то другую команду, почему бы не поделиться ею с нами?
Мы надеемся, что этот учебник по Linux помог вам узнать несколько вещей. Оставайтесь на связи, чтобы узнать больше советов по Linux.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник