Лабораторная работа Работа с команднои строкои Linux




Цель работы: знакомство с командной строкой Linux, изучение

основных команд (программ) Linux.

Порядок выполнения работы

Запустить Terminal. Эта программа предназначена для выполнения функций командной строки ОС Linux. Здесь в интерактивном режиме вы можете выполнять любые команды и программы, зарегистрированные в системе.Кратко перечислим основные команды (программы) ОС Linux.

1. (man) Вывод справки по ком анд е

man <имя изучаемой команды>

man (от англ. manual — руководство) — команда Unix,

предназначенная для форматирования и вывода справочных страниц.

2. (top) Спис ок работающих процессов

top

консольная команда UNIX-совместимых операционных систем, список работающих в данный момент процессов и информацию о них. Команда top показывает список работающих в данный момент процессов и информацию о них, включая использование ими памяти и процессора. Список интерактивно формируется в реальном времени.

Чтобы выйти из программы top, нажмите клавишу [q].

3. (free) Количество памяти

free [-b | -k | -m] [-o] [-s delay ] [-t] [-V]

Показывает общее количество свободной и используемой физической̆ памяти и памяти отведенной для свопирования в системе, так же и совместно используемую память и буфера используемые ядром.

Опции:

-b показывает количество памяти в байтах; опция -k (по умолчанию)

показывает количество памяти в килобайтах; Опция -m показывает

количество памяти в мегабайтах.

-t показывает строки содержащие полное количество памяти.-o

запрещает показывать строки относящиеся к "массиву буфера". Если

не определено

отнять/добавить память буферов из/в используемую/свободнуб память

(соответственно!). -s разрешает безостановочно выводить

информацию с промежутком в delay секунд. -V показывает

информацию о версии программы.

4. (ps) Отч ет о работающих п роц есс ах

ps [опции]

Команда ps выводит в стандартный вывод информацию о текущем

состоянии процессов. Опции

-a все терминальные процессы-e все процессы.-gсписок выбирать

процессы по списку лидеров групп.-pсписок выбирать процессы по

списку идентификаторов процессов.

. -tсписок выбирать процессы по списку терминалов.

. -uсписок выбирать процессы по списку идентификаторов

пользователей.

f генерировать полный листинг.
-l генерировать листинг в

длинном формате.

5. (ls) Выдача информации о фаилах или каталогах

Синтаксис команды:

ls [флаги] [имя...]

Команда ls для каждого имени каталога распечатывает список

входящих в этот каталог файлов; для файлов - повторяется имя файла

и выводится дополнительная информация в соответствии с

указанными флагами. По умолчанию имена файлов выводятся в

алфавитном порядке. Если имена не заданы, выдается содержимое

текущего каталога. Если заданы несколько аргументов, то они

сортируются по алфавиту, однако сначала всегда идут файлы, а потом

каталоги с их содержимым.

6. (pwd) В ыд ач аимени текущ ег ок аталог а

Синтаксис команды:

pwd

Бывает, что при ее изучении, вы попадаете в какой-то каталог, про

который уже не помните, как он называется и как вы в него попали.

Узнать его полное имя позволяет команда pwd.

7. (cd) См ен атекущ ег ок аталог а

Синтаксис команды:

cd [каталог]

Команда cd применяется для того, чтобы сделать заданный каталог

текущим. Если каталог не указан, используется значение переменной

окружения $HOME (обычно это каталог, в который Вы попадаете

сразу после входа в систему). Если каталог задан полным

маршрутным именем, он становится текущим. По отношению к

новому каталогу нужно иметь право на выполнение, которое в данном

случае трактуется как разрешение на поиск.

8. (chmod) Изменение режима доступа к фаилам

Синтаксис команды:

chmod режим файл

Права доступа к указанным файлам (среди которых могут быть

каталоги) изменяются в соответствии с указанным режимом. Режим

может быть задан в абсолютном или символьном виде.

Использование символьного вида основано на однобуквенных

обозначениях, которые

определяют класс доступа и права доступа для членов данного класса.

Права доступа к файлу зависят от идентификатора пользователя и

идентификатора группы, в которую он входит. Режим в целом

описывается в терминах трех последовательностей, по три буквы в

