Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Командная строка Unix.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

3.5. Способы объединения команд

В Unix существует возможность объединять несколько команд в одной командной строке. Это можно делать несколькими способами:

  1. Последовательное выполнение

Команды выполняются одна за другой, независимо от результата их исполнения. В качестве разделителя выступает символ точки с запятой «;».

  1. Условное выполнение (И)

Проверяется код завершения первой программы, если он равен 0, производится выполнение второй программы, и так далее. Таким образом, последняя команда выполнится только при успешном завершении всех предыдущих. В качестве разделителя выступают два амперсанда «&&».

Пример:

test -r /tmp/txt && cp /tmp/txt .

проверяется возможность чтения файла /tmp/txt и в случае успеха файл копирует в текущий каталог.

  1. Условное выполнение (ИЛИ)

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

Пример:

test -d /tmp/dir || mkdir /tmp/dir

проверяется существование каталога /tmp/dir и, если его нет, то каталог создаётся.

  1. Конвейер

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

В качестве разделителя используется символ вертикальный черты «|».

Пример:

cat file.txt | uniq | sort

Читается содержимое файла file.txt, из него удаляются повторяющиеся строки, а оставшиеся строки сортируются по алфавиту. Результат выводится на экран.

3.6. Возможности интерфейса командной оболочки

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

3.6.1.Редактирование командной строки

Вводимую команду можно редактировать с помощью клавиш Backspace и Delete, перемещаться стрелками по всей строке.

3.6.2. История команд

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

Чтобы история команд могла сохраняться между сеансами работы пользователя, bash записывает ее в файл .bash_history, находящийся в домашнем каталоге пользователя. Делается это в момент завершения сеанса пользователя: накопленная за время работы история дописывается в конец этого файла. При следующем запуске командной оболочки считывает .bash_history целиком. История хранится не вечно, количество запоминаемых команд в .bash_history ограничено. Обычно сохраняется 500 команд, но это значение может быть изменено.