Удалить пустые файлы и директории в Unix/Linux
Решил написать статью о там как можно удалить пустые файлы и директории в ОС — Linux. Я покажу и расскажу как это можно сделать в своей статье «Удалить пустые файлы и директории в Linux» и приведу готовые примеры как можно удалить все пустые файлы или директории в определенной папке. Делается это через командную строку с использованием команд: find, rm и rmdir.
Сейчас откроем терминал (командную строку) и перейдем в ту папку, в которой вам нужно удалить все пустые файлы:
$ cd ~/my_test_dir
Удалить пустые файлы в Unix/Linux
Для начала, посмотрим список имеющихся пустых файлов. Для этого, я буду использовать команду find и укажу ей (передам параметр), что мне нужно найти только файлы (за это отвечает параметр «-type f») и что данные файлы должны быть пустыми (за это отвечает параметр «-empty») в текущей моей папки:
# find . -type f -empty
Теперь, я воспользуюсь аргументом «-exec», он дает возможность выполнить определенную команду над списком файлов. Я передам в «exec» то, что хочу выполнить команду «rm» (удалить файлы) для пустых файлов:
# find . -type f -empty -exec rm {} \;
Удалить пустые директории в Unix/Linux
Для начала, я проверю какие папки у меня не содержат файлов. Для этого, я так же буду использовать команду «find» с параметром «-empty», но указываю тип поиска «-type d» (поиск папок):
# find . -type d -empty
Сейчас мне необходимо их удалить. Передаю аргументу «-exec» команду rmdir (удаление папок) для того чтобы удалить все имеющиеся пустые папки:
# find . -type d -empty -exec rmdir {} \;
Еще можно использовать:
# find . -type d -empty -exec rmdir {} +
Или еще по-простому:
# find . -type d -empty -delete
Статья «Удалить пустые файлы и директории в Unix/Linux» подошла к завершению.
Спасибо. Все просто и понятно)