unix.linux
.pdf/usr
●Содержит вторичную иерархию ФС для данных пользователей
●Структура /usr повторяет структуру корня, однако хранятся там файлы и данные пользовательских программ
●Также содержит подкаталог include, где хранятся заголовочные файлы
/var
●Содержит файлы, изменяемые программами в процессе работы — журналы, идентификаторы процессов, файлы блокировок, очередь печати, очередь почтовых сообщений
●Почти всегда выносится отдельным разделом
Золотые правила по управлению ФС
●Проектируйте ФС таким образом, чтобы не допустить переполнения корневого раздела
●Выносите ветви с журналами, временными файлами, обслуживаемыми данными (данные для web-, ftp- и прочих серверов), файлами состояния и данными пользователя на отдельные разделы
●Используйте менеджер логических томов
Интерпретатор команд
Интерпретатор команд
●Поставляемый в комплекте с большинством дистрибутивов — bash (Bourne Again Shell)
●Существуют другие совместимые интерпретаторы — ash, dash, tcsh, zsh
●Основная полезная возможность - автодополнение по клавише Tab
●Создание псевдонимов командой alias
●Понимает программы на языке shell (sh) со своим диалектом
Описание
●Является одним из основных способов работы с ОС GNU/Linux
●Позволяет эффективно обрабатывать текстовые данные
●Позволяет эффективно выполнять одинаковые действия над разными наборами данных
●Предоставляет пользователю доступ к ресурсам системы
Способ взаимодействия
●Единственный способ взаимодействия с системой — ввод и исполнение программ, состоящих из команд
●Командой может быть:
●Встроенная функция интерпретатора
●Пользовательские функции, расширяющие эмулятор терминала
●Любая установленная программа
●Сценарий (скрипт) на языке shell (sh)
●Команда может иметь псевдоним (например, определяющий ключи запуска)
Вызов команды
●commandname <аргументы>
●/path/to/command <аргументы>
●relative/path/to/command <аргументы>
●Аргументы определяются самой командой, могут быть как данными, так и ключами исполнения
●Стиль GNU-программ (библиотека getopt):
●program -a 2 -b3 -cdef --long-key /my/some/file
Распространённые ключи
●-h, --help, --usage — вызов справки
●-v, --verbose — подробный вывод команды
●-d, --debug — режим отладки
●-i, --input — входной файл
●-o, --output — выходной файл
●Мультиплексирование ключей: -vvv увеличивает степень подробности
●-- — после этого знака ключи не распознаются, только позиционные параметры
Стандартные файловые дескрипторы
●stdin — стандартный ввод (fd=0)
●stdout — стандартный вывод (fd=1)
●stderr — стандартный вывод для сообщений об ошибках (fd=2)