Как найти пустые файлы

Обновлено: 07.07.2024

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

Кроме того, с найденными файлами можно сразу же выполнять необходимые действия. В этой статье мы поговорим о поиске с помощью очень мощной команды find Linux, подробно разберем её синтаксис, опции и рассмотрим несколько примеров.

Основная информация о Find

Команда find - это одна из наиболее важных и часто используемых утилит системы Linux. Это команда для поиска файлов и каталогов на основе специальных условий. Ее можно использовать в различных обстоятельствах, например, для поиска файлов по разрешениям, владельцам, группам, типу, размеру и другим подобным критериям.

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

Команда find имеет такой синтаксис:

find [ папка] [ параметры] критерий шаблон [действие]

Папка - каталог в котором будем искать

Параметры - дополнительные параметры, например, глубина поиска, и т д

Критерий - по какому критерию будем искать: имя, дата создания, права, владелец и т д.

Шаблон - непосредственно значение по которому будем отбирать файлы.

Основные параметры команды find

Я не буду перечислять здесь все параметры, рассмотрим только самые полезные.

  • -P - никогда не открывать символические ссылки.
  • -L - получает информацию о файлах по символическим ссылкам. Важно для дальнейшей обработки, чтобы обрабатывалась не ссылка, а сам файл.
  • -maxdepth - максимальная глубина поиска по подкаталогам, для поиска только в текущем каталоге установите 1.
  • -depth - искать сначала в текущем каталоге, а потом в подкаталогах.
  • -mount искать файлы только в этой файловой системе.
  • -version - показать версию утилиты find.
  • -print - выводить полные имена файлов.
  • -type f - искать только файлы.
  • -type d - поиск папки в Linux.

Критерии

Критериев у команды find в Linux очень много, и мы опять же рассмотрим только основные.

  • -name - поиск файлов по имени.
  • -perm - поиск файлов в Linux по режиму доступа.
  • -user - поиск файлов по владельцу.
  • -group - поиск по группе.
  • -mtime - поиск по времени модификации файла.
  • -atime - поиск файлов по дате последнего чтения.
  • -nogroup - поиск файлов, не принадлежащих ни одной группе.
  • -nouser - поиск файлов без владельцев.
  • -newer - найти файлы новее чем указанный.
  • -size - поиск файлов в Linux по их размеру.

Примеры использования

А теперь давайте рассмотрим примеры find, чтобы вы лучше поняли, как использовать эту утилиту.

1. Поиск всех файлов

Показать все файлы в текущей директории:


Все три команды покажут одинаковый результат. Точка здесь означает текущую папку. В место неё можно указать любую другую.

2. Поиск файлов в определенной папке

Показать все файлы в указанной директории:


Искать файлы по имени в текущей папке:


Поиск по имени в текущей папке:

find . -name "testfile*"

Не учитывать регистр при поиске по имени:

find . -iname "TeStFile*"


3. Ограничение глубины поиска

Поиска файлов по имени в Linux только в этой папке:

find . -maxdepth 1 -name "*.php"

4. Инвертирование шаблона

Найти файлы, которые не соответствуют шаблону:

find . -not -name "test*"

5. Несколько критериев

Поиск командой find в Linux по нескольким критериям, с оператором исключения:

find . -name "test" -not -name "*.php"

Найдет все файлы, начинающиеся на test, но без расширения php. А теперь рассмотрим оператор ИЛИ:

find -name "*.html" -o -name "*.php"

Эта команда найдёт как php, так и html файлы.

6. Тип файла

По умолчанию find ищет как каталоги, так и файлы. Если вам необходимо найти только каталоги используйте критерий type с параметром d. Например:

find . -type d -name "Загрузки"


Для поиска только файлов необходимо использовать параметр f:

find . -type f -name "Загрузки"


6. Несколько каталогов

Искать в двух каталогах одновременно:

find ./test ./test2 -type f -name "*.c"

7. Поиск скрытых файлов

Найти скрытые файлы только в текущей папке. Имена скрытых файлов в Linux начинаются с точки:

find . -maxdepth 1 -type f -name ".*"


8. Поиск по разрешениям

Найти файлы с определенной маской прав, например, 0664:

find . -type f -perm 0664

Права также можно задавать буквами для u (user) g (group) и o (other). Например, для того чтобы найти все файлы с установленным флагом Suid в каталоге /usr выполните:

sudo find /usr -type f -perm /u=s


