- •Введение
- •Лабораторная работа 1.
- •Регистрация пользователя в системе
- •Выход из системы
- •Выполнение простых команд
- •Группирование команд
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Литература
- •5.3. Задание для самостоятельной работы
- •5.4. Контрольные вопросы
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Задание для самостоятельной работы
- •Формат файла /etc/passwd
- •Формат файла /etc/shadow
- •Формат файла /etc/group
- •Создание нового пользователя
- •Переключение между пользователями
- •Файлы инициализации пользователей
- •Файлы, регламентирующие работу пользователей
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •9.3. Права доступа к каталогам
- •9.4. Смена прав доступа на файлы
- •9.5. Маска на вновь создаваемые файлы
- •9.6. Дополнительные атрибуты файла
- •9.7. Списки управления доступом
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •10.3. Метасимволы или шаблоны
- •10.4. История команд
- •10.5. Псевдонимы
- •10.6. Перенаправление ввода и вывода
- •10.7. Конвейеры
- •10.8. Приглашение ко вводу
- •10.9. Сценарии оболочки
- •10.10. Задания для самостоятельной работы
- •10.11. Контрольные вопросы
- •11.3. Системный вызов open()
- •11.4. Системный вызов read()
- •11.5. Системный вызов write()
- •11.6. Системный вызов lseek()
- •11.7. Системный вызов close()
- •11.8. Задания для самостоятельной работы
- •11.9. Контрольные вопросы
- •12.3. Системный вызов fork
- •12.4. Системный вызов exit
- •12.5. Системный вызов wait
- •12.6. Системный вызов exec
- •12.7. Системные вызовы наследования пользовательских дескрипторов файла
- •12.8. Задания для самостоятельной работы
- •12.9. Контрольные вопросы
- •13.3. Системный вызов signal
- •13.4. Системный вызов pause
- •13.5. Системный вызов alarm
- •13.6. Управление непредусмотренными событиями
- •13.7. Неименованные каналы
- •13.8. Именованные каналы
- •13.9. Задания для самостоятельной работы
- •13.10. Контрольные вопросы
- •Литература
- •Заключение
- •Учебное издание
- •Системное программирование Лабораторный практикум
10.3. Метасимволы или шаблоны
Ключевым свойством большинства оболочек Unix является способность ссылаться сразу более, чем на один файл, используя для этого специальные символы, которые получили название метасимволов или шаблонов (wildcards).
Под метасимволом понимают специальный символ, который может заменять различные последовательности символов:
* (звездочка) – обозначает любое количество любых символов;
? (знак вопроса) – обозначает один любой символ;
[…] – любой символ из тех, что заданы внутри скобок.
Пример. $ cat m*
Подобная форма записи с использованием метасимвола «*» обозначает все файлы начинающиеся с символа m и имеющих любую длину имени. В результате система выведет на экран содержимое всех файлов, отвечающих данному шаблону.
Пример. $ cat m?
Метасимвол «?» может быть использован для замены только одного символа. Данная команда выведет содержимое только тех файлов, чьи имена содержат два символа и начинаются с символа m.
Пример. $ cat [1-9]
Метасимвол «[1-9]» используется для задания определенного набора символов. Подобная запись будет относиться к файлам, имена которых состоят из двух символов: начальной m и цифры в диапазоне от 1 до 9.
Пример. $ cat mine[123]
Вывод содержимого файлов, имена которых начинаются с mine и содержат цифру 1, 2 или 3.
10.4. История команд
Командный процессор bash ведет историю команд. Это значит, система отслеживает и хранит определенное число команд, выполненных системой последними. Число команд истории определяется значением переменной среды HISTSIZE.
При регистрации пользователя в системе список истории команд считывается из файла истории. Файл истории располагается, как правило, в домашнем каталоге пользователя. По умолчанию имя файла – «.bash_history», однако, его можно легко изменит, используя переменную среды HISTFILE. Как видно, имя файла начинается с символа «.», то есть файл является скрытым и для его просмотра с помощью команды ls необходимо установить параметр –а или –А.
Команды, записанные в файле истории, могут быть вызваны на повторное исполнение. При этом возможно редактирование команды в зависимости от требований пользователя. Для пролистывания списка команд используются клавиши со стрелками вверх и вниз.
Для просмотра и редактирования команд в списке истории используются команды history и fc соответственно.
10.5. Псевдонимы
Bash поддерживает использование псевдонимов команд. Под псевдонимами понимают сокращенные имена команд пользователя, вводимые для быстрого вызова. Для создания псевдонимов используется команда alias: $ alias list=’ls –l’. При запуске псевдонима выполняется соответствующая ему полная команда. Так, при вводе в командной строке $ list на экран будет выведен полный список файлов и каталогов текущего рабочего каталога. Значение псевдонима сохраняется до выхода из bash.
Для удаления псевдонима используется команда unalias, после исполнения, которой дальнейшее использование псевдонима невозможно: $ unalias list.
Определение псевдонима не должно содержать пробелов до и после знака “=”.Если же наличие пробела в командной строке обязательно, необходимо использовать кавычки. Команда alias введенная без параметров показывает все определенные псевдонимы.