- •«Работа в ос unix/Linux и программирование на языке shell»
- •Интерпретатор команд (shell)
- •Структура команд unix
- •Простые команды
- •Стандартные ввод и вывод
- •Параметры
- •Составные команды
- •Специальные символы и подстановка значений
- •Переменные
- •Логические выражения и операторы управления
- •Оператор if:
- •Оператор while:
- •Оператор until:
- •Оператор case:
- •Оператор for:
- •Альтернативная форма оператора for:
- •Оператор select:
- •Оператор break:
- •Оператор continue:
- •Оператор shift:
- •Арифметические выражения
- •Работа пользователя в системе unix
- •Начало и завершение работы в системе
- •Запуск и выполнение команд
- •Фоновые процессы и управление заданиями
- •Скрипты
- •Некоторые команды
- •Справочные команды
- •Man [том]имя_команды
- •Info имя_команды
- •Help имя_встроенной_команды
- •Информационные команды
- •Ls [ключи] параметры
- •History [-c] [число]
- •Hostname [ключи]
- •Ps [ключи]
- •Uname [ключи]
- •Date [ключи] [новая_дата]
- •Cal [ключи] [месяц [год]]
- •Du [ключи] [список_имен]
- •Stat [список_имен]
- •Mv файл1 файл2илиmvсписок_файловкаталог
- •Find список_каталогов [ключи]
- •Rmdir [ключи] список_каталогов
- •Cat список_файлов
- •Команды для работы с данными
- •Echo [ключи] параметры
- •More [файл]
- •Sort [ключи] [-k от_поля [, до_поля]] [список_файлов]
- •Cut [ключи] [файлы]
- •Команды управления процессами
- •Testсписок_аргументов
- •Read [ключи] [список_переменных]
- •Getopts строка_ключей переменная [список_слов]
- •Примеры команд и скриптов
- •Примеры команд интерактивного режима
- •Создание текстового файла
- •Работа с файлами
- •Определить трех пользователей системы, чьи домашние каталоги с содержащимися в них файлами занимают больше всего дискового пространства
- •Примеры скриптов
- •Выдать имена всех файлов каталога-параметра и всех его подкаталогов, отступами показывая вложенность каталогов. Если параметр не задан, начать с текущего каталога.
- •Порядок выполнения работы
- •Примеры заданий на использование команд в интерактивном режиме
- •Список вариантов заданий на разработку командных файлов
- •Контрольные вопросы
Некоторые команды
Ниже приведено краткое описание некоторых популярных команд из огромного набора команд UNIX. Этот набор, а также особенности синтаксиса и семантики некоторых команд, могут несколько различаться для разных версий системы и шелла, поэтому рекомендуется чаще пользоваться справочником (командыmanиinfo).
Напомним, что запись команды состоит из имени команды и параметров. Для внешней команды ее имя – это имя выполняемого файла. Если в имени файла отсутствует разделитель /, то система ищет файл в каталогах, перечисленных в переменнойPATH.
Как правило, в приведенном описании указаны только наиболее употребительные параметры команд. Остальные параметры также можно найти в справочнике.
Разбиение набора команд на группы сделано лишь для удобства и не претендует на точность.
Для успешного выполнения команд, работающих с файлами или каталогами, требуется, чтобы пользователь обладал соответствующими правами доступа. Например, для удаления файла требуется право на запись в соответствующий каталог.
Везде, где говорится, что команда «выдает» или «выводит» некоторые данные, имеется в виду «выдает на стандартный вывод».
При описании формата команд в курсивных квадратных скобках указаны необязательные параметры.
Справочные команды
Man [том]имя_команды
Выдает справочные сведения по указанной команде или системной функции. Если указан том справочника, то ищет данные только в указанном томе. Это ускоряет работу и позволяет найти нужную справку в случае, если команда и системная функция имеют одинаковое имя. В руководствах по UNIXпри описании команд и функций обычно приводят в круглых скобках номер тома справочника. Описания стандартных команд содержатся в томе 1, описания системных функций – в томе 2.
Описания встроенных команд следует искать в описании команды соответствующего шелла (например, man bash).
Старые версии команды manвыдавали справку в поток стандартного вывода. Современные версии вместо этого могут вызывать программу просмотра текста (например, командуless), что позволяет листать данные вперед и назад, выполнять поиск слова и т.п. Тем не менее, перенаправление стандартного вывода позволяет записать статью справочника в файл.
Info имя_команды
Альтернативный вариант выдачи справки в специальном гипертекстовом формате. Содержание справки в основном совпадает с man, но в некоторых случаях новее.
Help имя_встроенной_команды
Дает краткую справку только по встроенным командам шелла.
Информационные команды
pwd
Выдает полное имя текущего каталога.
Ls [ключи] параметры
Для каждого параметра-каталога выдает информацию о файлах этого каталога. Для параметра-файла выдает информацию о данном файле. Если параметров нет, выдает информацию о текущем каталоге.
Ключи определяют объем и формат выдаваемой информации. Без ключей выдаются только имена файлов в алфавитном порядке, разделенные пробелами. Ниже перечислены некоторые ключи.
-l |
Подробный формат, по одному файлу в строке. Указываются: тип файла, права доступа для владельца, группы-владельца и прочих пользователей, количество жестких связей, владелец, группа-владелец, размер в байтах, дата и время последнего изменения, имя. |
-a |
Включаются данные об элементах каталога .и.. |
-i |
Включается номер индексного дескриптора (inode). |
-d |
Для каталога выводятся данные о самом каталоге, а не о его содержимом. |
-t |
Сортировка по времени последнего изменения файла. |
-u |
Сортировка по времени последнего обращения к файлу. |
-c |
Сортировка по времени создания файла. |
-r |
Обратный порядок сортировки |
who
Выводит список пользователей, работающих в данный момент в системе (в пределах домена локальной сети). Для каждого пользователя выводится одна строка, включающая его имя входа, имя терминала, время входа в систему и имя компьютера.
По традиции в большинстве версий UNIXкоманда с двумя параметрамиwho am I(«Кто я такой?») вызывает выдачу данных только о данном пользователе. В некоторых версиях, в том числеLinux, вместо этого используется отдельная команда без параметровwhoami.