то будут выполнены две команды. Первая сделает активным корневой каталог файловой системы, а вторая – распечатает на экране его содержимое.
bin dev home lost+found misc net proc sbin srv tmp var boot etc lib media mnt opt root selinux sys usr
Действие следующих символов так же позволяют записать в строке более одной команды. Но последние оказывают влияние друг на друга.
Символ |
Этот случай использования специального символа оболочки мы уже рассматривали. Его применяют для связывания команд с перенаправлением результатов выполнения одной команды (стандартного вывода) на вход (стандартный ввод) следующей. Утилита ps выводит список активных процессов, а grep ищет и выводит в текстовом файле строки, содержащие фрагменты-образцы. Приведенная комбинация двух команд выводит на экран только те из активных процессов, которые начинаются с символа «[». Команда представляет интерес потому, что процессы ядра заключаются в квадратные скобки.
ps -ef | grep “\[“
Приведем еще примеры использования рассматриваемого специального символа. Команда wc подсчитывает характеристики файлов (количество символов, слов или строк). Такая комбинация команд позволяет подсчитать количество файлов текущего каталога
ls -l | wc -l
Отметим, что параметр -l команды wc выводит количество строк, а одноименный параметр первой команды выводит список файлов текущего каталога по одному в строке.
Если соединить знаком «|» утилиту printenv и команду сортировки содержимого файла sort, то получим список специальных переменных, который упорядочен по их имени
printenv | sort
Сделаем еще одно замечание о связывании команд. Для удобства просмотра на экране текстов большого размера используются команды moreиless. Они позволяют выводить в постраничном режиме содержимое текстовых файлов. Связанные с другими командами символом «|», они обеспечивают постраничный вывод информации (при заполнении экрана вывод информации останавливается до нажатия определенной клавиши, например, пробел). Их отличие в том, что вторая (less) обеспечивает возврат к уже просмотренной информации, а первая – нет.
Символы && и ||
Они являются управляющими символами и применяются в случаях, когда выполнение команды зависит от результатов предыдущей.
Если две команды соединены так
КОМАНДА1 && КОМАНДА2
то вторая из них выполняется тогда, когда первая команда завершилась успешно (принято, что код ее выполнения будет равен 0).
Если вторую команду надо выполнить в случае неудачного завершения первой используют символы «||». В таком случае код выполнения первой команды отличен от нуля, Приведем примеры использования этих символа.