Поиск файлов доступных владельцу только для чтения только в каталоге /etc:

find /etc -maxdepth 1 -perm /u=r


Найти только исполняемые файлы:

find /bin -maxdepth 2 -perm /a=x

9. Поиск файлов в группах и пользователях

Найти все файлы, принадлежащие пользователю:

find . -user sergiy

Поиск файлов в Linux принадлежащих группе:

find /var/www -group www-data


10. Поиск по дате модификации

Поиск файлов по дате в Linux осуществляется с помощью параметра mtime. Найти все файлы модифицированные 50 дней назад:

Поиск файлов в Linux открытых N дней назад:

Найти все файлы, модифицированные между 50 и 100 дней назад:

find / -mtime +50 -mtime -100

Найти файлы измененные в течении часа:

11. Поиск файлов по размеру

Найти все файлы размером 50 мегабайт:

От пятидесяти до ста мегабайт:

find / -size +50M -size -100M

Найти самые маленькие файлы:

find . -type f -exec ls -s <> \; | sort -n -r | head -5

find . -type f -exec ls -s <> \; | sort -n | head -5

12. Поиск пустых файлов и папок

find /tmp -type f -empty


13. Действия с найденными файлами

Для выполнения произвольных команд для найденных файлов используется опция -exec. Например, для того чтобы найти все пустые папки и файлы, а затем выполнить ls для получения подробной информации о каждом файле используйте:

find . -empty -exec ls -ld <> \;


Удалить все текстовые файлы в tmp

find /tmp -type f -name "*.txt" -exec rm -f <> \;

Удалить все файлы больше 100 мегабайт:

find /home/bob/dir -type f -name *.log -size +100M -exec rm -f <> \;

Выводы

Вот и подошла к концу эта небольшая статья, в которой была рассмотрена команда find. Как видите, это одна из наиболее важных команд терминала Linux, позволяющая очень легко получить список нужных файлов. Ее желательно знать всем системным администраторам. Если вам нужно искать именно по содержимому файлов, то лучше использовать команду grep.

В Windows 10 есть инструмент, позволяющий просматривать использование дискового пространства по папкам. Он находится в приложении «Настройки», и если вам когда-нибудь понадобится освободить место на жестком диске, это хорошее место, чтобы начать искать то, что вам нужно очистить. Там, где большие, бесполезные файлы занимают много места, пустые папки, как правило, создают проблемы при поиске файла. Вот как вы можете найти пустые папки в Windows 10.

Найдите пустые папки

В Windows 10 довольно легко найти пустые папки. Вы можете просто запустить команду в PowerShell, и она отобразит для вас список всех папок. Команду можно запустить на всем диске или в определенной папке.

Откройте PowerShell и выполните команду ниже;

Вы должны отредактировать первую строку приведенной выше команды в соответствии с вашими потребностями. В первой строке замените путь, закрытый запятыми, на путь к папке, которую вы хотите просканировать.

Примеры:

Чтобы просканировать весь диск C;

Для сканирования библиотеки Steam, сохраненной на диске D;

Для проверки папки пользователя;

Команда вернет список всех пустых папок в указанном месте. В списке будет указан путь к папке. Он ничего не удалит и не переместит. Если вы хотите избавиться от одной из папок, вы можете сделать это через PowerShell, но их проще удалить из проводника.


Если вы запустите эту команду на всем диске, это может занять больше времени, особенно если вы запустите ее на своем диске Windows, однако она по-прежнему сканирует быстро, и это намного лучше, чем использование неуклюжего или даже хорошо сделанного инструмента для поиска пустые папки в Windows 10. Если вы все же используете инструмент, используйте его для удаления папок, но что касается надежного сканирования, вы можете без проблем использовать PowerShell.

Стоит отметить, что вам не нужны права администратора для запуска этой команды, однако, если вы запускаете ее на своем диске Windows, вы должны запускать ее с правами администратора, иначе она не сможет сканировать определенные папки, которые защищены система. Возможно, что даже с правами администратора команда не может сканировать определенные папки на предмет пустых папок. В этом случае лучше оставить эти папки в покое. Они могут быть пустыми, но ваша ОС создала их, и, возможно, они понадобятся для чего-то. Если вы удалите папки, а позже забудете об этом, у вас могут возникнуть проблемы, и вы не сможете понять, что пошло не так.

