Лабораторная работа 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 для автоматизации данного процесса можно применять символы групповых операций. Групповые операции задаются посредством звездочки (*), знака вопроса (?) и квадратных скобок ( [ ] ).
Пример использования групповых операций:
Групповая операция с применение » * » — отмечает любое (в том числе нулевое) количество любых символов.
rm sit1*.* Удаляться файлы : sit1.txt, sit1.jpg, sit11.jpg, sit123123.txt rm sit*.jpg Удаляться файлы : sit1.jpg, sit11.jpg rm *txt Удаляться файлы : sit1.txt, sit123123.txt rm sit* Удаляться файлы : sit1.txt, sit1.jpg, sit11.jpg, sit123123.txt rm * Удалятся все файлы в каталоге
Групповая операция с применение » ? «. Символ » ? » — соответствует одному произвольному символу.
rm sit1?.jpg Удалится файл : sit11.jpg, но не sit1.txt, sit1.jpg, sit123123.txt rm sit?.jpg Удалится файл : sit1.jpg, но не sit1.txt, sit11.jpg, sit123123.txt rm sit?.* Удаляться файлы : sit1.txt, sit1.jpg, но не sit11.jpg, sit123123.txt
Групповая операция с применение » [] «. Квадратные скобки позволяют задавать один символ из набора или символ, принадлежащий определенному диапазону.
rm sit[0-1].txt Удалится файл : sit1.txt, но не sit1.jpg, sit11.jpg, sit123123.txt rm sit1[0-2].jpg Удалится файл : sit11.jpg, но не sit1.txt, sit1.jpg, sit123123.txt
Консольные команды:
- $ 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, Пантюхин Игорь Сергеевич, Университет ИТМО.