Ввод команд запуск и выполнение команд: Запуск и выполнение команд. — Операционные системы (учебное пособие)

Содержание

20 приёмов работы в командной строке Linux, которые сэкономят уйму времени / Хабр

Тема полезных приёмов работы в терминале Linux неисчерпаема. Казалось бы — всё устроено очень просто: приглашение оболочки, да введённые с клавиатуры команды. Однако, в этой простоте кроется бездна неочевидных, но полезных возможностей. Именно поэтому мы регулярно публикуем материалы, посвящённые особенностям работы в командной строке Linux. В частности, сегодня это будет перевод статьи, автор которой увлечён экономией времени через повышение продуктивности труда.

Если вас интересует работа в командной строке Linux — вот некоторые из наших материалов на эту тему:

  • [ +114 ] Самые полезные приёмы работы в командной строке Linux
  • [ +70 ] 10 приёмов работы в терминале Linux, о которых мало кто знает
  • [+65 ] Удивительно полезный инструмент: lsof
  • [ +32 ] Linux: перенаправление
  • [ +29 ] PDF-версия статей про Bash-скрипты

Приёмы работы в командной строке Linux и экономия времени


Вам когда-нибудь доводилось видеть, как коллега использует некие простые команды Linux для решения задач, решение которых занимает у вас несколько строк? Должно быть, когда подобное случалось, вы только и могли сказать себе: «Ну ничего ж себе! Я и не знал, что это можно сделать так просто».

В этом материале я покажу вам некоторые профессиональные приёмы работы в командной строке Linux, которые сэкономят вам уйму времени и в некоторых случаях избавят от плохого настроения. Мало того, что ваши друзья или коллеги скажут: «Ну надо же!», глядя на вас. Эти приёмы, кроме того, помогут вам увеличить личную продуктивность, так как вам понадобится вводить меньше команд и даже делать меньше щелчков мышью.

Нельзя сказать, что эти советы по Linux предназначены только для начинающих. Вполне возможно, что даже опытные пользователи найдут здесь что-нибудь полезное, то, о чём они не знали несмотря на то, что пользовались Linux многие годы. Linux изучают на основе опыта. Тут сгодится и собственный опыт, и опыт других людей.

Прежде чем мы начнём, хочется отметить, что некоторые из приведённых здесь методов зависят от настройки командной оболочки.

0. Автозавершение команд с использованием клавиши Tab


Я начну с кое-чего вполне очевидного, но весьма важного: с автозавершения команд с помощью клавиши Tab.

Когда вы начинаете набирать что-то в терминале Linux, вы можете нажать клавишу Tab, после чего будет выведена подсказка, содержащая набор вариантов продолжения ввода, начинающихся с только что введённых символов.

Например, собираясь скопировать файл с именем my_best_file_1.txt, вы можете просто ввести cp m и нажать Tab для того, чтобы увидеть возможные варианты продолжения команды.

Использование клавиши Tab для автозавершения ввода

Клавишу Tab можно использовать и для автозавершения команд.

1. Переход в последнюю рабочую директорию


Представьте, что вы работали в директории, до которой не так уж и просто добраться, а потом перешли в другую директорию, расположенную совершенно в другом месте. Потом вы поняли, что вам нужно вернуться в предыдущую директорию. В этом случае достаточно воспользоваться следующей командой:

cd -


Она позволит вам оказаться в последней рабочей директории. Теперь в подобных ситуациях вам не нужно больше будет вводить длинные пути, или пользоваться копированием и вставкой.

Простое переключение между директориями

2. Возврат в домашнюю директорию


Этот приём тоже весьма очевиден. Вы можете использовать нижеприведённую команду для того, чтобы вернуться в домашнюю директорию из любого места:

cd ~


Однако, в домашнюю директорию можно вернуться ещё быстрее — с помощью команды cd.

В большинстве современных дистрибутивов Linux оболочка предварительно настроена на именно такое восприятие команды cd. Это сэкономит вам пару нажатий клавиш на клавиатуре.

Самый быстрый способ перехода в домашнюю директорию

3. Вывод на экран содержимого директории


