шарики и трубы Unix очень полезны во многих случаях, когда мы работаем с консоли. Вы все использовали каналы или известные символы, такие как подстановочный знак *, для замены имен и т. Д. Ну, конечно, они также столкнулись с проблемой удаления всех файлов в каталоге, кроме одного или нескольких из них. Если их мало - не проблема, это можно легко сделать даже в графическом режиме.
Но если их много, а мы работает с консоли все становится немного сложнее. Но это просто потому, что у нас нет ресурсов, поскольку есть простые варианты, которые мы можем использовать, чтобы помочь нам превратить сложные задачи в нечто очень простое. Что ж, в этом простом уроке мы объясняем, как это сделать, используя простой символ ... Легко, правда? Что ж, приступим к практике:
Прежде всего, я собираюсь представить, что у нас есть каталог называется Photos, в котором мы хотим удалить все файлы изображений .jpeg, которые находятся внутри. Представим, что есть 100 фотографий. И мы хотим удалить их все, кроме одного под названием nat7.jpg. Первый шаг - перейти в этот каталог с помощью команды cd. Например:
cd /home/Fotos
Затем мы будем использовать команду rm, как мы часто делаем, когда хотим удалять что-то, но мы укажем, что хотим стереть все, кроме той фотографии, которую хотим сохранить, для этого мы будем использовать персонажа! такой, что:
rm -f !(nat7.jpg)
Тем самым мы запрещаем удаление для rm, так что он удаляет все, кроме файла с именем nat7.jpg. Если вы зайдете в каталог и сделаете список содержимого, вы сможете убедиться, что все, кроме желаемой фотографии, было удалено:
ls /home/Fotos
Теперь ты можешь поиграть с этим шаром для выполнения других действий, таких как удаление всех файлов в каталоге, кроме файлов MP3 с помощью! (*. mp3) или также сохранение различных файлов или форматов от удаления, например! (nat7.jpg | isa5.jpg) или с помощью! (* .txt | * .mp3). Возможностей много ... Это Unix, это Linux!
Не бывает дня, чтобы мы чему-то не научились! Несмотря на то, что я возился с ПК около 30 лет и почти 20 лет с Linux, я не очень привязан к консоли, я признаю, что она чрезвычайно полезна, но я всегда был ленив, когда дело доходило до запоминания команд и отпраздновать переход в графический режим. Я совершенно не знал этого варианта шаров, и хотя мне было несложно выжить без него, следует признать, что он выглядит очень полезным и практичным, кроме того, его легко понять и применить. Я хорошо помню.
Спасибо за ваш вклад, который, я не сомневаюсь, будет очень полезным.
Эй.
Большое спасибо, но ...
rm -f! (*. exe)
bash:!: событие не найдено
Привет,
Попробуйте активировать это:
shopt -s extglob; установить -H
А потом попробуйте еще раз:
rm -f! (*. exe)
Всего наилучшего! Надеюсь, у вас это сработает. И спасибо, что подписались на нас ...
Здравствуйте, у меня есть вопрос, мне не удалось сохранить два файла одновременно, потому что, когда я пытаюсь, все удаляется, но когда я делаю это только с одним, я могу. что это может быть? Как это решить?