ВМ «забывают» MAC-адрес шлюза на хосте Ubuntu 14.04, настроенном как шлюз с использованием 1 сетевой карты с 2 IP-адресами в разных подсетях

  1. input.txt> grep foo Вероятно, это ошибка. Он запускает команду input.txt и перенаправляет вывод в файл с именем grep . foo является аргументом команды input.txt .

  2. grep foo Это ищет строку foo во входных данных, поступающих из input.txt . grep не получает имя файла в командной строке, поэтому вместо этого он будет работать со стандартным вводом. Оболочка посредством перенаправления гарантирует, что содержимое файла введено.txt доставляется в стандартный поток ввода для grep .

  3. cat input.txt | grep foo Это похоже на предыдущее, но стандартный поток ввода grep теперь подключен к каналу, через который команда cat доставляет содержимое файла ] input.txt . Команда cat записывает в свой стандартный выходной поток, который соединен каналом со стандартным входным потоком grep .

  4. grep foo input.txt Это заставляет grep открывать файл input.txt и искать в нем строку foo . Он не использует стандартный поток ввода.

В общем:

  • Канал ( | ) соединяет стандартный поток вывода левой стороны со стандартным потоком ввода правой стороны.

  • Перенаправление ввода ( <) перенаправляет из файла в стандартный поток ввода.

  • Перенаправление вывода (> ) перенаправляет стандартный вывод в файл.

  • Входные и выходные потоки могут быть перенаправлены одновременно, например используя commandname outputfile , и команда может как читать, так и писать в конвейер, как вторая команда в command1 | command2 | command3 .

  • Перенаправление и конвейер могут быть объединены: cat output.txt .

Многие утилиты Unix принимают входное имя файла в качестве необязательного аргумента и будут использовать стандартный ввод, если имя файла не было задано.

Некоторые утилиты Unix только работают со стандартным вводом, например, tr .

Bash и некоторые другие оболочки, такие как ksh , также поддерживают перенаправление со строки на стандартный ввод с использованием <<< "строка" (называемая здесь-строка ), и большинство командных интерпретаторов понимают здесь-документы (посмотрите их).

3
23.10.2015, 15:17
0 ответов

Теги

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