Red Hat System Administration I 8.2

Открытое практическое занятие: Управление файлами из командной строки

Контрольный список

В этой лабораторной работе вы будете создавать, перемещать и удалять файлы и каталоги с помощью оболочки и различных методов сопоставления имен файлов.

Результаты

Вы сможете:

  • использовать метасимволы для поиска и обработки файлов.

Войдите на workstation как пользователь student с паролем student.

На workstation выполните команду lab files-review start. Эта команда запускает подготовительный сценарий, который проверяет доступность хоста serverb в сети.

[student@workstation ~]$ lab files-review start
  1. С помощью команды ssh войдите на serverb как пользователь student. Системы настроены на использование ключей SSH для аутентификации, поэтому пароль не требуется.

  2. Перед созданием проектных файлов выполните команду mkdir с развертыванием фигурных скобок, чтобы создать пустые проектные документы по планированию в каталоге /home/student/Documents/project_plans. (Подсказка. Если каталог ~/Documents не существует, опция -p команды mkdir создаст его.)

    Создайте два пустых файла в каталоге ~/Documents/project_plans: season1_project_plan.odf и season2_project_plan.odf.

  3. Создайте наборы пустых файлов для использования в этой лабораторной работе. Если какие-либо команды маски вам не знакомы, воспользуйтесь приведенным решением, чтобы изучить их и применить на практике. Используйте автодополнение по клавише Tab, чтобы легко находить имена путей к файлам.

    Создайте 12 файлов с именами tv_seasonX_episodeY.ogg. Замените X номером сезона и Y номером серии в сезоне: всего два сезона по шесть серий.

  4. Вы автор успешной серии детективных романов, и главы вашего следующего бестселлера редактируются для печати. Создайте 8 файлов с именами mystery_chapterX.odf. Замените X на цифры с 1 до 8.

  5. С помощью одной команды создайте два подкаталога с именами season1 и season2 в существующем каталоге Videos, чтобы упорядочить серии.

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

  7. Для упорядочения глав романа создайте двухуровневую иерархию каталогов с помощью одной команды. Создайте подкаталог my_bestseller в каталоге Documents, а также создайте chapters в новом каталоге my_bestseller.

  8. С помощью одной команды создайте еще три подкаталога непосредственно в каталоге my_bestseller. Назовите эти подкаталоги editor, changes и vacation. Опция -p (создать родительский каталог) не нужна, так как родительский каталог my_bestseller уже существует.

  9. Перейдите в каталог chapters. Используя символ домашнего каталога (~) для указания расположения исходных файлов, переместите все главы книги в текущий каталог chapters. Как проще всего указать путь к целевому каталогу?

  10. Вы отправили первые две главы редактору. Переместите только эти две главы в каталог editor, чтобы не изменять эти главы, пока они у редактора. Начиная с подкаталога глав, используйте развертывание фигурных скобок с диапазоном, чтобы указать имена файлов перемещаемых глав, и относительный путь для целевого каталога.

  11. В отпуске вы собираетесь написать главы 7 и 8. С помощью одной команды переместите файлы из каталога chapters в каталог vacation. Укажите имена файлов глав, используя развертывание фигурных скобок со списком строк и без использования метасимволов.

  12. Измените свой рабочий каталог на ~/Videos/season2, а затем скопируйте первую серию сезона в каталог vacation.

  13. Используйте команду cd, чтобы изменить рабочий каталог на ~/Documents/my_bestseller/vacation. Отобразите список файлов в этом каталоге. Вернитесь в каталог season2 с помощью аргумента перехода в предыдущий рабочий каталог. (Эта операция будет успешной, если последнее изменение каталога с помощью команды cd было выполнено одной командой, а не несколькими командами cd.) Из каталога season2 скопируйте файл серии 2 в каталог vacation. Снова используйте быструю команду, чтобы вернуться в каталог vacation.

  14. Авторы глав 5 и 6 хотят поэкспериментировать с возможными изменениями. Во избежание изменения исходных файлов скопируйте оба файла из каталога ~/Documents/my_bestseller/chapters в каталог ~/Documents/my_bestseller/changes. Перейдите в каталог ~/Documents/my_bestseller. Используйте шаблон с квадратными скобками в аргументе имени файла в команде cp, чтобы указать нужные номера глав.

  15. Измените текущий каталог на каталог changes.

    Используйте команду date +%F с подстановкой команды, чтобы скопировать mystery_chapter5.odf в новый файл, который включает полную дату. Имя должно иметь следующий формат: mystery_chapter5_YYYY-MM-DD.odf.

    Создайте еще одну копию файла mystery_chapter5.odf, добавив к его имени текущую метку времени (число секунд, прошедших с начала эры Unix, ― 1970-01-01 00:00 UTC), чтобы обеспечить уникальность имени файла. Для этого используйте подстановку команд с командой date +%s.

  16. Немного поразмыслив, вы решаете, что изменения сюжета не нужны. Удалите каталог changes.

    При необходимости перейдите в каталог changes и удалите все файлы в нем. Вы не можете удалить каталог, пока он является текущим рабочим каталогом. Измените родительский каталог на каталог changes. Попробуйте удалить пустой каталог с помощью команды rm без опции -r («рекурсивно»). Эта попытка должна завершиться неудачей. Используйте команду rmdir, чтобы удалить пустой каталог. Эта операция завершится успешно.

  17. Отпуск закончился, и каталог vacation больше не нужен. Удалите его с помощью команды rm с опцией «рекурсивно».

    По окончании вернитесь в домашний каталог пользователя student.

  18. Создайте жесткую ссылку на файл ~/Documents/project_plans/season2_project_plan.odf с именем ~/Documents/backups/season2_project_plan.odf.back. Жесткая ссылка защищает от случайного удаления исходного файла и обновляет файл резервной копии по мере внесения изменений в исходный файл.

  19. Выйдите с serverb.

    [student@serverb ~]$ exit
    logout
    Connection to serverb closed.
    [student@workstation ~]$
    

Оценка

На workstation запустите сценарий lab files-review grade, чтобы проверить, правильно ли была выполнена лабораторная работа.

[student@workstation ~]$ lab files-review grade

Конец

На workstation запустите сценарий lab files-review finish, чтобы закончить лабораторную работу. Этот сценарий удаляет все файлы и каталоги, созданные на serverb во время упражнения.

[student@workstation ~]$ lab files-review finish

Лабораторная работа завершена.