Лабораторная работа 1. Изучение базовых команд Linux.¶
Основные теоретические сведения¶
Цель: Первичное знакомство с командным интерпретатором. Изучение базовых команд операционной системы Linux.
Теоретическая часть:
Среди всех элементов операционной системы Linux самым важным, является командная строка (Терминал). Оболочка во многом определяет богатые возможности и гибкость операционной системы Linux. С помощью командной строки можно выполнять действия, которые были бы немыслимы при работе с графическим пользовательским интерфейсом. Независимо от того, KDE или GNOME, оказывается, что многие действия гораздо быстрее и эффективнее выполнить, пользуясь только командной строкой. Освоение Linux стоит начинать с изучения средств командной оболочки.
Файлы и ничего кроме файлов
Все, с чем Вы встретитесь в операционной системе Linux, — это файлы. Абсолютно все! Очевидно, что текстовый документ — это файл. Изображения, аудиоданные в формате МР3 и видеофрагменты — это несомненно файлы. Каталоги — это тоже файлы, содержащие информацию о других файлах. Дисковые устройства — это большие файлы. Сетевые соединения тоже файлы. Даже исполняемый процесс — это файл. С точки зрения операционной системы Linux файл представляет собой поток битов или байтов. Система не интересуется тем, что означает каждый байт. Это забота конкретных программ, выполняющихся в операционной системе Linux. Для операционной системы Linux и документ, и сетевое соединение всего лишь файлы. Как обрабатывать текстовый документ, знает редактор, а сетевое приложение умеет работать с сетевым соединением.
В отличие от Windows и МасOS в операционной системе Linux имена файлов чувствительны к регистру символов. В частности, Вы можете встретить в одном каталоге все три файла которые приведены ниже в качестве примера:
С точки зрения файловой операционной системы Linux — это различные имена файлов. Если вы попытаетесь создать файлы с этими же именами в Windows или МасOS, то вероятнее всего попытка увенчается провалом, и система предложит Вам выбрать другое имя для файла.
Чувствительность к регистру символов также означает, что при вводе команд они должны в точности совпадать с именами файлов, поддерживающих их. Так, например, удаляя файл с помощью команды rm, нельзя вводить RM, Rm или rM. Надо также следить за написанием имен, задаваемых в качестве параметров. Если вы захотите удалить файл «SIT.txt», а укажете имя Sit.txt, вы лишитесь совсем не того файла, с которым предполагали расстаться.
Список специальных символов которые не рекомендуется использовать в названиях файлов.
Групповые операции:
Предположим, что в одном из каталогов на вашем компьютере содержатся сто файлов с изображениями и два текстовых файла. Ваша задача удалить все файлы с изображениями за исключением двух текстовых файлов. Удалять файлы по одному — это утомительное занятие. В операционных системах Linux для автоматизации данного процесса можно применять символы групповых операций. Групповые операции задаются посредством звездочки (*), знака вопроса (?) и квадратных скобок ( [ ] ).
Пример использования групповых операций:
Групповая операция с применение » * » — отмечает любое (в том числе нулевое) количество любых символов.
Групповая операция с применение » ? «. Символ » ? » — соответствует одному произвольному символу.
Групповая операция с применение » [] «. Квадратные скобки позволяют задавать один символ из набора или символ, принадлежащий определенному диапазону.
Консольные команды:
- $ pwd — определить текущий каталог.
- $ cd [имя каталога] — осуществить переход в заданный каталог.
- $ ls [имя каталога] — просмотреть список файлов и подкаталогов.
- $ mkdir [имя каталога] — создать каталог с заданным именем.
- $ cp — скопировать файл «имя файла 1» в файл «имя файла 2», например: cp first.txt copy1.txt.
- $ mv — переименовать файл «имя файла 1» в файл «имя файла 2», например: mv first.txt orig.txt.
- $ ln «имя файла» «имя ссылки» — создать жёсткую ссылку «имя ссылки» на файл «имя файла». Пример: ln orig.txt copy2.txt.
- $ ln -s «имя файла» «имя ссылки» — создать символическую ссылку «имя ссылки» на файл «имя файла». Пример: ln -s orig.txt copy2.txt.
- $ rm — удалить файл.
- $ touch — создание файла.
- $ man — получение справочной документации о выбранной команде.
Задания к лабораторной работе¶
- Откройте терминал.
- Ознакомьтесь с возможностями команды pwd c помощью команды man:
- Определите текущий каталог, в котором вы находитесь командой pwd:
- Ознакомьтесь с возможностями команды cd c помощью команды man:
- Перейдите в корневой каталог командой cd
- Ознакомьтесь с возможностями команды ls c помощью команды man:
- Просмотрите содержимое корневого каталога командой ls:
- Сделайте копию экрана для использования в отчете по лабораторной работе .
- Вернитесь в домашний каталог, используя команду cd без параметров:
- Ознакомьтесь с возможностями команды mkdir c помощью команды man:
- Создайте каталог «test», используя команду mkdir:
- Перейдите в каталог «test», используя команду cd:
- Просмотрите содержимое каталога, используя команду ls:
- Создайте каталог «test2», используя команду mkdir:
- Ознакомьтесь с возможностями команды touch c помощью команды man:
- Создайте файл «text» в каталоге «test2» используя команду touch:
- Ознакомьтесь с возможностями команды mv c помощью команды man:
- Переименуйте файл «text» в «textSIT» используя команду mv
- Ознакомьтесь с возможностями команды cp c помощью команды man:
- Скопируйте файл «textSIT» в каталог «test2» под именем «copy.txt», используя команду cp:
- Ознакомьтесь с возможностями команды ln c помощью команды man:
- Создайте жесткую ссылку «link» на файл «copy.txt» используя команду ln:
- Создайте символическую ссылку «simlink» на файл «copy.txt» используя команду ln:
- Просмотрите результаты в текущем каталоге при помощи команды ls с аргументами la:
- Сделайте копию экрана для использования в отчете по лабораторной работе .
- Удалите созданные вами файлы и ссылки в лабораторной работе используя команду rm
- Сделайте копию экрана для использования в отчете по лабораторной работе .
Вопросы к лабораторной работе¶
- Чем отличается вывод команд ls -F и ls -la?
- С помощью какой команды и как можно переместить файл в другой каталог?
- Какие действия вы совершаете, нажимая на кнопки «стрелка вверх» и «стрелка вниз»?
- Куда вы переходите, выполнив команду cd без параметров?
- Как посмотреть, какие еще параметры можно задать команде ls?
- Что такое «жесткая ссылка»?
- Что такое «символическая ссылка»?
- Как осуществить просмотр подкаталогов и их содержимого ?
- Как осуществить вывод содержимого каталога с запятыми в качестве разделителя?
- Как осуществить просмотр скрытых файлов в домашнем каталоге?
- Как осуществить создание нового каталога и необходимых подкаталогов рекурсивно?
- Как осуществить рекурсивное копирование всех файлов из одного каталога в другой?
- Как осуществить рекурсивное копирование всех файлов и подкаталогов из одного каталога в другой?
- Как рекурсивно удалить все файлы и подкаталоги в определенном каталоге?
Составьте отчет о выполнении лабораторной работы.
Включите в него копии экрана и ответы на вопросы лабораторной работы.
© Copyright 2016, Пантюхин Игорь Сергеевич, Университет ИТМО.
Источник
Лабораторная работа No1 Работа с командной строкой Linux
Лабораторная работа No 1 Работа с команднои строкои
Цель работы : знакомство с командной строкой Linux, изучение основных команд (программ) Linux.
Порядок выполнения работы
Запустить Konsole. Эта программа предназначена для выполнения функций командной строки ОС Linux. Здесь в интерактивном режиме вы можете выполнять любые команды и программы, зарегистрированные в системе.Кратко перечислим основные команды (программы) ОС Linux.
1. В ыв од справки пок ом анд е (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 для каждого имени каталога распечатывает список
входящих в этот каталог файлов; для файлов — повторяется имя файла и выводится дополнительная информация в соответствии с указанными флагами. По умолчанию имена файлов выводятся в алфавитном порядке. Если имена не заданы, выдается содержимое текущего каталога. Если заданы несколько аргументов, то они сортируются по алфавиту, однако сначала всегда идут файлы, а потом каталоги с их содержимым.
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 -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. По команде:
При положительном ответе запрашиваются подтверждения на удаление всех содержащихся в каталоге файлов (для подкаталогов выполняются те же действия), а затем подтверждение на удаление самого каталога.
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. Войти в свой домашний каталог. Для этого нужно сделать команду
Вы находитесь в своем рабочем каталоге. Здесь хранятся ваши пользовательские файлы и настройки программ, которые вы
Источник