
Мне нужно удалить тысячи файлов с похожими именами, но разными окончаниями. Они были созданы вредоносным ПО, которое атаковало общий хостинг клиента и заразило несколько сайтов WordPress. Я использую SSH вместо файлового менеджера cPanel, потому что он не позволяет мне удалить так много файлов одновременно.
Все файлы имеют имена, work.php.xxxx
где x представляют собой числа от 0 до 9999, т. е. " work.php.2048
" Они все находятся в одной папке.
Есть ли команда SSH, которая позволит мне удалить их и только их все сразу?
Это отличается от предлагаемого дубликата, поскольку все файлы имеют уникальные окончания после расширения .php, предлагаемое решение этой проблемы мне не подойдет.
решение1
Я рекомендую сделать это в два этапа, чтобы убедиться, что вы получите желаемые результаты. Сначала переместите файлы в пустую папку.
user@linux:/.../somefolder# cd [TargetFolder]
user@linux:/.../TargetFolder# mkdir DeleteFolder
user@linux:/.../TargetFolder# find ./ -regex './work.php.[0-9][0-9][0-9][0-9]' -exec mv {} DeleteFolder/ \;
user@linux:/.../TargetFolder/DeleteFolder# cd DeleteFolder
user@linux:/.../TargetFolder/DeleteFolder# ls -l *
Если ваша DeleteFolder содержит только те файлы, которые вы хотите удалить, выполните следующие действия:
user@linux:/.../TargetFolder/DeleteFolder# rm work.php.[0-9][0-9][0-9][0-9]
Вы, очевидно, можете использовать rm work.php.[0-9][0-9][0-9][0-9]
в целевой папке, если хотите сделать это в один шаг. Я лично довольно осторожен при использовании rm
- поэтому тогда двухэтапный метод.