Как удалить все файлы и папки с именованными исключениями с помощью PHP или любой другой команды [закрыто]

Я хочу удалить все файлы и каталоги, кроме определенных файлов, имена которых я хочу указать. Есть ли какой-нибудь сценарий PHP, который может помогите мне?

Вот пример:

Имя каталога:

/home/root/database/

файлы в каталоге "database":

  [include]
   [img]
  [file]
  index.php
  index.html
 .htaccess
 index.jpg
 index.png
  readme.txt
  video.mp4
  music.mp3

Я хочу удалить все файлы, кроме .htaccess и index.php и каталог [файл]

Есть ли какая-нибудь команда, которая может сохранить эти файлы и удалить другие файлы или любой PHP-код?

0
задан 13 July 2018 в 02:00

2 ответа

Командная строка

Сначала сделайте копию всего:

tar -cf /to/a/save/place/PHP_backup.tar *

, где / to / a / save / place - это любой каталог не по этому пути.

Теперь вы можете использовать следующую команду:

rm -rv !(.htaccess|index.php|file)

удалить файлы из php

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

3
ответ дан 28 October 2019 в 08:45

trash команда от мусора-cli очень удобна для этого типа вещи. Это доступно в репозитории вселенной, и можно установить его, если у Вас нет его с командой sudo apt install trash-cli

После того, как установленный можно просто дать команду

trash !(.htaccess|index.php|file) который говорит этому повреждать все, не соответствуя тому, что находится в круглой скобке. В этом случае .htaccess, index.php и файл каталога.

Конечно, это требует, чтобы расширенное сопоставление с образцом было включено с shopt -s extglob как упомянуто десертом в этом комментарии

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

Если у Вас должен быть PHP, видят, удаляют связь.

Этот ответ был вдохновлен частично этим

2
ответ дан 28 October 2019 в 08:45

Другие вопросы по тегам:

Похожие вопросы: