Глава 1. Работа с командной строкой
27
Вы.можете.перенаправить.стандартный.вывод.и/или.стандартные.ошибки.в.файл,.
отправив.задание.в.фоновый.режим,.иначе.задание.продолжит.выводиться.на.экран.
и.будет.прерывать.другие.ваши.действия:
ping 192.168.10.56 &> ping.log &
Осторожно: не перепутайте символ & (для отправки задания в фоновый режим)
и &> (для совместного перенаправления стандартного вывода и стандартных
ошибок).
Для.получения.списка.задач,.которые.сейчас.выполняются.в.фоновом.режиме,.
можно.использовать.команду.
jobs
:
$ jobs
[1]+ Running ping 192.168.10.56 > ping.log &
Введите.команду.
fg
.и.соответствующий.номер.задания,.чтобы.снова.вывести.задачу.
в.приоритет.из.фонового.режима:
$ fg 1
ping 192.168.10.56 > ping.log
Если.ваша.задача.сейчас.выполняется.в.приоритетном.режиме,.для.приостановки.
процесса.можно.нажать.сочетание.клавиш.
Ctrl
+
Z
..Для.продолжения.работы.в.фо-
новом.режиме.введите.команду.
bg
..После.этого.вы.можете.использовать.команды.
jobs
.и.
fg
,.как.описано.ранее.
От командной строки до скрипта
Скрипт оболочки
.—.это.просто.файл,.содержащий.команды,.которые.вы.можете.
последовательно.ввести.в.командную.строку..Если.ввести.одну.команду.или.более.
в.файл,.получится.скрипт.оболочки..Если.вы,.например,.назовете.этот.файл.
myscript
,.
его.можно.будет.запустить,.введя.команду.
bash
.
myscript
..Кроме.того,.можете.наде-
лить.его.
полномочиями на выполнение
.(например,.
chmod
.
755
.
myscript
),.а.затем,.чтобы.
управлять.сценарием,.вызывать.его.напрямую:.
./myscript
..Следующая.строка,.
сообщающая.операционной.системе,.какой.язык.скриптов.мы.используем,.часто.
становится.первой.строкой.скрипта:
#!/bin/bash -
28
Часть I • Основы
Конечно,.в.этой.строке.предполагается,.что.bash.находится.в.каталоге.
/bin
..
Если.вам.потребуется.сделать.скрипт.более.мобильным,.можно.воспользоваться.
следующим.подходом:
#!/usr/bin/env bash
Здесь,.чтобы.найти.местонахождение.bash,.используется.команда.
env
..Этот.способ.
считается.стандартным.методом.решения.проблемы.мобильности..Однако.в.данном.
случае.предполагается,.что.команду.
env
.можно.найти.в.каталоге.
/usr/bin
.
Выводы
Командная.строка.—.это.виртуальный.аналог.универсального.инструмента..Если.вам.
нужно.завинтить.шуруп.в.деревянный.брусок,.лучше.всего.взять.для.этого.специ-
альный.инструмент,.например.ручную.или.электрическую.отвертку..Но.если.вы.
заблудились.в.лесу.и.ваши.ресурсы.ограниченны,.нет.ничего.лучше.универсального.
инструмента..С.ним.вы.можете.завинтить.шуруп,.разрезать.веревку.и.даже.открыть.
бутылку..То.же.самое.можно.сказать.и.о.командной.строке:.она.ценна.не.уровнем.
выполнения.одного.конкретного.задания,.а.своей.гибкостью.и.доступностью.
В.последние.годы.оболочка.bash.и.команды.Linux.стали.общедоступными..С.по-
мощью.Git.Bash.или.Cygwin.вы.с.легкостью.можете.получить.доступ.к.функционалу.
из.Windows..Для.получения.большего.количества.функций.можно.установить.под-
систему.Windows.для.Linux,.которая.даст.вам.возможность.запускать.полные.версии.
операционных.систем.Linux.и.пользоваться.их.функциями.напрямую.из.командной.
строки.и.с.помощью.инструмента.PowerShell.для.создания.скриптов.Windows.
В.следующей.главе.мы.обсудим.пользу.скриптов,.проявляющуюся.благодаря.
возможности.запускать.команды.повторно,.принимать.решения.и.зацикливать.
различные.исходные.данные.
Упражнения
1.. Напишите.команду,.которая.выполняет.
ifconfig
.и.перенаправляет.стандартный.
вывод.в.файл.
ipaddress.txt
.
2.. Напишите.команду,.которая.выполняет.
ifconfig
,.перенаправляет.стандартный.
вывод.и.дополняет.им.файл.
ipaddress.txt
.
3.. Напишите.команду,.которая.копирует.все.файлы.из.каталога.
/etc/a
.в.каталог.
/etc/b
.и.перенаправляет.стандартные.ошибки.в.файл.
copyerror.log
.
Do'stlaringiz bilan baham: |