Команда «да»

В unix / linux yes команда yes которая в принципе бесконечно выводит y на stdout . В чем смысл этого, и как это полезно?

4 Solutions collect form web for “Команда «да»”

yes может использоваться для отправки утвердительного (или отрицательного, например да) ответа на любую команду, которая в противном случае запрашивала бы ее, заставляя команду работать неинтерактивно.

Команда yes в сочетании с командой head может использоваться для генерации больших файлов томов для средств тестирования.

Его также можно использовать для проверки того, насколько хорошо система обрабатывает высокие нагрузки, поскольку использование да приводит к использованию 100% процессоров для систем с одним процессором (для многопроцессорной системы процесс должен выполняться для каждого процессора). Это, например, может быть полезно для изучения того, будет ли система системы охлаждения эффективной, когда процессор работает на 100%.

В 2006 году команда yes получила гласность за то, что она является средством проверки того, влияет ли на MacBook пользователя синдром прерывистого выключения. Запустив команду yes дважды через терминал в Mac OS X, пользователи смогли максимально вычислить свой компьютер, и, таким образом, посмотреть, был ли отказ связан с теплом

через wikipedia: http://en.wikipedia.org/wiki/Yes_(Unix)

Это может быть спорным мнением, но, на мой взгляд, это уродливое исправление для плохого пользовательского интерфейса в инструментах командной строки .

Некоторые средства командной строки задают вопросы пользователю с подсказкой и не имеют возможности запускать не интерактивно; представьте, например, что-то вроде

 $ frobnicate * frobnicate file a.txt? (y/n) y frobnicate file b.txt? (y/n) y ... 

Поскольку ответ на вопрос берется из стандартного ввода, быстрым решением этой проблемы является приложение, которое непрерывно выводит строку y\n , что и есть то, что yes . Трубы Unix могут использоваться для отправки этого вывода в качестве ввода данной команды.

 $ yes | frobnicate 

Одна из проблем с этим подходом заключается в том, что « yes не имеет возможности проверить вопрос, на который он отвечает:

 frobnicate file a.txt? (y/n) y frobnicate file b.txt? (y/n) y format device /dev/sda1? (y/n) y frobnicate file c.txt? (y/n) y 

Лучшим решением, когда оно доступно, является особый вариант для запуска неинтерактивно, например, rm -f или apt-get -y . Это позволяет кодировать более разумное поведение в приложении.

Сотрудник использовал это в новом способе ввода пароля

 yes password | passwd 

Просто натолкнулся на другое использование для этого: понравилось уничтожить жесткий диск с другим шаблоном, чем просто нули (например: dd if = / dev / zero of = / dev / sdd bs = 1M) и использовал для него «да»:

yes UUUUUUUUUUUUU > /dev/sdd

  • найти, какая система передает через конкретный порт
  • Что означает «хэширование» при использовании команды типа?
  • Является ли базовое регулярное выражение таким же, как расширение пути в оболочке?
  • Загрузите и извлеките в одной строке оболочки
  • Команда 'df' не выводит / home каталог
  • Найти средний процессор, vMem, использование sMem на 1, 5 и 15мин
  • Что да (да, да)?
  • Sox: конвертировать WAV-файл с требуемыми свойствами в одной команде
  • Активно следить за измененной датой всех файлов в каталоге
  • Почему экран не разбивает мой терминал GNOME?
  • Игнорирование файлов, которые не могут найти или открыть файл cannnot?
  • alias Невозможно выполнить команду источника
  • Interesting Posts

    Каковы способы шифрования пароля внутри переменной среды

    Как катавать файл с параметрами «или»

    Предотвратить выход grep из-за выхода

    Не уверен о java JDK для Centos 6.4

    Как перечислить версии пакета в Arch Linux?

    Как я могу автоматизировать эту ручную задачу поиска определенного процесса предка из заданного pid или команды?

    Запуск скрипта во время загрузки / запуска; init.d vs cron @reboot

    Sed из строки 6 из всех txt-файлов и возможность выводить все результаты в одном файле

    Где выходят выходные задания `at` и` cron`?

    USB-накопитель, отформатированный как «Live Live CD», сохраняет имя CD-ROM после повторного разбиения

    SSH на несколько удаленных машин через ssh tunnel

    Не удалось подключиться к USB 3G Mobile Broadband

    Предотвращение автоматического выбора текста при копировании

    Отображение как ls информации, так и точек монтирования каталога?

    Получить пути ко всем SD-картам на компьютере, используя GNU bash 4.3.11, запуская Ubuntu 14.04

    Linux и Unix - лучшая ОС в мире.