Лабораторная работа 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, Пантюхин Игорь Сергеевич, Университет ИТМО.
Источник
Лабораторная работа №13
Терминал и командная оболочка операционной системы Linux
Цель работы: Приобрести опыт работы с командной строкой ОС Linux, изучить основные команды (рабочая станция, рабочий директорий, пользователи, дата, календарь, список процессов, завершение работы)План проведения занятия:
- Ознакомиться с краткими теоретическими сведениями.
- Приобрести навыки работы в терминале Linux. Научиться создавать новых пользователей при помощи терминала Linux, задавать несложные команды.
Аппаратная часть:персональный компьютер, сетевой или локальный принтер.
Программная часть: операционная система Linux Ubuntu.
Краткие теоретические сведения:
Стандартные команды в Linux отличаются от команд DOS и Windows — обычно они короче. При работе с командной строкой как обычно мигающий курсор обозначает позицию ввода текста , командная строка начинается с текущего пути и имени компьютера, за которым следует символ $, % или #. Последний означает, что команды будут выполняться от имени суперпользователя root. Символ
означает путь к текущей домашней директории пользователя.
Большинство команд в Linux, не требующих вывода информации пользователю, в случае успешного завершения вообще ничего не выводят на экран. Выводятся только ошибки и предупреждения в случае нарушения нормального выполнения команды. Т.е. в Linux действует общий принцип «молчит, значит работает».
В любом терминале Linux стрелками вверх/вниз на клавиатуре можно листать историю команд, которая сохраняется между сеансами работы и различается для разных пользователей и хостов. Набранное частично команда или имя файла или каталога в текущей директории может быть автоматически дописано клавишей TAB. Если найдено более одного варианта и однозначно продолжить команду по TAB невозможно, то выводятся все подходящие варианты.
При работе в графической среде удобны эмуляторы терминала. Как правило они поддерживают закладки — несколько терминалов в одном окне, поддерживают цветовые схемы. Наиболее распространены эмуляторы терминала Gnome Terminal, Konsole, XFCE Terminal.
Терминал — эмулятор консоли. Именно в терминале мы будем работать с CLI (интерфейсом командной строки). Терминал часто также называют консолью или шеллом (от англ. shell — оболочка). В будущем для объяснения я буду использовать все три эти понятия, главное не забывайте что они синонимы.
Многие пользователи и в особенности администраторы серверов под Linux в работе используют именно консоль, а не графическую оболочку, это связано с тем, что настройка и конфигурация Linux в основном заключается, в редактировании текстовых конфигурационных файлов. Даже если вы являетесь простым пользователем ОС Linux, большинство инструкций по настройке написаны с использованием консоли и знать основные команды жизненно необходимо.
Стоит обратить внимание на системные каталоги ОС в которых находятся файлы, необходимые для управления и сопровождения системы, а также стандартные программы. Их имена, расположение и содержание почти одинаковы почти во всех ОС Linux, поэтому эти каталоги называют также стандартными. Впрочем, на данный момент эпитет «стандартные» отражает скорее благие пожелания, чем действительность: иерархия каталогов одинакова только для дистрибутивов, связанных единством происхождения, а исторически сложившиеся различия создают опасность несовместимости разных дистрибутивов.
Краткое описание основных каталогов сведено в таблицу 1.
Таблица 1. | |
Каталог | Назначение |
/bin | Основные программы, необходимые для работы в системе: командные оболочки, файловые утилиты и т.п. |
/sbin | Команды для системного администрирования, а также программы, выполняемые входе загрузки |
/boot | Файлы, необходимые для загрузки системы (образ ядра) |
/home | Домашние каталоги пользователей, кроме root |
/dev | Файлы устройств |
/etc | Файлы настроек: стартовые сценарии, конфигурационные файлы графической системы и различных приложений |
/lib | Системные библиотеки, необходимые для основных программ, и модули ядра |
/lost+found | Восстановленные после аварийного размонтирования части файловой системы |
/media | Сюда обычно монтируются съемные носители: компакт-диски, flash-накопители |
/mnt | Временные точки монтирования жестких дисков. Использовать этот каталог необязательно: подмонтировать файловую систему можно к любому другому каталогу |
/opt | Дополнительные пакеты программ. Если программа, установленная сюда, больше не нужна, то достаточно удалить ее каталог без обычной процедуры деинсталляции |
/proc | Виртуальная файловая система, дающая доступ к информации ядра (например, выведите на экран файл /proc/cpuinfo). Другие файлы в этом каталоге в каждый момент времени содержат информацию о выполняющихся в этот момент программах |
/root | Домашний каталог суперпользователя. Домашние каталоги всех остальных могут находиться на отдельном разделе, но /root должен быть в корневой файловой системе, чтобы администратор всегда мог войти в систему для ремонтных работ |
/tmp | Временные файлы |
/var | Часто меняющиеся данные: системные журналы и протоколы приложений,замки, почтовые ящики, очереди печати и т.п. |
/usr | Практически все остальное: программы, исходные коды, документация. Сюда по умолчанию устанавливаются новые программы |
С точки зрения UNIX-подобных ОС, файл представляет собой поток или последовательность байтов. Такой подход позволяет распространить понятие файла на множество ресурсов не только локального компьютера, но и удаленного, связанного с локальным сетью любого рода. Доступ к любому такому ресурсу осуществляется через универсальный интерфейс, благодаря чему запись данных в файл, отправка их на физическое устройство или обмен ими с другой работающей программой происходит аналогично. Это очень упрощает организацию данных и обмен ими.
В ОС Linux можно выделить следующие типы файлов:
- обычные файлы — последовательность байтов (текстовые документы, исполняемые программы, библиотеки и т.п.);
- каталоги — именованные наборы ссылок на другие файлы;
- файлы физических устройств, подразделяющихся на:
- файлы блочных устройств, драйверы которых буферизуют ввод-вывод с помощью ядра и файлы байт-ориентированных, или символьных, устройств, позволяющих связанным с ними драйверам выполнять буферизацию собственными средствами;
- символические ссылки (symlink, symbolic link);
- именованные каналы (named pipes);
- гнезда (sockets).
Таблица 2. | |
halt | стремительное и корректное выключение системы. |
poweroff | корректное выключение системы. |
reboot | корректное выключение с последующей загрузкой. |
adduser | создание нового пользователя. |
date | показывает нынешние дату и время, по системным часам ядра. |
oclock | обычные часы |
finger | отображение информации о пользователе |
hostname | команда показывает личный номер этого узла сети |
hwclock | интегрированные часы |
uname | выводит информацию об используемой операционной системе |
uptime | проявляет текущее время, длительность сеанса, число пользователей и загруженность процессора. |
usermod | изменение параметров пользователя. |
users | отражает короткий перечень пользователя работающих в системе в этот эпизод |
whoami | демонстрирует нынешний личный номер пользователя, работающего в этом терминале. |
write | посылает известные иному пользователя, окружающему в системе, маршрутом копирования строчек с терминала отправителя на терминал получателя. |
history | демонстрирует пронумерованный перечень команд, которые Вы исполняли в данном и прошлом сеансе. Само собой разумеется, что если в перечне истории их очень немало, то увидите заключительные. |
passwd | изменение пароля пользователя |
ps | выводит перечень всех работающих действий. |
times | проявляет абсолютное время исполнения действий для всей системы и этого пользователя. |
free | отражает информацию о своевременной памяти, подкачки, кэше, свободная память, общественная и т.п. |
ls | указывает все файлы в текущем каталоге в алфавитном порядке. По всей вероятности аналогична dir. |
clear | чистит экран терминала (в случае если данное вполне вероятно). |
ifconfig | отражает состояние текущей конфигурации сети или же настраивает сетевой интерфейс. |
less | отражает содержимое указанного файла на экране и дозволяет комфортно просмотреть. |
mkpasswd | создает качественный пароль, состоящий по умолчанию из 9 знаков и имеющий как минимум буквы в различном регистре и числа. |
- Для выполнения данной работы будем использовать ранее установленный Linux Ubuntu. Запускаем Linux. После прохождения идентификации включаем терминал.
Рис. 34. Терминал Linux Ubuntu
- Для работы в терминале Ubuntu требуются права пользователя root, но, к сожалению, по умолчанию, он недоступен, поэтому для выполнения некоторых (не всех) команд надо писать sudo , и подтверждать свои права вводом пароля. И не пугайтесь того, что его не видно в терминале! Наберите точно по памяти, по окончании ввода нажмите Enter.
- Для получении справки о дополнительных возможностях некоторых программ следует набрать —help
- Потренируйтесь в выполнении команд:
- Создайте нового пользователя, при помощи терминала Ubuntu, и введите его в группу adm. Создайте пароль пользователю. Войдите под ним в систему. Процесс создания и ввода в группу внесите в отчет.
- Разберите выполнение незадействованных команд таблицы 2. Потренируйтесь в выполнении, определите их назначение и область применения.
- Что такое терминал?
- Перечислите основные системные каталоги.
- Расскажите о типах файлов в ОС Linux.
Источник