Я хочу удалить любой файл, который похож wordpress-891.sql
из текущего каталога (не в подкаталогах).
Будет rm wordpress-*.sql
добейтесь цели или это также удалит соответствия из подкаталогов?
Нет. Нормальный globbing *
не является рекурсивным, и ни один не rm
.
, Если имя каталога соответствует, оно не будет удалено - Вам нужно эти -r
флаг для удаления каталога.
, Таким образом, безопасно сделать это, если Вы уверены, что хотите удалить те файлы.
можно также сделать rm
интерактивный
rm -i wordpress-*.sql
затем, это попросит подтверждение прежде, чем удалить каждый файл
Да это добивается цели для Вас и удаляет все файлы с той схемой в текущем каталоге. И нет, это не делает удаляет файлы в подкаталогах.
, Когда никогда Вы не уверены, что происходит, когда Вы выполняете команду как:
rm wordpress-*.sql
затем просто выполняет его с помощью ls
:
ls wordpress-*.sql
файлы, которые Вы видите в выводе, являются теми, которые будут удалены.
, Когда Вы пытаетесь получить список как: foo*
, лучше использовать -d
переключатель с ls
для предотвращения скручивания жгутов файлов списка каталог, названный foobar/
и т.д.
ls -d foo*
Этот прием работы для команд, которые не используются, чтобы сделать задание рекурсивно.
другая вещь, которую можно сделать, состоит в том, чтобы ввести желаемый вход, например: wordpress-*
затем нажатие Ctrl + Высокий звук + * , и теперь все соответствия вводятся автоматически перед Вашей командой.
Нет, rm
не рекурсивно вызывает через подкаталоги.
Видят , Удаляют соответствие файлам во всех подкаталогах - SuperUser для методов для удаления файлов в подкаталогах.
, Если Вы когда-либо обеспокоены случайным удалением чего-то важного, используйте gvfs-trash
(который отправляет, файлы к мусору) вместо rm
(который постоянно удаляет файлы).
Если требуется найти и удалить все файлы соответствия такой как wordpress-*.sql
, можно использовать find
команда.:)
Например, требуется удалить все файлы соответствия с wordpress-*.sql
под test_dir
, действительно любите следующее.
cd test_dir
find . -name "wordpress-*.sql" -exec rm -f {} \;
Каждый раз, когда find
программа действительно находит файл соответствия, она пытается выполнить команду после после -exec
опция. В этом случае rm -f {}
будет выполняться и {}
будет изменен на имя файла соответствия. Например.
rm -f wordpress-169.sql
Можно также установить глубину подкаталогов с -maxdepth
опция.
cd test_dir
find . -maxdepth 3 -name "wordpress-*.sql" -exec rm -f {} \;
Обратите внимание на то, что необходимо указать -maxdepth
опция перед другими опциями. Иначе можно встретить результаты, что Вы действительно не хотите видеть.