каждой:

Владелец Группа Прочие (u) (g) (o)rwx rwx rwx

Здесь владелец, члены группы и все прочие пользователи обладают

правами чтения файла, записи в него и его выполнения. В примере

показаны обозначения как для класса доступа, так и для прав доступа

внутри класса.

Для задания режима доступа в символьном виде используется

следующий синтаксис:

[кому] операция права

Часть [кому] есть комбинация букв u, g и o (владелец, члены группы и

прочие пользователи соответственно). Если часть кому опущена или

указано a, то это эквивалентно ugo.

Операция может быть: + (добавить право), - (лишить права), = (в

пределах данного класса присвоить права абсолютно, то есть добавить

указанные права и отнять неуказанные).

Права - любая осмысленная комбинация следующих букв: r Право на

чтение.

. w Право на запись.

. x Право на выполнение (поиск в каталоге).

s При выполнении переустанавливать действующий идентификатор

пользователя или группы.

t После выполнения программы сохранять сегмент команд (бит

навязчивости).l Учет блокировки доступа.Опустить часть права

можно только если операция есть = (для лишения всех прав).

Если надо сделать более одного указания об изменении прав, то при

использовании символьного вида в правах не должно быть пробелов,

а указания должны разделяться запятыми. Например, команда chmod

u+w,go+x f1 добавит для владельца право писать в файл f1, а для

членов группы и прочих пользователей - право выполнять файл.

Права устанавливаются в указанном порядке. Право s можно

добавлять только для пользователя и группы, право t - только для

пользователя.

Чтобы установить права, позволяющие владельцу читать и писать в

файл, а членам группы и прочим пользователям только читать, надо

использовать следующую запись:

chmod u=rw,go=r f1

Позволить всем выполнять файл f2

chmod +x f2

9. (cp) Копирование фаилов

cp файл1 [файл2...] целевой_файл

Команда cp копирует файл1 в целевой_файл. Файл1 не должен

совпадать с целевым_файлом (будьте внимательны при

использовании метасимволов shell'а). Если

целевой_файл является каталогом, то файл1, файл2,..., копируются в

него под своими именами. Только в этом случае можно указывать

несколько исходных файлов.

Если целевой_файл существует и не является каталогом, его старое

содержимое теряется. Режим, владелец и группа целевого_файла при

этом не меняются.

Если целевой_файл не существует или является каталогом, новые

файлы создаются с теми же режимами, что и исходные (кроме бита

навязчивости, если Вы не суперпользователь). Время последней

модификации целевого_файла (и последнего доступа, если он не

существовал), а также время последнего доступа к исходным файлам

устанавливается равным времени, когда выполняется копирование.

Если целевой_файл был ссылкой на другой файл, все ссылки

сохраняются, а содержимое файла изменяется.

10. () (mv) Перемещение переименование фаилов

Синтаксис команды:

mv [-f] файл1 [файл2...] целевой_файл

Команда mv перемещает (переименовывает) файл1 в целевой_файл.

Файл1 не должен совпадать с целевым_файлом (будьте внимательны

при использовании метасимволов shell'а). Если целевой_файл

является каталогом, то файл1, файл2,..., перемещаются в него под

своими именами. Только в этом случае можно указывать несколько

исходных файлов.

Если целевой_файл существует и не является каталогом, его старое

содержимое теряется. Если при этом обнаруживается, что в

целевой_файл не разрешена запись, то выводится режим этого файла

[см. chmod] и запрашивается строка со стандартного ввода. Если эта

строка начинается с символа y, то требуемые действия все же

выполняются, при условии, что у пользователя достаточно прав для

удаления целевого_файла. Если была указана опция -f или

стандартный ввод назначен не на терминал, то требуемые действия

выполняются без всяких запросов. Вместе с содержимым

целевой_файл наследует режим файла1.

Если файл1 является каталогом, то он переименовывается в

целевой_файл, только если у этих двух каталогов общий надкаталог;

при этом все файлы, находившиеся в файле1, перемещаются под

своими именами в целевой_файл. Если файл1 является файлом, а

целевой_файл - ссылкой, причем не единственной, на другой файл, то

все остальные ссылки сохраняются, а целевой_файл становится

новым независимым файлом.

11. (rm) Удаление фаилов

Синтаксис команды:

rm [-f] [-i] файл...

rm -r [-f] [-i] каталог... [файл...]

Команда rm служит для удаления указанных имен файлов из каталога.

Если заданное имя было последней ссылкой на файл, то файл

уничтожается. Для удаления пользователь должен обладать правом

записи в каталог; иметь право на чтение или запись файла не

обязательно. Следует заметить, что при удалении файла в Linux, он

удаляется навсегда. Здесь нет возможностей вроде "мусорной

корзины" в windows 95/98/NT или команды undelete в DOS. Так что,

если файл удален, то он удален!

Если нет права на запись в файл и стандартный ввод назначен на

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

и запрашивается подтверждение; если оно начинается с буквы y, то

файл удаляется, иначе - нет. Если стандартный ввод назначен не на

терминал, команда rm ведет себя так же, как при наличии опции -f.

Допускаются следующие три опции:

-f Команда не выдает сообщений, когда удаляемый файл не

существует, не запрашивает подтверждения при удалении файлов, на

запись в которые нет прав. Если нет права и на запись в каталог,

файлы не удаляются. Сообщение об ошибке выдается лишь при

попытке удалить каталог, на запись в который нет прав (см. опцию -r).

-r Происходит рекурсивное удаление всех каталогов и

подкаталогов, перечисленных в списке аргументов. Сначала каталоги

опустошаются, затем удаляются. Подтверждение при удалении

файлов, на запись в которые нет прав, не запрашивается, если задана

опция -f или стандартный ввод не назначен на терминал и не задана

опция -i. При удалении непустых каталогов команда rm -r

предпочтительнее команды rmdir, так как последняя способна удалить

только пустой каталог. Но команда rm -r может доставить немало

острых впечатлений при ошибочном указании каталога!

-i Перед удалением каждого файла запрашивается подтверждение.

Опция -i устраняет действие опции -f; она действует даже тогда, когда

стандартный ввод не назначен на терминал.

ПРИМЕРЫОпция -i часто используется совместно с -r. По команде:

rm -ir dirname

запрашивается подтверждение:

directory dirname:?

При положительном ответе запрашиваются подтверждения на

удаление всех содержащихся в каталоге файлов (для подкаталогов

выполняются те же действия), а затем подтверждение на удаление

самого каталога.

12. (rmdir) Уд алени ек аталог ов

Синтаксис команды:

rmdir [-p] [-s] каталог...

Команда rmdir удаляет указанные каталоги, которые должны быть

пустыми. Для удаления каталога вместе с содержимым следует

воспользоваться командой rm с опцией -r. Текущий каталог [см. pwd]

не должен принадлежать поддереву иерархии файлов с корнем -

удаляемым каталогом.

Для удаления каталогов нужно иметь те же права доступа, что и в

случае удаления обычных файлов [см. rm].

Командой rmdir обрабатываются следующие опции:

-p Позволяет удалить каталог и вышележащие каталоги,

оказавшиеся пустыми. На стандартный вывод выдается сообщение об

удалении всех указанных в маршруте каталогов или о сохранении

части из них по каким-либо причинам.

-s Подавление сообщения, выдаваемого при действии опции -p.

13. C (ln) оздание ссылки на фаил

Синтаксис команды:

ln [-f] файл1 [файл2...] целевой_файл

Команда ln делает целевой_файл ссылкой на файл1. Файл1 не должен

совпадать с

целевым_файлом (будьте внимательны при использовании

метасимволов shell'а). Если целевой_файл является каталогом, то в

нем создаются ссылки на файл1, файл2,... с теми же именами. Только

в этом случае можно указывать несколько исходных файлов.

Если целевой_файл существует и не является каталогом, его старое

содержимое теряется. Если при этом обнаруживается, что в

целевой_файл не разрешена запись, то выводится режим доступа к

этому файлу [см. chmod] и запрашивается строка со стандартного

ввода. Если эта строка начинается с символа y, то требуемые действия

все же выполняются, при условии что у пользователя достаточно прав

для удаления целевого_файла. Если была указана опция -f или

стандартный ввод назначен не на терминал, то требуемые действия

выполняются без всяких запросов. Целевой_файл наследует режим

доступа к файлу1.

Команда ln не создает ссылок между разными файловыми системами,

поскольку они (файловые системы) могут добавляться и удаляться.

14. C (mkdir) озд ани ек аталог а

mkdir [-m режим_доступа] [-p] каталог...

По команде mkdir создается дин или несколько каталогов с режимом

доступа 0777 [возможно измененном с учетом umask и опции -m].

Стандартные файлы (. - для самого каталога и.. - для вышележащего)

создаются автоматически; их нельзя создать по имени. Для создания

каталога необходимо располагать правом записи в вышележащий

каталог.

Идентификаторы владельца и группы новых каталогов

устанавливаются соответственно равными реальным

идентификаторам владельца и группы процесса.

Командой mkdir обрабатываются две опции:

-m режим_доступа - (явное задание режима_доступа для

создаваемых каталогов [см. chmod]).

-p (при указании этой опции перед созданием нового каталога

предварительно создаются все несуществующие вышележащие

каталоги).

15. (echo) Вывод аргументов в стандартныи поток вывода

echo [опции] [string...]-n не выводить завершающий символ

новой строки.

-e раздрешить интерпретацию следующих backslashescaped

последовательностей в строках:

. \a alert (звонок)

. \b backspace

. \c запретить завершающий символ новой строки

\f перегон страницы\n новая строка\r перевод строки\t

горизонтальная табуляция \v вертикальная табуляция

\\ обратный слэшКоманда echo предназначена для выдачи на

стандартный вывод строки символов, которая

задана ей в качестве аргумента.Передаваемая строка может быть

перенеправлена в файл с использованием оператора

перенаправления вывода >. Например: $echo "Hello,

world!" > myfile

Задание на лабораторную работу.1.Ознакомиться с командами

Linux. Выполнить команды top, free, ps с различными

опциями.2. Войти в свой домашний каталог. Для этого нужно сделать

команду

cd ~

Вы находитесь в своем рабочем каталоге. Здесь хранятся ваши

пользовательские файлы и настройки программ, которые вы

используете.

3. Создать следующую структуру каталогов и файлов

. 1) в домашнем каталоге создать каталог inform

. 2) Перейти в каталог и inform создать в нем каталог lab1

. 3) Внутри каталога lab1 создать каталог catalog1, файл

file1(, н ап рим ер исп ользуя к ом анду echo), каталог catalog2.

Переити в каталог catalog2.

. 4) Внутри каталога catalog2 создать файлы file3 file4 и, каталог

catalog3

. 5) Внутри каталога catalog3 создать файл file5, жесткую ссылку на

файл file1, жесткую ссылку на каталог catalog2.

. 6) Создать в каталоге lab1 символичесткую ссылку s_link на файл

file5

4. Запустить программу MC (Midnight Commander):

mc

Здесь вы можете посмотреть структуру созданных вами каталогов и

просмотреть содержимое файлов.

Лабораторная работа Работа с No2 shell

Цель работы: продолжение знакомства с командами shell, создание

скрипта в shell

Задание на лабораторную работу

Создать скрипт, осуществляющий вывод меню, состоящего из

следующих пунктов: текущий пользователь,

объем используемой памяти,

объем дискового пространства,

запущенные процессы,

процессы, запущенные текущим пользователем,

системная дата и время,

время запуска системы

выход, -

и вывод соответствующей информации в зависимости от выбранного

пункта меню. Процесс повторять до тех пор, пока не будет выбран

пункт меню «выход»

Порядок выполнения работы

В ходе выполнения работы обратите внимание на следующие пункты:

1) Для названий пунктов меню лучше использовать латинский

алфавит. В названиях обязательно обращать внимание на специальные

символы и соответствующие правила их использования в строках;

2) необходимо обращать внимание на регистр вводимых символов (в

командах и их опциях, в специальных словах языка shell), на знаки

пробела. Например,в операторе [ ]:

[ ̺ expression ̺ ]3) Для работы с меню удобно использовать

операторы select, case, if (описание

этих операторов приведены в документе с лекциями)В ходе

выполнения работы могут понадобиться следующие команды:

