Chgrp изменяет группу каждого заданного файла на группу, которая может быть представлена как именем группы, так и ее числовым идентификатором (GID).

Синтаксис: chgrp [опции] группа файл...

Опции:

Все те же самые, что и у команды chown.

Mtools

  В системе Linux имеется набор утилит mtools, которые обеспечивают доступ к дискетам, отформатированным для использования в MS-DOS. Команда mсору позволяет копировать файлы на такую дискету и с нее. Никаких специальных операций вроде операции монтирования проводить не нужно. В отличие от обычных путевых имен DOS, в путевых именах, используемых с mtools, вместо обратного слеша используется прямой слеш. Каталог docs на диске А: обозначается путевым именем a:/docs, а не a:\docs.

  С помощью команды mdir можно получить список файлов, имеющихся на дискете MS-DOS, а с помощью команды mcd ≈ переходить на этой дискете из каталога в каталог. Большинство стандартных команд MS-DOS могут выполняться как операции mtools. В частности, можно создавать каталоги MS-DOS (команда mmd) и удалять файлы (mdel). Доступ к разделам MS-DOS конфигурируется файлом /etc/mtools. conf, в котором перечислены различные стандартные разделы MS-DOS и дисководы. Каждый дисковод или раздел обозначается определенным именем устройства.


Управление заданиями.

Научиться  запускать и управлять заданиями в оперативном и фоновом режимах. Команды jobs, ps, top, fg, bg, kill, stop, at, Ctrl+Z.

Задания и процессы

Всякая выполняющаяся в Linux программа называется процессом. Linux как многозадачная система характеризуется тем, что одновременно может выполняться множество процессов, принадлежащих одному или нескольким пользователям. Работающий процесс также называют заданием (job). Понятия процесс и задание являются взаимозаменяемыми. Однако обычно процесс называют заданием, когда имеют ввиду управление заданием (job control). Управление заданием — это функция командной оболочки, которая предоставляет пользователю возможность переключаться между несколькими заданиями.

НЕ нашли? Не то? Что вы ищете?

В большинстве случаев пользователи запускают только одно задание. Однако многие командные оболочки (включая bash и tcsh) имеют функции управления заданиями (job control), позволяющие запускать одновременно несколько команд или заданий (jobs) и, по мере надобности, переключаться между ними.

Передний план (оперативный режим)  и фоновый режим

  Задания могут быть либо на переднем плане (foreground), либо фоновыми (background). На переднем плане в любой момент времени может быть только одно задание. Задание на переднем плане — это то задание, с которым вы взаимодействуете; оно получает ввод с клавиатуры и посылает вывод на экран. Напротив, фоновые задания не получают ввода с терминала; как правило, такие задания не нуждаются во взаимодействии с пользователем.

  Некоторые задания исполняются очень долго, и во время их работы не происходит ничего интерактивного. Пример таких заданий — компилирование программ, а также сжатие больших файлов. Такие задания следует запускать в фоновом режиме. В это время можно работать с другими программами.

  Для управления выполнением процессов в Linux предусмотрен механизм передачи сигналов. Сигнал — это способность процессов обмениваться стандартными короткими сообщениями непосредственно с помощью системы. Сообщение-сигнал не содержит никакой информации, кроме номера сигнала. Для того чтобы передать сигнал, процессу достаточно задействовать системный вызов kill(), а чтобы принять сигнал, не нужно ничего. Если процессу нужно как-то по-особенному реагировать на сигнал, он может зарегистрировать обработчик, а если обработчика нет, за него отреагирует система. Как правило, это приводит к немедленному завершению процесса, получившего сигнал. Обработчик сигнала запускается асинхронно, немедленно после получения сигнала, что бы процесс в это время ни делал.

  Два сигнала — номер 9 (KILL) и 19 (STOP) — всегда обрабатывает система. Первый из них нужен для того, чтобы убить процесс наверняка. Сигнал STOP приостанавливает процесс: в таком состоянии процесс не удаляется из таблицы процессов, но и не выполняется до тех пор, пока не получит сигнал 18 (CONT) — после чего продолжит работу. В командной оболочке Linux сигнал STOP можно передать активному процессу с помощью управляющей последовательности Ctrl-Z.

  Сигнал номер 15 (TERM) служит для прерывания работы задания. При прерывании (interrupt) задания процесс погибает. Прерывание заданий обычно осуществляется управляющей последовательностью Ctrl-C. Восстановить прерванное задание никаким образом невозможно.  Следует также знать, что некоторые программы перехватывают сигнал TERM (при помощи обработчика), так что нажатие комбинации клавиш Ctrl-C может не прервать процесс немедленно. Это сделано для того, чтобы программа могла уничтожить следы своей работы прежде, чем она будет завершена. На практике, некоторые программы вообще нельзя прервать таким способом.

Выполнение: необходимо выполнить поиск файлов, принадлежащих пользователю в каталоге пользователя. Таких файлов множество по определению и в течении большого промежутка времени на экран будет выводиться список найденных файлов, а выполнить другие команды не представляется возможным. Такая ситуация противоречит идее многозадачности.  Необходим способ, с помощью которого можно было бы после ввода команды поиска, не дожидаясь ее завершения, запустить другую программу. Решить задачу помогает запуск программ в фоновом режиме. Если запускать задания в фоновом режиме, подсказка командной строки будет оставаться на экране, а новые задания можно будет запускать, не дожидаясь завершения уже запущенных.

  Простейший способ запуска задания в фоновом режиме - завершение команды запуска знаком амперсанда (&). Этот знак заставляет оболочку запускать команду в фоновом режиме с незамедлительным возвратом подсказки командной строки на экран.

Рис 1. Запуск на выполнение в фоновом режиме.

Команда jobs

Команда jobs выводит список выполняемых или остановленных заданий.

Выполнение: запустим в фоновом режиме команду find / > text.  И воспользуемся командой jobs.

Рис 2. Результат запуска команды jobs после запуска  задания в фоновом режиме.

В результате был выведен список в котором видно, что выполняется задание find / >text.

Комбинация Ctrl+Z

  Если программа запущена в режиме переднего плана, то ее выполнение может быть приостановлено комбинацией клавиш Ctrl+Z. Эта комбинация интерпретируется оболочкой как команда временной остановки текущего процесса. Например, если команду поиска из предыдущего примера запустить в режиме переднего плана, то после нажатия Ctrl+Z поиск временно прекращается. Если теперь ввести команду jobs, выведется список в котором будет указано, наше остановленное задание find / > text.

Рис 3. Результат запуска команды jobs после приостановки задания.

Команда bg и fg

Если функция управления заданиями активна, то вы можете вновь запустить приостановленный процесс. Чтобы вновь запустить процесс, остановленный командой stop, вы сначала должны определить JID с помощью команды jobs. Затем вы можете использовать JID со следующими командами:

fg <JID> - возобновляет приостановленное задание или переводит задание из фонового режима в оперативный;

Выполнение: возобновим остановленное ранее задание в оперативном режиме.

Рис 4. Возобновление остановленного задание в оперативном режиме

bg <JID> - вновь запускает приостановленное задание в фоновом режиме.

Выполнение: возобновим остановленное ранее задание в фоновом режиме.

Рис 5.  Возобновление остановленного задание в фоновом режиме

После того, как остановленное задание переводится в фоновый режим его выполнение возобновляется, и команда jobs показывает его состояние как Running (выполняется) или Done (готово).

Команда kill

В некоторых случаях остановленное или фоновое задание приходится завершать либо уничтожать. Для уничтожения процесса, указанного его идентификатором (РID), используется команда kill. Можно воспользоваться командой ps для определения идентификатора процесса либо уничтожать остановленные или фоновые задания непосредственно по их номерам. Утилита kill посылает сигнал процессу или процессам, заданным операндами pid.

Синтаксис:

kill [-s СИГНАЛ | - СИГНАЛ] PID...

Для каждого операнда pid утилита kill будет выполнять действия, вызванные аргументами:

Значение операнда pid будет использоваться в качестве аргумента pid. В качестве аргумента sig используется значение, заданное в опции - s, или SIGTERM, если эта опция не указана.

Опции:

    -l - Выдать все значения сигналов, поддерживаемые в данной реализации. -s сигнал - Задает сигнал, который надо послать, используя одно из символьных имен.

Выполнение: произведем уничтожение остановленного задания find / > text. Для этого нужно сначала определить pid Затем послать сигнал SIGKILL(9).

Рис 6. Результат уничтожения остановленного задания

Команда stop

Команда stop приостанавливает временно процессы.

Синтаксис: stop JID<CR>

Команда Ps:

Ps - выдача информации о состоянии процессов.

Синтаксис: ps [optinon]

  Команда ps выдает информацию об активных процессах.

По умолчанию выводятся:

    идентификатор процесса идентификатор терминала истраченное к данному моменту время ЦП имя команды

Если нужна иная информация, следует пользоваться опциями. Некоторые опции имеют один аргумент или список аргументов.

Опции:

-e - вывести информацию обо всех процессах

-d - вывести информацию обо всех процессах, кроме лидеров групп

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12