Детектор пустых каталогов - небольшая полезная портативная утилита, которая поможет вам найти на компьютере все пустые директории, а также и те папки, в которых хранятся только мусорные файлы. Эта программа пригодится для структурирования и организации эффективной навигации по папкам, а также увеличения производительности системы за счет последующей очистки лишних каталогов при обращении к ним. Определить, какие файлы мусорные и не нужны, можно в опциях программы, где доступна гибкая настройка поисковых шаблонов.

Работать с приложением достаточно просто. В стандартных настройках (по умолчанию) программа найдет все пустые папки и удалит их. Как уже отмечалось, для обеспечения более гибкого сканирования, в настройках задайте дополнительные параметры: уничтожать файлы размером 0 байт, игнорировать скрытые и системные каталоги, составлять шаблоны файлов и др.

По окончании поиска у вас появится разноцветное древо папок: красные - для удаления, синие - защищенные от удаления, зеленые - не пустые. Для каждой папки доступны индивидуальные действия, такие как выборочное удаление или повторное сканирование только указанной папки и ее подпапок, защита от автоудаления и др. Когда все приготовления закончены, останется нажать "Удалить найденные каталоги" и избавиться от ненужных папок.

CCleaner - популярное приложение для оптимизации ПК, чистки реестра и удаления различного.

Revo Uninstaller - бесплатное приложение для корректной деинсталляции программ из операционной.

CCleaner Portable - портативная (переносная, не требующая инсталляции на компьютер) версия утилиты CCleaner для чистки системного мусора.

Простая в использовании утилита, предназначенная для форматирования USB флэш-накопителей.

Steam Cleaner - бесплатная и простая в использовании утилита, благодаря которой можно быстро и.

Vit Registry Fix - полезный инструмент для очистки системного реестра от ошибок и устаревших.

Отзывы о программе Детектор пустых каталогов

Алексей про Детектор пустых каталогов 1.0 [23-05-2018]

Утилита пустые каталоги то находит, но попутно лезет в профиль яндекс браузера. Защита сработала. Так что это троянчик, ребята.
6 | 4 | Ответить

Хорошая утилита, интерфейс похож на Remove Empty Direcktories, однако не требует инсталляции и имеет русский интерфейс. Для поиска и удаления пустых папок 5+.
2 | 3 | Ответить

Хорошо известная проблема - удалить пустые папки. Порой они создаются даже спонтанно и Вы со временем забываете про них, а потом они лежат и Вы создаете новые и новые, даже не разбираясь в тех, которые уже существуют. А может существующее тоже пустые?
Знакомая проблема? Нет? Ну и ладно. В данной статье я покажу Вам программу, которая делает поиск и удаление пустых папок совсем простым делом.

Программа бесплатная, но не имеет русского языка интерфейса. Разобраться в ней особого труда не составит, ведь там всё интуитивно понятно и ещё я покажу что нужно делать.

Итак, после запуска программы главное окно будет таким:

Как найти и удалить пустые папки

Если точнее, то вначале оно будет пустым. Вам нужно нажать кнопку "Browse. " и выбрать место поиска. Это может быть как весь компьютер, так и диск или папка.
После того, как определились где искать, жмем кнопку "Scan folders" и начнется процесс поиска, в результате которого окно будет похоже на моё выше.
Все папки показаны в древовидном представлении и Вы сможете понять где они находятся. Красным цветом отмечаются те папки, которые пустые и их можно удалить.
Удаление папок производится после нажатия кнопки "Delete folders"

При желании Вы можете открыть любую папку кликнув по ней 2 раза ЛКМ.
Так же при клике по папке ПКМ (Правой Кнопкой Мыши) появится меню

Как найти и удалить пустые папки

В нём можно открыть папку в проводнике, сканировать только выбранную папку, защитить/разблокировать папку, добавить в игнорируемый список и удалить всю папку со всеми другими папками внутри.

Как видите - можно удалить не только в автоматическом режиме, но и вручную. Вовсе не обязательно с помощью программы удалять всё подряд, а лишь воспользоваться тем, что она их Вам покажет.

На вкладке "Settings" можно установить различные настройки

Как найти и удалить пустые папки

Например не искать в системных каталогах и в скрытых. Так же можно добавить отдельные папки и файлы в них, которые не нужно сканировать.
В поле "Explorer integration" можно добавить пункт программы в контекстное меню проводника (при ПКМ которое появляется), но для этого программу нужно будет запустить с правами администратора.

Надеюсь теперь Вы без труда сможете найти и удалить пустые папки в компьютере.

Читайте также: