Это следующие шаги:
Щелкните правой кнопкой мыши значок файла → Свойства → Открыть с → Установить по умолчанию → Закрыть.
Этот способ - это немного больше работы, чем некоторые другие возможные решения, но когда я удаляю файлы, мне нравится проверять, что уходит навсегда. В приведенных ниже шагах вы можете увидеть «приложение» в вашей PWD, как указано в вашем вопросе.
Сначала создайте новый текстовый файл, содержащий имена каждой папки, которую вы хотите сохранить (не удалять), с помощью одного папка на строку. Сохраните его как to-keep.txt, например:
config
logs
Затем скопируйте следующее в текстовый редактор и сохраните его как rm-exclude.sh, чтобы все три файла находились в одном каталоге.
[ f2]Сделайте его исполняемым с помощью:
chmod +x rm-exclude.sh
Затем запустите его со следующим, где PATH - это путь к папке «приложение» из вашего PWD , В вашем примере PATH будет просто application.
./rm-exclude.sh PATH
Наконец, отметьте to-delete.txt, чтобы убедиться, что ничего не удалено, чего не должно быть, и запустите:
readarray -t dels < to-delete.txt; for del in "${dels[@]}"; do rm -rf "$del"; done
Если вам не нужно проверять содержимое файла txt, вы можете просто скопировать и вставить указанную выше команду в конец rm-exclude.sh, так что запуск скрипта делает все до тех пор, пока вы to-keep.txt уже заполнены. Конечным результатом должно быть то, что каждая прямая вложенная папка application не в to-keep.txt будет удалена вместе с их содержимым.
На основании ответа Jos я использую это, чтобы удалить все файлы и каталоги только в текущем каталоге, кроме каталога .git.
sudo find /home/jeffy/django_files/djauth_lifecycle_tutorial/part_04/ -maxdepth 1 -mindepth 1 -not -name .git -exec rm -rf {} \;
Я на самом деле испугался и подумал, что это удалит каталог .git, но я просто забыл использовать флаг a с la (ls -la).
Флаг mindepth должен избегать удаление самого корневого каталога. [F8] предотвращает возврат всех подкаталогов и файлов, которые являются избыточными с флагом f.
(Кроме того, никогда не используйте относительные пути при использовании rm -r!)
Что я буду делать с моей оболочкой (zsh) следующим образом (но я думаю, что с bash ther является чем-то эквивалентным).
Типecho application/*(/)
и, не нажимая на возврат, нажмите TAB.
Типecho application/*(/)
Тип
Я тройную проверку и редактирование начального echo до rm -rf. Я снова проверяю и ... ... ударяю назад.Теперь я отредактирую строку, чтобы удалить каталоги, которые я хочу сохранить.