Возможно, вы зададитесь вопросом о том, в чём состоит тонкость использования команды для вывода содержимого директории. Все знают, что для этой цели служит команда ls -l.

Но в том-то всё и дело. Практически все используют команду ls -l для вывода содержимого директорий, в то время как то же самое можно сделать с помощью следующей команды:

ll


Работоспособность этой команды зависит от дистрибутива Linux и от настройки оболочки, но весьма вероятно, что вы сможете воспользоваться ей в большинстве дистрибутивов.

Использование команды ll вместо команды ls -l

4. Вызов нескольких команд в одной строке


Представьте, что вам нужно последовательно выполнить несколько команд. Наверное, вы вводите одну команду, потом ждёте, когда она завершится, дальше — вводите следующую?

В подобной ситуации полезным окажется разделитель команд ; (точка с запятой). При таком подходе вы можете ввести несколько команд в одной строке. При этом, в отличие от обычного ввода команд, для выполнения следующей команды не надо ждать завершения предыдущей.

command_1; command_2; command_3

5. Выполнение нескольких команд в одной строке и условие на успешное завершение предыдущей команды


Только что мы рассмотрели способ вызова нескольких команд в одной строке. Это экономит время. Но что если вам нужно, скажем, при вызове двух команд, чтобы следующая команда была выполнена только в том случае, если предыдущая завершится без ошибок?

Представьте себе, что хотите собрать код, а затем, если сборка оказалась успешной, вызвать make?

В подобной ситуации можно использовать разделитель &&. Этот разделитель позволяет гарантировать то, что следующая команда будет выполнена лишь в том случае, если предыдущая отработает успешно.

command_1 && command_2


Вот хороший пример использования &&:

sudo apt update && sudo apt upgrade

6. Простой поиск и использование ранее введённых команд


Представьте себе, что вы, пару минут или пару часов назад, вводили длинную команду, и вам снова нужна эта команда. Причём, проблема заключается в том, что вспомнить точно эту команду вы не можете.

В подобной ситуации вас спасёт обратный поиск. Данная методика позволяет проводить поиск в истории команд по ключевому слову. Тут достаточно использовать комбинацию клавиш Ctrl + R для запуска обратного поиска и ввести что-то, имеющее отношение к команде. Система просмотрит историю команд и покажет команды, соответствующие введённому запросу.

Ctrl + R search_term


По умолчанию показан будет лишь один результат. Для того, чтобы увидеть больше результатов, соответствующих запросу, вам понадобится использовать комбинацию клавиш Ctrl + R снова и снова. Для того, чтобы выйти из режима обратного поиска, нажмите Ctrl + C.

Обратный поиск по истории команд

Обратите внимание на то, что в некоторых оболочках Bash для перебора результатов поиска можно пользоваться клавишами Page Up и Page Down.

7. Разблокировка терминала после случайного нажатия Ctrl + S


Возможно, вы привыкли пользоваться комбинацией клавиш Ctrl + S для сохранения файлов. Но если нажать эти клавиши в терминале Linux, вы его заблокируете.

Если раньше вы, для того, чтобы исправить положение, вынуждены были закрывать и снова запускать терминал — теперь может вздохнуть спокойно, больше вам этого делать не придётся. Для того, чтобы привести терминал в рабочее состояние, просто воспользуйтесь комбинацией клавиш Ctrl + Q.

8. Перемещение к началу или концу строки


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

Конечно, в подобной ситуации можно использовать клавиши Home и End, но, как вариант, с помощью комбинации клавиш Ctrl + A можно перейти в начало строки, а с помощью комбинации Ctrl + E — в конец.

Перемещение к началу или концу строки

Мне такой способ кажется удобнее, чем использование клавиш Home и End, особенно когда я работаю на ноутбуке.

9. Чтение лог-файлов в режиме реального времени


Когда вам нужно проанализировать файлы журналов, в которые, во время анализа, пишет данные какое-нибудь работающее приложение, вы можете использовать команду tail с опцией -f.

tail -f path_to_Log


Кроме того, вы можете использовать команду grep в её обычном виде для отображения только тех строк, которые вас интересуют:

tail -f path_to_log | grep search_term


Также тут можно задействовать опцию F. Это приведёт к тому, что утилита tail продолжит работать даже в том случае, если просматриваемый лог-файл будет удалён. При таком подходе, если этот файл снова будет создан, tail продолжит выводить данные из него на экран.

10. Чтение сжатых лог-файлов без их распаковки


Серверные журналы обычно сжаты с помощью gzip для экономии места на диске. Это может привести к некоторым неудобствам при анализе логов разработчиками или системными администраторами. Вам может понадобиться использовать команду scp для копирования файла в свою локальную директорию, а после этого извлечь файл из архива для того, чтобы его просмотреть, так как у вас может не быть разрешения на запись туда, где хранится интересующий вас файл.

Тут нам на помощью приходит группа команд, имя которых начинается с буквы «z». Эти команды являются альтернативой обычным командам, которые используются для работы с файлами журналов. Среди них — less, cat, grep, и другие.

Итак, используя команды zless, zcat, zgrep и подобные им, вам не придётся явным образом распаковывать сжатые файлы. Подробности об этих командах можно посмотреть здесь.

Кстати, когда я рассказал об этих «секретных» командах коллеге, мне досталась чашка кофе.

11. Использование команды less для чтения файлов


Если вам нужно просмотреть файл, особенно — большой, можно попробовать команду cat, но гораздо лучше поискать что-нибудь другое. Дело в том, что cat выведет на экран весь файл, что не так уж и удобно.

Для просмотра файлов можно воспользоваться редакторами вроде Vi или Vim, работающими в терминале, но если вам просто нужно прочесть файл, очень кстати окажется команда less.

less path_to_file


Во время сеанса работы с less можно искать нужные фрагменты текста по ключевым словам, перемещаться по страницам, выводить данные с номерами строк, и так далее.

12. Повторное использование последнего элемента из предыдущей команды с помощью !$


Во многих ситуациях очень кстати оказывается возможность использования аргумента предыдущей команды.

Предположим, вам нужно создать директорию, а потом в неё перейти. Тут можно воспользоваться опцией !$, вводя команду перехода после команды создания директории.

Применение !$ для использования аргумента последней команды

Ещё лучше то же самое делается с помощью сочетания клавиш Alt +. (точка). Точку можно использовать несколько раз для перебора опций последней команды.

13. Использование предыдущей команды в текущей команде с помощью !!


С помощью !! можно вызвать всю предыдущую команду. Этот приём оказывается особенно полезным, когда вам нужно выполнить команду и оказывается, что для её выполнения нужны привилегии суперпользователя. Например, на рисунке ниже показана ситуация, в которой команда sudo !! позволяет сэкономить немало времени.

Воспользуйтесь!!! для подстановки последней команды в качестве аргумента

14. Использование псевдонимов для исправления ошибок ввода


Возможно, вы уже знакомы с командой alias. Её можно использовать для исправления ошибок во введённых командах.

Например, может случиться так, что вы часто вводите gerp вместо grep. Если с вредной привычкой справиться никак не удаётся, запишите псевдоним в свой файл bashrc следующим образом:

alias gerp=grep


Теперь вам не придётся перенабирать эту команду если вы введёте её имя неправильно.

15. Копирование и вставка в терминале Linux


Этот совет несколько неоднозначен, так как он зависит от дистрибутива Linux и от терминала.

Но обычно команды копирования и вставки можно вызывать следующим образом:

  • Выделите текст, который надо скопировать, и щёлкните правой кнопкой мыши для его вставки (работает в Putty и других SSH-клиентах для Windows).
  • Выделите текст, который надо скопировать, после чего щёлкните центральной кнопкой мыши (колесом прокрутки) для того, чтобы его вставить.
  • Используйте комбинации клавиш Ctrl + Shift + C для копирования, и Ctrl + Shift + V для вставки.

16. Завершение работы команды или процесса


Возможно, то, что я тут хочу посоветовать, совершенно очевидно, однако, всё равно об этом расскажу. Если команда выполняется на переднем плане и вы хотите из неё выйти, можете нажать клавиши Ctrl + C для того, чтобы её остановить.

17. Использование команды yes для автоматизации интерактивных команд или скриптов


Если вам приходится работать с некоторыми командами или скриптами, которые предусматривают взаимодействие с пользователем, и вы знаете, что будете вводить Y в ответ на каждый вопрос программы, можете автоматизировать этот процесс с помощью команды yes. Делается это так:

yes | command_or_script

18. Очистка содержимого файла без удаления самого файла


Если вы хотите очистить содержимое текстового файла, не удаляя сам файл, можете использовать следующую команду:

 > filename

19. Выяснение наличия в директории файлов, содержащих определённый текст


Командная строка Linux поддерживает множество способов поиска информации. Однако, если вам просто нужно узнать, имеются ли в некоей директории файлы, которые содержат определённый текст, вы можете воспользоваться такой командой:

grep -Pri Search_Term path_to_directory


Однако я советую всем, кому нужен поиск в Linux, разобраться как следует с командой find.

20. Вызов справки для любой команды


Хочу завершить этот материал одним весьма очевидным, но, тем не менее, очень важным «трюком», который заключается в вызове справки для команды или инструмента командной строки.

Практически все средства командной строки содержат справочную информацию, раскрывающую особенности их использования. Обычно чтение справки помогает разобраться с основами команды. Вызвать справку можно так:

command_tool --help

Итоги: делитесь полезными советами!


Я намеренно не включил в этот материал команды вроде fuck, так как они не из тех стандартных средств, которые можно найти буквально повсюду. То, о чём я тут рассказал, может принести пользу при работе практически со всеми дистрибутивами Linux и оболочками командной строки без необходимости установки новых программ.

Уважаемые читатели! Возможно, вы уже знакомы с некоторыми из приведённых здесь методов использования команд Linux, а может и знаете их все. В любом случае, приглашаем вас поделиться вашими любимыми приёмами в комментариях.

12.4. Групповое выполнение и фоновый запуск команд

Практическая
деятельность администратора операционной
системы требует запуска более чем одной
команды одновременно. Такая потребность
связана как с многопрограммными
возможностями современных ОС, так и
периодической потребностью задавать
одновременно выполнение более чем одной
команды.

С
учетом краткости большинства команд
ОС для практика-пользователя оказывается
соблазнительным задавать в одной строке
более чем одной команды. Дело в том, что
в отличие от обычного программирования,
где программа для компилятора может
иметь большой размер, но просматривать
ее удобно текстовым редактором, команды
операционной системы в простейшем
управлении выполняются немедленно
после ввода, поэтому в поле экрана
желательно иметь как можно больше
команд.

Командные
интерпретаторы Unix
позволяют комбинировать в одной строке
более одной команды, разделяя их символом
«точка с запятой» (символ ‘;’). Если
же какая-то команда для Unix
не помещается в стандартной длине строки
экрана, ее можно продолжить на следующей
строке, завершив предыдущую символом
\, непосредственно за которым должна
быть нажата клавиша «перевод строки»
(символ ‘\n’
в языке Си).

В
ОС Windows
NT
и OS/2
для группирования в одной строке более
чем одной команды служит символ &. Он
используется совершенно так же как
разделитель ‘;’ в Unix.
Например, задание копирования файла
fff
из текущего каталога в подкаталог sss
и немедленное после этого переименование
исходного файла в файл qqq
запишется для этих ОС в виде одной группы
команд (пакета команд):

copy fff sss\fff & ren
fff qqq

а
в Unix
составной командой

cp fff sss/fff ; mv fff qqq

При
подобном группировании нескольких
команд в один пакет могут возникать
проблемы из-за невыполнения каких-то
составляющих команд этого пакета.
Поэтому интерфейс командной строки
предоставляет средства приказов
выполнения следующей команды только
при условии выполнения предыдущей или,
наоборот, приказывается выполнение
следующей команды при невыполнении
предыдущей. Для этих целей предназначены
соответственно обозначения && и ||.
Так, копирование исходного файла fff
из текущего каталога в подкаталог sss
и удаление исходного файла при удачном
копировании запишется в виде

copy fff sss/fff &&
del fff

а
выдача командой ECHO
предупреждения после неудачной попытки
копирования может быть задана составной
командой

copy fff sss/fff || echo NOT
COPY

Другой
принципиальной возможностью, представляемой
современными ОС, является запуск
программы как параллельного процесса
относительно последующих указаний с
консоли. Для этих целей в ОС Windows
NT
и OS/2
предназначена команда START.
В качестве параметра этой команде
задается имя программы или команды
операционной системы. Действие команды
start
в Windows
NT
и OS/2
заключается в создании отдельной консоли
(текстового окна), в котором запускается
указываемая команда или программа.

В
Unix
аналогичная функция командного режима
задается менее выразительно: для запуска
команды или программы параллельно с
основной работой консоли служит символ
&, записываемый после указания в
командной строке этой команды или
программы. Происходящее при этом называют
запуском в фоновом режиме. Это название
отражает тот факт, что запущенная таким
образом программа не использует явно
консоль, а выполняется как бы «за
кадром», причем такое выполнение
производится с более низким приоритетом,
чем работа консоли и непосредственно
запускаемых с нее команд. Запуск в
фоновом режиме сопровождается выдачей
на консоль номера задания и PID
идентификатора нового запущенного
процесса, созданного для фонового
задания. Первое из этих значений выдается
в следующей строке в квадратных скобках,
а значение PID
за ним как обычное число. В дальнейшем
пользователь с консоли может частично
управлять таким фоновым процессом,
используя для его обозначения либо
номер задания, либо идентификатор
процесса.

Управление
процессом, запущенным с консоли Unix,
представляют средства уничтожения
этого процесса, его приостановки и
перевода в приоритетный режим. Уничтожение
запущенного ранее процесса осуществляется
с помощью команды kill.
В качестве единственного аргумента
этой команды используется номер задания
или идентификатор процесса, причем
значение идентификатора задается
непосредственно числом, а номеру задания
должен предшествовать специальный
символ %.

Для
приостановки запущенного с консоли
задания служит не просто команда, а
управляющая комбинация клавиш, задаваемая
нажатием клавиши z
при нажатой клавиши Ctrl
(нажатие, обозначаемое обычно как
[Ctrl+z].
После приостановки задания оно
сопровождается на консоли информацией
вида

[номер]
+ Stopped
имя команды
с параметрами

где
номер
дает идентификатор приостановленного
процесса. После приостановки задание
можно запустить далее в обычном
приоритетном режиме, вводя команду fg
с аргументом, задающим приостановленный
процесс (номер идентификатора или номер
задания с предшествующим ему символом
%) или запустить в фоновом режиме командой
bg.

Получение
полной информации о запущенных в системе
процессах возможно с помощью специальной
команды. В Unix
– это команда ps,
а в Windows
NT
и OS/2
– команда pstat.

4.3. Выполнение нескольких команд подряд

Проблема

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

Решение

У этой проблемы есть три решения, хотя первое
довольно тривиально: просто продолжайте печатать. Система Linux или Unix является продвинутой
достаточно, чтобы позволить вам печатать, пока он работает на вашем предыдущем
команды, так что вы можете просто продолжать вводить одну команду после
другой.

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

Предположим, что мы хотим запустить три команды: long,
средний
и короткий , каждый из которых
время выполнения отражено в его названии. Нам нужно запустить их в этом
заказ, но не хочу ждать длинных , чтобы
закончить перед запуском других команд. Мы могли бы использовать сценарий оболочки
(он же 9D# Ctrl-D, не видно
$ bash ./simple.script

Третье и, пожалуй, лучшее решение — запускать каждую команду в
последовательность. Если вы хотите запустить каждую программу, независимо от того, была ли предыдущая
не удается, разделяйте их точкой с запятой:

 $ long ; середина ; короткий 

Если вы хотите запустить следующую программу только в том случае, если предыдущая программа работала, и все программы
правильно установить коды выхода, разделяя их двойными амперсандами:

 $ long && medium && short 

Обсуждение

Пример cat был просто очень примитивным способом ввода текста в файл.
Мы перенаправляем вывод команды в файл с именем
simple.script (подробнее о перенаправлении вывода см.
Глава 3). Лучше использовать настоящий редактор,
но такие вещи труднее показать на подобных примерах. Впредь,
когда мы хотим показать сценарий, мы просто покажем текст как
бестелесный текст не в командной строке, или мы запустим пример
с командой типа cat имя файла в
выгружать содержимое файла на экран (а не перенаправлять
результат нашего ввода в файл) и, таким образом, отобразить его в
пример.

Суть этого простого решения в том, чтобы продемонстрировать, что более
на команду bash можно поместить более одной команды
линия. В первом случае вторая команда не запускается до тех пор, пока первая
команда завершается, а третья не выполняется до тех пор, пока не завершится вторая и
и так далее, для стольких команд, сколько у вас есть в строке. Во втором случае
вторая команда не запускается до тех пор, пока первая команда не завершится успешно, а
третий не выполняется до тех пор, пока второй не завершится успешно, и так далее до тех пор, пока
команды, как у вас на линии.

Получите bash Cookbook прямо сейчас с обучающей платформой O’Reilly.

члена O’Reilly знакомятся с книгами, живыми мероприятиями, курсами, подобранными в зависимости от должности, и многим другим от O’Reilly и почти 200 ведущих издателей.

Начать бесплатную пробную версию

Пошаговое руководство: использование интерфейса командной строки AWS с командой «Выполнить»

Пошаговое руководство: использование интерфейса командной строки AWS с командой «Выполнить» — AWS Systems Manager

Шаг 1. Начало работы Шаг 2. Запуск сценариев оболочки для просмотра
сведения о ресурсеШаг 3. Отправка простых команд с помощью
документ AWS-RunShellScriptШаг 4. Запустите простой скрипт Python
с помощью Run CommandШаг 5. Запустите скрипт Bash с помощью
Выполнить команду

В следующем примере пошагового руководства показано, как использовать интерфейс командной строки AWS (AWS CLI) для
просматривать информацию о командах и параметрах команд, о том, как запускать команды и как
для просмотра состояния этих команд.

Важно

Только доверенным администраторам должно быть разрешено использовать предварительно настроенный AWS Systems Manager
документы, представленные в этой теме. Команды или сценарии, указанные в диспетчере систем
документы запускаются с административными разрешениями на ваших управляемых узлах. Если пользователь
имеет разрешение запускать любой из предопределенных документов Systems Manager (любой документ,
начинается с AWS-), то этот пользователь также имеет доступ администратора к
узел. Для всех остальных пользователей вы должны создать ограничительные документы и поделиться
их с конкретными пользователями.

Темы
  • Шаг 1: Начало работы
  • Шаг 2: Запустите сценарии оболочки для просмотра
    сведения о ресурсах
  • Шаг 3. Отправка простых команд с помощью
    документ AWS-RunShellScript
  • Шаг 4. Запустите простой скрипт Python
    используя команду запуска
  • Шаг 5. Запустите сценарий Bash, используя
    Выполнить команду

Шаг 1: Начало работы

У вас должны быть права администратора на управляемом узле, который вы хотите
настроить или вам должно быть предоставлено соответствующее разрешение в AWS Identity and Access Management
(Я). Также обратите внимание, что в этом примере используется регион Восток США (Огайо) (us-east-2). Команда Run
доступен в регионах AWS, перечисленных в конечных точках службы Systems Manager в
Общий справочник Amazon Web Services . Для большего
информацию см. в разделе Настройка AWS Systems Manager.

Для запуска команд с помощью AWS CLI
  1. Установите и настройте интерфейс командной строки AWS (AWS CLI), если вы еще этого не сделали.

    Дополнительные сведения см. в разделе Установка или обновление последней версии интерфейса командной строки AWS.

  2. Список всех доступных документов.

    Эта команда выводит список всех документов, доступных для вашей учетной записи.
    на основе разрешений IAM.

     список документов aws ssm 
  3. Убедитесь, что управляемый узел готов принимать команды.

    Выходные данные следующей команды показывают,
    В сети.

  4. Выполните следующую команду, чтобы просмотреть сведения о конкретном управляемом
    узел.

    Примечание

    Чтобы выполнить команды в этом пошаговом руководстве, замените экземпляр и
    идентификаторы команд. Для управляемых основных устройств AWS IoT Greengrass используйте
    mi- ID_number для идентификатора экземпляра.
    идентификатор команды возвращается в качестве ответа на
    отправить команду . Идентификаторы экземпляров доступны на
    Fleet Manager, возможность AWS Systems Manager..

Шаг 2. Запустите сценарии оболочки для просмотра
сведения о ресурсах

Используя команду «Выполнить» и документ AWS-RunShellScript , вы можете запустить
любая команда или сценарий на управляемом узле, как если бы вы вошли в систему локально.

Посмотреть описание и в наличии
параметры

Выполните следующую команду, чтобы просмотреть описание JSON диспетчера систем.
документ.

Выполните следующую команду, чтобы просмотреть доступные параметры и сведения о
эти параметры.

Шаг 3. Отправьте простые команды с помощью
документ

AWS-RunShellScript

Выполните следующую команду, чтобы получить информацию об IP для управляемого Linux
узел.

Если вы нацелены на управляемый узел Windows Server, измените
имя-документа от до AWS-RunPowerShellScript и
измените команду с ifconfig на
ipconfig .

Получить информацию о команде с ответными данными

В следующей команде используется идентификатор команды, возвращенный
предыдущая команда, чтобы получить подробности и данные ответа команды
исполнение. Система возвращает данные ответа, если команда завершена. Если
выполнение команды показывает "В ожидании" или
"InProgress" вы снова запускаете эту команду, чтобы увидеть ответ
данные.

Идентификация пользователя

Следующая команда отображает пользователя по умолчанию, выполняющего команды.

Получить статус команды

Следующая команда использует идентификатор команды для получения статуса команды
выполнение на управляемом узле. В этом примере используется идентификатор команды, который был
возвращается в предыдущей команде.

Получить сведения о команде

Следующая команда использует идентификатор команды из предыдущей команды для получения
статус выполнения команды для каждого управляемого узла.

Получить информацию о команде с данными ответа для определенного управляемого
узел

Следующая команда возвращает выходные данные исходного aws ssm
send-command
запрос для определенного управляемого узла.

Показать версию Python

Следующая команда возвращает версию Python, работающую на узле.

Шаг 4. Запустите простой скрипт Python
с помощью команды «Выполнить»

Следующая команда запускает простой скрипт Python «Hello World», используя
Команда Run.

Шаг 5. Запустите сценарий Bash, используя
Выполнить команду

Примеры в этом разделе демонстрируют, как запустить следующий сценарий bash
с помощью команды «Выполнить».

Примеры использования команды «Выполнить» для запуска сценариев, хранящихся в удаленных местах, см.
Запуск скриптов из Amazon S3 и Запуск скриптов из GitHub.

 #!/бин/баш
ням -у обновление
ням установить -y рубин
cd /home/ec2-пользователь
завиток -O https://aws-codedeploy-us-east-2.s3.amazonaws.com/latest/install
chmod +x ./установить
./install auto 

Этот сценарий устанавливает агент AWS CodeDeploy в Amazon Linux и Red Hat Enterprise Linux (RHEL).
инстансов, как описано в разделе Создание Amazon EC2.
экземпляр для CodeDeploy в
Руководство пользователя AWS CodeDeploy .

Сценарий устанавливает агент CodeDeploy из корзины S3, управляемой AWS, в вас
Регион Восток США (Огайо) (us-east-2),
aws-codedeploy-us-east-2 .

Запуск сценария bash в команде интерфейса командной строки AWS

В следующем примере показано, как включить сценарий bash в интерфейс командной строки.
команда с параметром --parameters .

Запустить сценарий bash в файле JSON

В следующем примере содержимое сценария bash хранится в формате JSON.
файл, и файл включается в команду с помощью
--cli-input-json вариант.

Содержимое указанного
Файл installCodeDeployAgent.json показан в
следующий пример.

 {
"Параметры": {
"команды": [
"#!/бин/баш",
"ням -у обновление",
"ням установить -у рубин",
"cd /home/ec2-пользователь",
"curl -O https://aws-codedeploy-us-east-2.