Имя текущ ег оп ольз ов ателя (whoami)

Cинтаксис команды

whoami

Выводит действительный идентификатор

пользователя

Системн ая д атаи в ремя (date)

Cинтаксис команды

date [ПАРАМЕТР]... [+ФОРМАТ]date [-u|--utc|--universal]

[ММДДччмм[[ВВ]ГГ][.сс]]

Показывает текущее время в заданном ФОРМАТЕ, или устанавливает

системную дату и время.

-d, --date=СТРОКАпоказывает время, описанное СТРОКОЙ - не

'текущее' время

-f,--file=ФАИЛ ДАТ _ как и --date, только для каждой строки в

ФАЙЛЕ_ДАТ

-I, --iso-8601[=TIMESPEC] вывод в формате строки

даты/времени ISO-8601.

TIMESPEC=`date' (или пропущено) - показывает только дату;

`hours', `minutes', или `seconds' - дату и время с заданной точностью.

показывает время последнего изменения ФАЙЛА вывод строки даты

в формате RFC-822 устанавливает время, заданное СТРОКОЙ

-r, --reference=ФАИЛ-R, --rfc-822-s, --set=СТРОКАu, --utc, --universalвыдает или устанавливает время по

Гринвичу

Параметр ФОРМАТ управляет исходящей информацией. Параметр

работает только с временем по Гринвичу. Существуют такие

интерпретируемые значения:

%% символ процента %%a сокращенное название дня недели в

локали (Вск..Суб)%Aполное название дня недели в локали, с

непостоянной длиной названия

(Воскресенье..Суббота)%b сокращенное название месяца в локали

(Янв..Дек)%B полное название месяца в локали, с непостоянной

длиной названия (Январь..Декабрь) %c дата и время в локали (Суб

Ноя 04 12:02:33 EST 1989)%d день месяца (01..31)%D дата (мм/дд/гг)

%e день месяца, без нулей слева (1..31)
%h аналогично %b%H час

(00..23)%I час (01..12)%j день года (001..366)%k час (0..23)%l час (

1..12)%m месяц (01..12)%M минуты (00..59)%n новая строка%p в

зависимости от локали AM или PM (до полудня - после полудня)%r

время, в 12-часовом формате (чч:мм:сс [AP]M)%s секунды с `00:00:00

1970-01-01 UTC' (расширение GNU)%S секунды (00..60)%t

горизонтальная табуляция%T время, в 24-часовом формате (чч:мм:сс)

%U номер недели в году с Воскресеньем, как первым днем недели

(00..53)%V номер недели в году с Понедельником, как первым днем

недели (01..53)%w номер дня в неделе (0..6); 0 принимается за

Воскресенье%W номер недели в году с Понедельником, как первым

днем недели (00..53)

%x представление даты в локали (мм/дд/гг)%X представление

времени в локали (%Ч:%М:%С)%y последние два разряда года

(00..99)%Y год (1970...)%z формат временной зоны RFC-822 (-0500)

(нестандартное расширение)%Z временная зона (например, EDT), или

ничего, если зона не определенаПо умолчанию, date заполняет пустые

цифровые поля нулями. В GNU date распознает

следующие модификаторы между `%' и цифровой командой:`-'

(дефис) не заполнять поле `_' (подчеркивание) заполнить поле

пробелами

В ремя работысистем ы (uptime) Cинтаксис командыuptimeuptime

[-V]

uptime - показывает время работы системы с последнего запуска.

Отчет об использовании дискового пространства (df)

Cинтаксис команды

df [опции] [фаил...]

Опции: [-ahHiklmPv] [-t тип фаиловои системы - - ] [-x типфаиловои системы - ] [--block-size=размер] [--print-type]

[--no-sync] [--sync] [--help] [--version] [--]

Поиск образца в фаиле (grep)

Cинтаксис команды

grep pattern [file...]

Поиск участков текста в файле(ах), соответствующих шаблону

pattern, где pattern может быть как обычной строкой, так и

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

команда grep работает как фильтр для устройства stdout,

например в pipes:

bash$ ps ax | grep clock

765 tty1 S 0:00 xclock

901 pts/1 S 0:00 grep clock



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-04-30 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: