Если вам надо удалить через командную строку в unix все файлы, кроме определенного типа файла или расширения, то это очень просто сделать!
Для начала перейдите в нужную директорию, в которой хотите произвести операцию:
cd путь_до_директории
pwdи убедитесь, что результат команды идентичен с директорией в которой вы хотите выполнять операции.
Посмотреть список всех файлов кроме .php
find . -type f -not -name '*.php'
Удалить все файлы кроме .php
find . -type f -not -name '*.php' -delete
Посмотреть список всех файлов кроме текстовых .txt
find . -type f -not -name '*.txt'
Удалить все файлы кроме текстовых .txt
find . -type f -not -name '*.txt' -delete
Думаю алгоритм понятен, всё просто!