- •1.1. Командный интерфейс
- •1.2. Взаимодействие на основе меню
- •1.2.1. Интерфейс на основе текстового меню
- •1.2.2. Графический интерфейс пользователя
- •2.1. Виды пользовательского интерфейса в unix-подобных системах
- •2.2. Терминал и консоль
- •3.1. Запуск командной строки
- •3.3. Кома́ндная оболо́чка unix
- •3.4. Перенаправление ввода-вывода
- •3.5. Способы объединения команд
- •3.6. Возможности интерфейса командной оболочки
- •3.6.1.Редактирование командной строки
- •3.6.2. История команд
- •3.6.3. Автодополнение
- •4.1. Просмотр файлов инструкций (получение справки о команде)
- •4.2. Команды по работе с файловой системой
- •4.2.1. Определение места текущего каталога в файловой системе
- •Просмотр содержимого текущего каталога
- •4.2.3. Создание нового каталога
- •4.2.4. Удаление каталога пустого каталога
- •Переход из каталога в каталог
- •Копирование файлов и каталогов
- •Перемещение (или переименование) файлов (команда mv)
- •Создание и просмотр файлов
- •Удаление файлов и непустых каталогов
- •Ссылки и работа с ними
- •Пользовательский интерфейс операционных систем ………………… 3
- •Командный интерфейс …………………………………………………. 3
3.5. Способы объединения команд
В Unix существует возможность объединять несколько команд в одной командной строке. Это можно делать несколькими способами:
Последовательное выполнение
Команды выполняются одна за другой, независимо от результата их исполнения. В качестве разделителя выступает символ точки с запятой «;».
Условное выполнение (И)
Проверяется код завершения первой программы, если он равен 0, производится выполнение второй программы, и так далее. Таким образом, последняя команда выполнится только при успешном завершении всех предыдущих. В качестве разделителя выступают два амперсанда «&&».
Пример:
test -r /tmp/txt && cp /tmp/txt .
проверяется возможность чтения файла /tmp/txt и в случае успеха файл копирует в текущий каталог.
Условное выполнение (ИЛИ)
Проверяется код завершения первой программы, если он не равен 0, производится выполнение второй программы, и так далее. Последняя команда будет запущена только если ни одна из предыдущих не закончилась успешно. В качестве разделителя выступают две вертикальные черты «||».
Пример:
test -d /tmp/dir || mkdir /tmp/dir
проверяется существование каталога /tmp/dir и, если его нет, то каталог создаётся.
Конвейер
При выполнении программ связываются их стандартные выходы и входы, так что текстовые данные передаются через них последовательно, как по конвейеру.
В качестве разделителя используется символ вертикальный черты «|».
Пример:
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 команд, но это значение может быть изменено.
