ЛАБОРАТОРНАЯ РАБОТА №2
ОЗНАКОМЛЕНИЕ С ОС LINUX
1.
Цель работы:
Ознакомление с операционной системой и основными командами работы с файлами и каталогами ОС Unix/Linux.
2.
Краткие теоретические сведения.
Лабораторная работа выполняется в среде Red Hat Linux, доступ к которой осуществляется с рабочего места, функционирующего в среде ОС Windows 2000 через защищенный протокол ssh, обеспечиваемый программой putty. При выполнении лабораторной работы Вы становитесь клиентом сервера Linux и используете окно программы putty как терминал сервера. Работа выполняется в текстовом режиме, мышь не поддерживается.
По умолчанию приглашением в Unix/Linux является символ '#', в ответ не которое Вы можете вводить команды. Левее него в квадратных скобках указана Ваша учетная запись и имя сервера, а также текущий каталог.
В сеансе работы с Linux Вашим текущим (домашним) каталогом является каталог: /home/имя
, где имя
- Ваше сетевое имя. К этому каталогу Вы имеете права чтения, записи, выполнения. Вы не имеете права записи к каталогам, не являющимся подкаталогами вашего домашнего каталога, если их владельцы (или системный администратор) не дали Вам соответствующих прав. Не забывайте, что в Unix/Linux символ "слэш" - разделитель имен каталогов наклонен вправо: '/'!
Для получения справки по командам и программам служат инструкции man и info. Некоторые разделы справки даны на английском языке. Краткое описание применяемых в лабораторной работе команд и программ на русском языке дано в Приложении 1.
Для окончания сеанса работы с Linux введите exit.
3.
Методические указания.
3.1. Вводите команды ОС только при наличии приглашения оболочки (символ #).
3.2. В используемой оболочке имеется буфер команд, перемещение по которому производится стрелками управления курсором (вверх и вниз). Для редактирования команды из буфера используются клавиши <- и ->, <BackSpace> и <Delete>.
3.3. Для окончания работы инструкций man и info используйте символ q.
3.4. Для протоколирования результатов выполнения команд используйте команду script, которая позволяет создать протокол работы пользователя на терминале. Рекомендуется вводить команду script перед выполнением окончательной версии команды и заканчивать запись командой exit или сочетанием клавиш <Ctrl>-D, чтобы не загромождать файл протокола отладочными вариантами с ошибками. Для того, чтобы результаты работы накапливались в файле протокола, используйте команду script с опцией -a.
3.5. Возможно открыть новый терминал в пределах той же сессии, используя клавиши <Alt><F2> - <F6>.
3.6. При работе в файловом менеджере Midnight Commander для вызова команд можно применять сочетания клавиш <Ctrl> символ или <Alt> символ, обозначаемые в его описании как С - символ или М - символ соответственно. Если указано сочетание трех клавиш, то первые две нажимаются одновременно, третья - отдельно. Если символ после служебной клавиши расположен в верхнем регистре, то одновременно нажимаются все три клавиши, включая <Shift>.
3.7. Для доступа к файлам, созданным на сервере Linux, применяйте протокол ftp, клиентская программа которого имеется в Windows 2000 и встроена в файловый менеджер FAR. При этом учетная запись и пароль те же, что и при подключении по протоколу ssh.
4.
Порядок выполнения работы.
4.1. Ознакомиться с процедурами входа в систему, выполнения основных команд, получения подсказки, создания и редактирования текстовых файлов.
4.2. Создать структуру каталогов, ссылки и символические ссылки, соответствующие варианту индивидуального задания.
4.3. Выполнить указанные в задании действия над каталогами, файлами, ссылками.
4.4. Изучить команды изменения прав доступа и владения chmod и chown.
4.5. Провести изменения прав доступа к файлам и каталогам.
4.6. Изучить работу и ключи команды ps - получения сведений о процессах в операционной системе.
4.7. Освоить работу с файловым менеджером Midnight Commander. Изучить сочетания клавиш для выполнения часто применяемых команд.
5.
Варианты заданий.
5.1. Для всех вариантов выполнить следующие действия:
5.1.1. Запустить программу putty, ввести адрес сервера для подключения (Host name) 217.71.139.65, выбрать протокол подключения SSH (порт 22), в категории Window/Appearance изменить (Change) шрифт на Courier Bold 16-pixel, вернуться в категорию Session, ввести имя сохраняемых настроек Saved Session, сохранить настройки (Save), открыть соединение (Open).
5.1.2. Ввести имя пользователя user№, пароль user№, где № состоит из двух цифр - порядкового номера группы в микропотоке и номера бригады.
5.1.3. Выполните команды help, ls, cd, pwd, mkdir, rmdir.
5.1.4. Изучить описания этих команд с помощью инструкций man и info.
5.1.5. Изучить описания команды script, запротоколировать с ее помощью выполнение пункта 5.1.3.
5.1.6. Установить связь с соседями, используя команды who, write, запротоколировать переписку.
5.1.7. Создать текстовый файл с произвольным содержанием при помощи команды te
e. Просмотреть содержимое файла при помощи команды cat и исправить в нем ошибки при помощи текстового редактора vi.
5.1.8. Изучить справку на команды cp, unlink.
5.1.9. Сделать копию файла командой cp, удалить ее командой unlink, запротоколировать эти действия.
5.2. Создайте структуру каталогов в соответствии с вариантом. Черными линиями представлена вложенность файлов/подкаталогов в каталоги. Синими линиями представлены ссылки. Красными линиями - символические ссылки. Стрелка на красной линии указывает на целевой файл ссылки. Файлы создаются копированием ранее созданного файла командой cp с внесением в копии некоторых изменений. Ссылки создаются командой ln, символические ссылки - ей же, но с ключом -s:
Таблица 1.
Вариант 1. |
Вариант 6. |
Вариант 2. |
Вариант 7. |
Вариант 3. |
Вариант 8. |
Вариант 4. |
Вариант 9. |
Вариант 5. |
Вариант 10. |
5.3. Для всех вариантов выполнить следующие действия:
5.3.1. Создать ссылки (синие линии).
5.3.2. Создать символические ссылки (красные линии).
5.3.3. Сохранить протокол выполненных действий.
5.3.4. Провести ряд экспериментов, иллюстрирующих доступ к файлам по основным именам, по ссылкам и по символическим ссылкам. Для доступа использовать команду cat или редактор vi.
5.3.5. Провести ряд экспериментов, иллюстрирующих реакцию системы на удаление файла, на который имеются ссылки, и файла, на который имеются символические ссылки. Проверять результаты командой ls -la.
5.3.6. Уничтожить созданные подкаталоги и файлы в них, используя команды rmdir и unlink, сохранив, однако, файл, созданный в пункте 5.1.7 и одну его рабочую копию в домашнем каталоге.
5.3.7. Изучить справку к командам chmod и chown.
5.3.8. Открыть для своей группы доступ к своему домашнему каталогу - для поиска в каталоге и к рабочей копии файла в домашнем каталоге - для чтения и записи.
5.3.9. Послать своему партнеру сообщение об открытии доступа, указав в нем имя своего каталога и файла в нем.
5.3.10. Получив от своего партнера аналогичное сообщение, выполнить попытку чтения файла в каталоге партнера, а затем - внесения изменений в этот файл.
5.3.11. Послать своему партнеру сообщение о том, что в его файл внесены изменения.
5.3.12. Получив от партнера аналогичное сообщение, прочитать свой файл и найти в нем изменения, сделанные партнером.
5.3.13. Закрыть доступ к своему домашнему каталогу.
5.3.14. Сохранить протокол выполнения пунктов 5.3.8 - 5.3.13.
5.3.15. Изучить справку к команде ps, выполнить ее с ключами -a, -e, a, x, ax, записать результаты в файл, например: ps -e > ps.log.
5.3.16. Изучить справку к файловому менеджеру Midnight Commander, запустить его, изучить перечень доступных команд, сочетания клавиш для выполнения часто применяемых команд, особенности встроенного текстового редактора.
6.
Содержание отчета.
6.1. Цель работы.
6.2. Вариант задания.
6.3. Протоколы выполненных действий согласно пунктам 5.1.5, 5.1.6, 5.1.9, 5.3.3, 5.3.14, 5.3.15.
7.
Контрольные вопросы.
7.1. Какие ключи команды ls Вы знаете? Что они дают?
7.2. Чем отличаются man и info? Как с ними работать?
7.3. Команда script - назначение и применение.
7.4. Как обмениваться сообщениями с пользователями сервера Linux? Как блокировать прием сообщений?
7.5. Команды tee и cat. Назначение и применение. Чем cat отличается от more и less?
7.6. Основные команды редактора vi.
7.7. Ссылки и символические ссылки. Создание и применение.
7.8. Создание и копирование файлов и папок в Linux.
7.9. Перемещение и удаление файлов и папок в Linux.
7.10. Команды chmod и chown. Назначение и применение.
7.11. Какие права доступа Вы имеете к своему домашнему каталогу, каталогам /home и / ?
7.12. Команда ps. Назначение и применение. Ключи команды.
7.13. Особенности вызова команд Midnight Commander через сочетания клавиш.
7.14. Особенности встроенного текстового редактора файлового менеджера Midnight Commander.
7.15. Какие сочетания клавиш Midnight Commander можно было применить для выполнения этой лабораторной работы?
Приложение 1
ls
- вывод содержимого каталога. Синтаксис
: ls [опции] [файл...]
Описание:
Команда ls сначала выводит список всех файлов (не каталогов), перечисленных в командной строке, а затем выводит список всех файлов, находящихся в каталогах, перечисленных в командной строке. Если не указано ни одного файла, то по умолчанию аргументом назначается '.' (текущий каталог). Опция -d заставляет ls не считать аргументы-каталоги каталогами. Будут отображаться только файлы, которые не начинаются с '.' или все файлы, если задана опция -a.
Результаты печатаются на стандартный вывод, по одному файлу на строку, если с помощью опции -C не задан многоколоночный вывод.
Каждый список файлов (для файлов, которые не являются каталогами и для каждого каталога, содержащего список файлов) сортируется отдельно в алфавитной последовательности.
Опции:
-l В дополнение к имени каждого файла, выводятся тип файла, права доступа к файлу, количество ссылок на файл, имя владельца, имя группы, размер файла в байтах и временной штамп (время последней модификации файла, если не задано другое).
-a Выдавать все файлы в каталогах, включая все файлы и подкаталоги, имена которых начинаются с '.'.
-d Выдавать имена каталогов, как будто они обычные файлы, вместо того, чтобы показывать их содержимое.
-L Выдавать информацию о файлах, на которые указывают символические ссылки, вместо информации о самих символических ссылках.
-R Рекурсивно выдавать список содержимого всех каталогов.
-h Добавлять к каждому размеру файла букву размера, например, M (мегабайт).
-X Производить сортировку в алфавитном порядке по расширениям файлов (символы после последней '.'); файлы без расширений будут показаны первыми.
-S Производить сортировку по размеру файла, вместо сортировки по алфавиту. Таким образом, наибольшие файлы будут показаны сначала.
-c Сортировать содержимое каталога в соответствии с временем изменения состояния файла. Если с помощью опции -l задан длинный формат, то выдавать время изменения состояния файла вместо времени его модификации.
-t Сортировать по времени последней модификации вместо того, чтобы производить сортировку по алфавиту. Самые свежие файлы будут отображаться первыми.
-u Сортировать по времени последнего доступа к файлу, вместо времени последней модификации.
Типы файлов (первая буква в строке при задании опции -l) могут принимать следующие значения: - для обычного файла, d для каталога, b для блочного устройства, c для символьного устройства, l для символической ссылки, p для FIFO и s для гнезда (socket)
Права доступа составляют 9 символов и делятся на три группы по три символа: права доступа владельца, других пользователей из его группы, всех прочих пользователей. Права обозначаются следующим образом:
r Право на чтение.
w Право на запись.
x Право на выполнение (поиск в каталоге).
- Данное право доступа отсутствует.
Для каталога под правом на выполнение подразумевается право на просмотр в поисках требуемого файла.
сd
- смена текущего каталога. Синтаксис:
cd [каталог]
Описание:
cd изменяет текущий каталог на каталог. Имя каталог может задаваться абсолютным (от корневого каталога) - в этом случае оно начинается с символа '/' - или относительным (от текущего каталога) - в этом случае оно начинается с символов './' или '../'. Если каталог не указан, текущим становится "домашний" каталог пользователя, определяемый значением переменной окружения $HOME.
pwd
- выдача имени текущего каталога. Синтаксис:
pwd
Описание:
Команда pwd выдает имя текущего (рабочего) каталога.
mkdir
- создание каталога. Синтаксис:
mkdir [опции] каталог...
Описание
: Команда mkdir создает каталоги с заданными именами.
По умолчанию права доступа к каталогам устанавливаются в 0777 (`a+rwx').
Опции:
-m права Устанавливает права доступа к создаваемым каталогам. Эти права могут быть заданы либо в символьном виде, либо в виде восьмеричного числа, как описано в
rmdir
- удаление пустых каталогов. Синтаксис
rmdir [опции] каталог...
Описание.
Команда rmdir удаляет пустые каталоги. Если какой-либо из аргументов каталог не указывает на существующий пустой каталог, то будет выдано сообщение об ошибке.
Опции
:
-p Если каталог включает более, чем один компонент пути, то удаляется каталог, затем убирается последний компонент пути и удаляется получившийся каталог и т.д. до тех пор, пока все компоненты не будут удалены. Таким образом, команда rmdir -p a/b/c эквивалентна rmdir a/b/c; rmdir a/b; rmdir a.
man
- форматирование и отображение онлайновых справочных страниц. Синтаксис:
man [раздел] имя...
Описание:
Команда man выполняет форматирование и отображение онлайновых справочных страниц Unix. Если задан раздел, то man ищет только в заданном разделе руководства. имя - это обычно имя страницы руководства, которое, как правило, является именем команды, функции или файла.
Имеющиеся справочные страницы разбиты на несколько разделов. Важнейшими являются разделы:
1 - команды Unix;
2, 3 - системные вызовы Unix;
4, 5 - форматы файлов Unix.
Когда команда отображает страницу подсказки, в нижней строке экрана выводится приглашение man - символ ':'. После приглашения можно вводить внутренние команды man. В кратком руководстве следует упомянуть только две внутренние команды man:
h получение подробной информации о внутренних командах man;
q выход из man или переход к следующей странице, если команда man была введена с указанием нескольких имен команд.
Двигаться по отображаемой странице можно при помощи клавиш управления курсором.
Для получения более подробной информации о команде man введите: man man
info
- отображение онлайновых справочных страниц. Синтаксис:
info имя...
Описание:
Команда info выполняет ф
В текстах, отображаемых командой, могут быть наборы строк, озаглавленные "* Menu", каждая строка такого набора начинается с символа "*". Выбрав курсором пункт меню и нажав клавишу Enter, можно получить страницу подсказки по этому пункту.
Независимо от положения курсора, после приглашения можно вводить внутренние команды info. В кратком руководстве следует упомянуть только две внутренние команды info:
h получение подробной информации о внутренних командах info;
q выход из info или переход к следующей странице, если команда info была введена с указанием нескольких имен команд.
Двигаться по отображаемой странице можно при помощи клавиш управления курсором.
script
- протоколирование сеанса. Синтаксис:
script [-a] файл
Описание:
Команда script начинает "вложенный" сеанс и протоколирует весь терминальный ввод и вывод в заданном файле. Завершение вложенного сеанса и выполнения команды script происходит по нажатию комбинации клавиш Ctrl+D.
Опции
:
-a добавление протокола нового сеанса к содержимому файла, если эта опция не задана, то файл создается заново.
who
- кто в системе? Синтаксис:
who [опции]
Описание:
Команда who сообщает имя пользователя, имя терминальной линии, астрономическое время начала сеанса, продолжительность бездействия терминальной линии с момента последнего обмена, идентификатор процесса для каждого из пользователей, работающих в системе.
Сообщения команды who имеют следующий формат:
NAME STATE LINE TIME IDLE PID COMMENT
где NAME - входное имя пользователя; LINE - имя терминальной линии, под которым она фигурирует в каталоге /dev; TIME - время начала сеанса; IDLE - время (часы и минуты), протекшее с последнего момента активизации данной линии. Точка (.) свидетельствует о том, что это действующий терминал. PID - идентификатор процесса интерпретатора shell, обслуживающего данного пользователя; COMMENT - комментарий, характеризующий данную линию.
Опции
:
-H отображение заголовков столбцов в выводимой информации
-i отображается поле IDLE
-q отображение только имен и количества пользователей, работающих в системе в данный момент; все прочие опции при этом игнорируются
-T аналогично -s, но при этом отображается также поле STATE, как:
+ терминал, на который можно передавать сообщения
- терминал, на который нельзя передавать сообщения
? терминал неисправен
-s выводятся только поля NAME, LINE и TIME; это опция по умолчанию.
write
- передача сообщения другому пользователю. Синтаксис:
write адресат
Описание:
Адресат
задается как сетевое имя пользователя. После запуска команда write устанавливает связь с адресатом и переходит в режим ожидания ввода. В момент установки связи на терминал адресата выводится сообщение:
Message from отправитель
...
Отправитель вводит любой текст, который отображается на терминале получателя. Отправитель заканчивает сообщение нажатием комбинации клавиш Ctrl+D в начале строки. У адресата окончание сообщение индицируется строкой: EOF
Получатель может заблокировать/разблокировать вывод сообщений на свой экран при помощи команды mesg. При попытке передать сообщение на заблокированный терминал отправитель получает диагностику:
write: адресат
has messages disabled
tee
- ответвление канала. Синтаксис:
tee [опции]... [файл]...
Описание:
Команда tee переписывает стандартный ввод на стандартный вывод и делает копии в файлах. Признаком окончания ввода является комбинация клавиш Ctrl+D.
Опции:
-a добавлять выводимую информацию в файлы, а не переписывать их с начала.
cat
- слияние и вывод файлов. Синтаксис:
cat [-опции] файл ...
Описание:
Команда cat по очереди читает указанные файлы и выдает их содержимое на стандартный вывод. Так, например, cat f распечатывает содержимое файла f, а cat f1 f2 > f3 сливает первые два файла и помещает результат в третий. Чтобы добавить файл f1 к файлу f2, надо выполнить команду cat f1 >> f2. Если не указан ни один файл или среди аргументов встретился -, команда cat читает данные со стандартного ввода.
Опции:
-b Нумеруются непустые строки файла.
-s Нумеруются все строки файла. (Поле номера отделяется от текста символом табуляции).
-v Визуализация непечатных символов. Управляющие символы изображаются в виде ^X (CTRL+X); символ DEL (восьмеричное 0177) - в виде ^?. Символы, не входящие в набор ASCII (то есть с восьмым битом, установленным в 1) выдаются в виде M-x, где x - определяемый младшими семью битами символ.
С опцией -v можно использовать следующие опции:
-t Визуализация символов табуляции в виде ^I.
-e Визуализация символов перевода строки в виде $ (строка при этом все же переводится).
Если опция -v не указана, то опции -t и -e игнорируются.
vi
- текстовый редактор. Синтаксис:
vi имя_файла
Описание:
Редактор vi имеет три режима:
1. Командный - в этом режиме можно перемещаться по файлу и выполнять редактирующие команды над текстом. Команды вызываются ОБЫЧНЫМИ ЛАТИНСКИМИ БУКВАМИ.
2. Ввода текста - в этом режиме обычные латинские буквы будут вставляться в текст.
3. Режим строчного редактора vi используется для управления файлами (типа сохранить файл, зачитать файл и т.д.)
VI в КОМАНДНОМ РЕЖИМЕ.
ЧТОБЫ ВЫЙТИ ИЗ ФАЙЛА БЕЗ СОХРАНЕНИЯ, нажмите:
ESC : q ! Enter
чтобы выйти из файла, сохранив изменения, нажмите:
ESC : w ! Enter
ESC : q Enter
выйти из файла с сохранением, одной командой:
ESC : wq Enter
для перехода В РЕЖИМ ВВОДА нужно нажать команды типа:
i вставлять здесь
A вставлять с конца строки
Cw заменять текущее слово
ESC для ВОЗВРАТА В КОМАНДНЫЙ РЕЖИМ
CTRL-[ для возврата в командный режим
для перехода В РЕЖИМ УПРАВЛЕНИЯ ФАЙЛАМИ нужно нажать :
Двигаться по файлу можно командами:
h,j,k,l влево, вниз, вверх, вправо
Ctrl-F на страницу вниз
Ctrl-B на страницу вверх
Подгоните курсор к нужному месту и нажмите
i перевод в режим ввода и вводите требуемый текст
ESC прекратить ввод, перейти в командный режим.
Подгоните курсор к ненужному месту и нажмите
x удалить символ
dd удалить строчку.
Еще парочка полезных команд:
o вставлять с новой строки (под текущей строкой)
a в режим ввода ЗА курсором
5yy запомнить 5 строчек
Подгоните курсор к нужному месту
p вставить запомненные строки под курсором
P вставить запомненные строки НАД курсором
J склеить две строки
/Шаблон поиска Enter поиск
n повторить поиск.
cp
- копирование файлов и каталогов. Синтаксис:
cp [опции] файл путь
cp [опции] файл каталог
Описание:
Команда cp копирует файлы или каталоги.
Если последний аргумент является существующим каталогом, то cp копирует каждый исходный файл в этот каталог (сохраняя имена). В противном случае, если задано только два файла, то cp копирует первый файл во второй.
(Так, cp -R /a /b будет копировать /a в /b/a и /a/x в /b/a/x в случае, если /b уже существует, но эта же команда будет копировать /a в /b и /a/x в /b/x, если /b не существует).
По умолчанию cp не копирует каталоги (см. опцию -R).
Опции:
-d Копирует символьные ссылки как символьные ссылки, а не файлы, на которые они указывают, и сохраняет жесткие ссылки между исходными файлами в копиях.
-f Удаляет существующие файлы, в которые происходит копирование, и не задает вопросов перед тем, как это сделать.
-i Спрашивает, нужно ли перезаписывать существующие обычные файлы.
-l Делает жесткие ссылки вместо копирования обычных файлов (не каталогов).
-R Копировать каталоги рекурсивно, сохраняя специальные файлы (см. -r выше).
-v Выводить имя каждого файла перед его копированием.
unlink
- вызывает системную функцию unlink для удаления указанного файла. Синтаксис:
unlink file
Описание:
вызывает системную функцию unlink для удаления указанного файла file.
rm
- удаление файлов или каталогов. Синтаксис:
rm [опции] файл...
Описание:
Команда rm удаляет каждый заданный файл. По умолчанию каталоги не удаляются, но если задана опция -r, то будет удаляться все дерево каталогов ниже заданного каталога, включая и заданный каталог (без ограничения на глубину дерева).
Опции:
-f Игнорировать несуществующие файлы и никогда не запрашивать подтверждение на удаления.
-i Выдавать запрос на удаление каждого файла. (Принята по умолчанию).
-r Рекурсивно удалять содержимое каталогов.
-v Выдавать имя каждого файла перед его удалением.
ln
- создание ссылки на файл. Синтаксис:
ln [-f] файл1 [файл2 ...] целевой_файл
Описание:
Команда ln делает целевой_файл ссылкой на файл1. Файл1 не должен совпадать с целевым_файлом. Если целевой_файл является каталогом, то в нем создаются ссылки на файл1, файл2,... с теми же именами. Только в этом случае можно указывать несколько исходных файлов.
Если целевой_файл существует и не является каталогом, его старое содержимое теряется.
Опции:
-f удаление существующего целевого файла
-s создание символической ссылки (по умолчанию создается жесткая ссылка)
chmod
- изменение режима доступа к файлам. Синтаксис:
chmod режим файл...
Описание:
Команда chmod изменяет права доступа к указанным файлам (среди которых могут быть каталоги) в соответствии с указанным режимом. Режим может быть задан в абсолютном или символьном виде.
Абсолютный вид
- восьмеричное число, являющееся поразрядным ИЛИ следующих режимов (названы не все режимы):
00400 Доступен для чтения владельцем.
00200 Доступен для записи владельцем.
00100 Доступен для выполнения (в случае каталога - для просмотра) владельцем.
00040 Доступен для чтения членами группы.
00020 Доступен для записи членами группы.
00010 Доступен для выполнения (просмотра) членами группы.
00004 Доступен для чтения прочими пользователями.
00002 Доступен для записи прочими пользователями.
00001 Доступен для выполнения (просмотра) прочими пользователями.
Символьный вид
основан на однобуквенных обозначениях, которые определяют класс доступа и права доступа для членов данного класса. Права доступа к файлу зависят от идентификатора пользователя и идентификатора группы, в которую он входит. Режим в целом описывается в терминах трех последовательностей, по три буквы в каждой:
Владелец |
Группа |
Прочие |
(u) |
(g) |
(o) |
rwx |
rwx |
rwx |
Для задания режима доступа в символьном виде используется синтаксис:
[кому] операция права
Часть кому есть комбинация букв u, g и o (владелец, члены группы и прочие пользователи соответственно). Если часть кому опущена или указано a, то это эквивалентно ugo. Операция может быть: + (добавить право), - (лишить права), = (в пределах данного класса присвоить права абсолютно, то есть добавить указанные права и отнять неуказанные). Права - любая осмысленная комбинация следующих букв (не все):
r Право на чтение.
w Право на запись.
x Право на выполнение (поиск в каталоге).
Опустить часть права можно только если операция есть = (для лишения всех прав).
Если надо сделать более одного указания об изменении прав, то при использовании символьного вида в правах не должно быть пробелов, а указания должны разделяться запятыми. Например, команда
chmod u+w,go+x f1
добавит для владельца право писать в файл f1, а для членов группы и прочих пользователей - право выполнять файл. Права устанавливаются в указанном порядке.
Изменить режим доступа к файлу может только его владелец или суперпользователь.
Для просмотра прав доступа и контроля при их изменении используется команда ls
с флагом -l.
chown
- изменение владельца и группы файлов.
Синтаксис:
chown [опции] пользователь[:группа] файл...
Описание:
Команда chown изменяет владельца и/или группу для каждого заданного файла. В качестве имени владельца/группы берется первый аргумент, не являющийся опцией. Если задано только имя пользователя (или числовой идентификатор пользователя), то данный пользователь становится владельцем каждого из указанных файлов, а группа этих файлов не изменяется. Если за именем пользователя через двоеточие следует имя группы (или числовой идентификатор группы), без пробелов между ними, то изменяется также и группа файла.
Опции:
-R Рекурсивное изменение владельца для каталогов и их содержимого.
ps
- вывод информации о состоянии процессов. Синтаксис:
ps [опции]
Описание:
Команда ps выводит в стандартный вывод информацию о текущем состоянии процессов.
Опции:
-a все процессы, кроме лидеров групп и процессов, не ассоциированных с терминалом.
-d все процессы, кроме лидеров групп.
-e все процессы.
-gсписок
выбирать процессы по списку
лидеров групп.
-pсписок
выбирать процессы по списку
идентификаторов процессов.
-tсписок
выбирать процессы по списку
терминалов.
-uсписок
выбирать процессы по списку
идентификаторов пользователей.
-f генерировать полный листинг.
-l генерировать листинг в длинном формате.
Результат команды
ps:
Ниже приводятся заголовки колонок выдачи команды ps и объясняется смысл их содержимого. Буквы l или f означают, что эта колонка появляется соответственно при длинном или полном формате выдачи; отсутствие букв означает, что данная колонка выводится всегда.
F l Флаги (шестнадцатеричные), логическая сумма которых дает следующие сведения о процессе:
00 процесс терминирован; элемент таблицы процессов свободен;
01 системный процесс: всегда в основной памяти;
02 процесс трассируется родительским процессом;
04 родительский трассировочный сигнал остановил процесс; родительский процесс ждет;
08 процесс не может быть разбужен сигналом;
10 процесс в основной памяти;
20 процесс в основной памяти; блокирован до завершения события;
40 идет сигнал к удаленной системе;
80 процесс в очереди на ввод/вывод.
S l статус процесса:
O активный: обрабатывается процессором;
S спящий: ожидает завершения события;
R готов: стоит в очереди на выполнение;
I рождающийся: процесс создается;
Z состояние "зомби": процесс завершен, но родительский процесс не ждет этого;
T трассируемый: процесс остановлен сигналом, так как родительский процесс трассирует его;
X растущий: процесс ожидает получения большего объема основной памяти.
UID f,l идентификатор владельца процесса; при указании опции -f выдается входное имя пользователя.
PID идентификатор процесса .
PPID f,l идентификатор родительского процесса.
C f,l доля выделенного планировщиком времени ЦП.
STIME f время запуска процесса (часы:минуты:секунды); если процесс запущен более чем 24 часа назад, выдается месяц и день запуска.
PRI l приоритет процесса.
NI l поправка к приоритету.
ADDR l адрес процесса в памяти.
SZ l размер (в блоках по 512 байт) образа процесса в памяти.
WCHAN l адрес события, которого ожидает процесс.
TTY l управляющий терминал.
TIME l использованное процессом время.
COMMAND l имя программы; если указана опция -f, то выводится полное имя команды и ее аргументы.