Главная страница
Навигация по странице:

  • Файлы и ничего кроме файлов

  • Предупреждение

  • Групповые операции

  • Пример использования групповых операций

  • Консольные команды

  • Вопросы к практической работе

  • Лаб_11-15. Практическая работа 11. Работа с файловой системой в оc просмотр и упорядочение файлов и папок


    Скачать 1.27 Mb.
    НазваниеПрактическая работа 11. Работа с файловой системой в оc просмотр и упорядочение файлов и папок
    Дата24.05.2023
    Размер1.27 Mb.
    Формат файлаdocx
    Имя файлаЛаб_11-15.docx
    ТипПрактическая работа
    #1157216
    страница3 из 5
    1   2   3   4   5

    Практическая работа № 13. Работа в терминале Linux


    Среди всех элементов операционной системы Linux самым важным, является командная строка (Терминал). Оболочка во многом определяет богатые возможности и гибкость операционной системы Linux. С помощью командной строки можно выполнять действия, которые были бы немыслимы при работе с графическим пользовательским интерфейсом. Независимо от того, KDE или GNOME, оказывается, что многие действия гораздо быстрее и эффективнее выполнить, пользуясь только командной строкой. Освоение Linux стоит начинать с изучения средств командной оболочки.

    Файлы и ничего кроме файлов

    Все, с чем Вы встретитесь в операционной системе Linux, - это файлы. Абсолютно все! Очевидно, что текстовый документ - это файл. Изображения, аудиоданные в формате МР3 и видеофрагменты - это несомненно файлы. Каталоги - это тоже файлы, содержащие информацию о других файлах. Дисковые устройства - это большие файлы. Сетевые соединения тоже файлы. Даже исполняемый процесс - это файл. С точки зрения операционной системы Linux файл представляет собой поток битов или байтов. Система не интересуется тем, что означает каждый байт. Это забота конкретных программ, выполняющихся в операционной системе Linux. Для операционной системы Linux и документ, и сетевое соединение всего лишь файлы. Как обрабатывать текстовый документ, знает редактор, а сетевое приложение умеет работать с сетевым соединением.

    В отличие от Windows и МасOS в операционной системе Linux имена файлов чувствительны к регистру символов. В частности, Вы можете встретить в одном каталоге все три файла которые приведены ниже в качестве примера:

    • Sit.txt

    • sIt.txt

    • SIT.txt

    С точки зрения файловой операционной системы 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> - скопировать файл «имя файла 1» в файл «имя файла 2», например: cp first.txt copy1.txt.

    • $ mv <имя файла 1> <имя файла 2> - переименовать файл «имя файла 1» в файл «имя файла 2», например: mv first.txt orig.txt.

    • $ ln «имя файла» «имя ссылки» - создать жёсткую ссылку «имя ссылки» на файл «имя файла». Пример: ln orig.txt copy2.txt.

    • $ ln -s «имя файла» «имя ссылки» - создать символическую ссылку «имя ссылки» на файл «имя файла». Пример: ln -s orig.txt copy2.txt.

    • $ rm <имя файла> - удалить файл.

    • $ touch <имя файла> - создание файла.

    • $ man <название команды> - получение справочной документации о выбранной команде.

    Вопросы к практической работе

    1. Чем отличается вывод команд ls -F и ls -la?

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

    Опция -F добавляет к именам каталогов символ / (может добавлять и некоторые другие спецсимволы, которые не используются в пространстве имён файлов. (Какие именно и почему, что это вообще обозначает - гуглить!) таким образом:

    /Test/dir1$ ls

    dir  dir2  file.sh  tmp

    /Test/dir1$ ls -F

    dir/  dir2/  file.sh  tmp/

    Опция -li в дополнение к простому перечислению имён файлов и каталогов выдаёт информацию и об инодах (метаданных) файлов и каталогов, в том числе и перечисление прав на каждый файл и каталог:

    /Test/dir1$ ls -li

    13205510 drwxr-xr-x 2 neo neo 4096 мар 17  2017 dir

    13205511 drwxr-xr-x 3 neo neo 4096 мар 18  2017 dir2

    13109842 -rw-r--r-- 1 neo neo   28 мар 17  2017 file.sh

    13205513 drwxr-xr-x 2 neo neo 4096 мар 19  2017 tmp


    1. С помощью какой команды и как можно переместить файл в другой каталог?

    Для перемещения и переименования файлов и каталогов используется команда mv. Название этой команды является сокращением слова move. Переименовать файл можно с помощью команды: mv имя_файла новое_имя. Для того чтобы переместить файл, используется команда: mv имя_файла путь/ Копирование. Для копирования используется команда cp. Название этой команды является сокращением слова copy.

    1. Какие действия вы совершаете, нажимая на кнопки «стрелка вверх» и «стрелка вниз»?

    Перемещение указателя/фокуса, листание многостраничного текста и много всего прочего. Конкретое действие зависит от контекста.

    1. Куда вы переходите, выполнив команду cd без параметров?

    В домашний каталог пользователя.

    1. Как посмотреть, какие еще параметры можно задать команде ls?

    С помощью команды man. Данная команда в качестве аргумента принимает имя любой имеющейся в системе на данный момент утилиты/команды и выдаёт в ответ справочную страницу по указанной команде/утилите с полным списком всех возможных опций и ключей для неё.

    1. Что такое «жесткая ссылка»?

    Жёсткая ссылка по сути - второе, третье, стопицотое имя для указанного файла. Это имя может быть перемещено в любой каталог. На данное имя файла будут распространяться те же самые права, как и на первое и переход по данному имени будет открывать тот же самый файл, как и первое его имя. У файла может быть неограниченное количество имён.

    1. Что такое «символическая ссылка»?

    Символические ссылки - особый тип файлов, представляющие собой указатели на файлы. Ближайший аналог (хотя и не совсем корректный!) - ярлыки на файлы в виндовсах.

    Если для жёстких ссылок верно то, что удаление всех жёстких ссылок на файл является удалением файла, то для символических ссылок это неверно: у файла может не быть вовсе символических ссылок и он будет существовать.

    1. Как осуществить просмотр подкаталогов и их содержимого ?

    Use ls -R, Luke!

    1. Как осуществить вывод содержимого каталога с запятыми в качестве разделителя?

    Use ls -m, Luke!

    1. Как осуществить просмотр скрытых файлов в домашнем каталоге?

    Use ls -la, Luke!

    1. Как осуществить создание нового каталога и необходимых подкаталогов рекурсивно?

    Для рекурсивного создания каталогов существует опция -p для команды mkdir.
    То есть, если вам в текущем каталоге нужно создать подкаталог my_Catalog то в текущем каталоге следует выполнить команду mkdir my_Catalog и в текущем каталоге появится подкаталог my_Catalog с дефолтными правами 755 и вы будете его владельцем. Если же вам необходимо создать в текущем каталоге подкаталог с подкаталогом определённой вложенности, то следует использовать mkdir -p newDir/subDir1/subDir2/subDirN/targetDir и у вас в текущем каталоге появится указанный вами путь подкаталогов с дефолтными правами 755 и вы будете владельцем всех их.

    1. Как осуществить рекурсивное копирование всех файлов из одного каталога в другой?

    12,13. Use cp -R FromDirectory/ ToDirectory/, Luke! Для только файлов можно создать конструкцию с $(find . -type f) в качестве первого аргумента cp.

    1. Как осуществить рекурсивное копирование всех файлов и подкаталогов из одного каталога в другой?




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

    Для удаления каталогов вне зависимости от их заполненности существует rm -rf DirectoryName.

    1   2   3   4   5


    написать администратору сайта