В этом вопросе: Как удалить все файлы и подкаталоги в каталоге, не удаляя каталог в ударе? просят, как удалить весь файл в папке а не самой папке.
Ответ Matts exelent включает использование флага-v к команде 'комнаты'.
rm -rfv dontDeleteMe && mkdir dontDeleteMe
Команда, с которой я уехал, была той выше. Конечно, полезный действительно, но-v отмечает в 'комнате' и/или в целом замедляет задачи, сделанные через командную строку?
У меня есть папка с .txt-файлами (приблизительно 100 000 из них), что я создал, удалил и воссоздал для меня несколько раз теперь. Несколько раз с комнатой, несколько раз в filebrowser, и я получаю чувство, что это еще медленнее для использования команды комнаты в качестве шоу выше. Флаг-v имеет какое-либо отношение к этому?
Да, флаг-v замедляет команду.
Большинство, если бы не все программные обеспечения (или команды) проверили бы, обеспечивается ли флаг, и затем выполняет набор кода, связанного с флагом. В случае флага-v они, вероятно, выполнили бы набор выходных команд (как echo
или printf
), который они скорее пропустят без флага.
Это означает больше командных циклов для процессора и таким образом больше времени выполнения.
лучше, если Вы не используете флаг-v, если Вы не собираетесь читать/нуждаться сообщения.
, С другой стороны, CLI/должен быть быстрее, чем GUI, предполагая, что Вы не включаете время, требуемое вводить команды, и нажатие Вводят ключ.
От этот блог суперпользователя это изображение объясняет замедление очень хорошо
Для определенной рассматриваемой команды, результаты команды времени
//with -v
real 0m8.753s
user 0m0.816s
sys 0m2.036s
//without -v
real 0m1.282s
user 0m0.124s
sys 0m1.092s
, это было сделано с каталогом, содержащим 100 000 пустых файлов
Почему бы не узнать себя: использовать время.
$ time rm -rfv dontDeleteMe && mkdir dontDeleteMe
real 0m0.003s
user 0m0.001s
sys 0m0.002s
$ time rm -rf dontDeleteMe && mkdir dontDeleteMe
real 0m0.002s
user 0m0.001s
sys 0m0.001s