Контрольный список
В этой лабораторной работе вы будете создавать, перемещать и удалять файлы и каталоги с помощью оболочки и различных методов сопоставления имен файлов.
Результаты
Вы сможете:
использовать метасимволы для поиска и обработки файлов.
Войдите на workstation как пользователь student с паролем student.
workstation
student
На workstation выполните команду lab files-review start. Эта команда запускает подготовительный сценарий, который проверяет доступность хоста serverb в сети.
serverb
[student@workstation ~]$ lab files-review start
[student@workstation ~]$
lab files-review start
С помощью команды ssh войдите на serverb как пользователь student. Системы настроены на использование ключей SSH для аутентификации, поэтому пароль не требуется.
Перед созданием проектных файлов выполните команду mkdir с развертыванием фигурных скобок, чтобы создать пустые проектные документы по планированию в каталоге /home/student/Documents/project_plans. (Подсказка. Если каталог ~/Documents не существует, опция -p команды mkdir создаст его.)
/home/student/Documents/project_plans
~/Documents
-p
Создайте два пустых файла в каталоге ~/Documents/project_plans: season1_project_plan.odf и season2_project_plan.odf.
~/Documents/project_plans
season1_project_plan.odf
season2_project_plan.odf
Создайте наборы пустых файлов для использования в этой лабораторной работе. Если какие-либо команды маски вам не знакомы, воспользуйтесь приведенным решением, чтобы изучить их и применить на практике. Используйте автодополнение по клавише Tab, чтобы легко находить имена путей к файлам.
Создайте 12 файлов с именами tv_seasonX_episodeY.ogg. Замените X номером сезона и Y номером серии в сезоне: всего два сезона по шесть серий.
tv_seasonX_episodeY.ogg
Вы автор успешной серии детективных романов, и главы вашего следующего бестселлера редактируются для печати. Создайте 8 файлов с именами mystery_chapterX.odf. Замените X на цифры с 1 до 8.
mystery_chapterX.odf
С помощью одной команды создайте два подкаталога с именами season1 и season2 в существующем каталоге Videos, чтобы упорядочить серии.
season1
season2
Videos
Переместите соответствующие серии в подкаталоги сезонов. Используйте только две команды, указывая целевые каталоги с помощью относительного синтаксиса.
Для упорядочения глав романа создайте двухуровневую иерархию каталогов с помощью одной команды. Создайте подкаталог my_bestseller в каталоге Documents, а также создайте chapters в новом каталоге my_bestseller.
my_bestseller
Documents
chapters
С помощью одной команды создайте еще три подкаталога непосредственно в каталоге my_bestseller. Назовите эти подкаталоги editor, changes и vacation. Опция -p (создать родительский каталог) не нужна, так как родительский каталог my_bestseller уже существует.
editor
changes
vacation
Перейдите в каталог chapters. Используя символ домашнего каталога (~) для указания расположения исходных файлов, переместите все главы книги в текущий каталог chapters. Как проще всего указать путь к целевому каталогу?
Вы отправили первые две главы редактору. Переместите только эти две главы в каталог editor, чтобы не изменять эти главы, пока они у редактора. Начиная с подкаталога глав, используйте развертывание фигурных скобок с диапазоном, чтобы указать имена файлов перемещаемых глав, и относительный путь для целевого каталога.
В отпуске вы собираетесь написать главы 7 и 8. С помощью одной команды переместите файлы из каталога chapters в каталог vacation. Укажите имена файлов глав, используя развертывание фигурных скобок со списком строк и без использования метасимволов.
Измените свой рабочий каталог на ~/Videos/season2, а затем скопируйте первую серию сезона в каталог vacation.
~/Videos/season2
Используйте команду cd, чтобы изменить рабочий каталог на ~/Documents/my_bestseller/vacation. Отобразите список файлов в этом каталоге. Вернитесь в каталог season2 с помощью аргумента перехода в предыдущий рабочий каталог. (Эта операция будет успешной, если последнее изменение каталога с помощью команды cd было выполнено одной командой, а не несколькими командами cd.) Из каталога season2 скопируйте файл серии 2 в каталог vacation. Снова используйте быструю команду, чтобы вернуться в каталог vacation.
~/Documents/my_bestseller/vacation
Авторы глав 5 и 6 хотят поэкспериментировать с возможными изменениями. Во избежание изменения исходных файлов скопируйте оба файла из каталога ~/Documents/my_bestseller/chapters в каталог ~/Documents/my_bestseller/changes. Перейдите в каталог ~/Documents/my_bestseller. Используйте шаблон с квадратными скобками в аргументе имени файла в команде cp, чтобы указать нужные номера глав.
~/Documents/my_bestseller/chapters
~/Documents/my_bestseller/changes
~/Documents/my_bestseller
Измените текущий каталог на каталог changes.
Используйте команду date +%F с подстановкой команды, чтобы скопировать mystery_chapter5.odf в новый файл, который включает полную дату. Имя должно иметь следующий формат: mystery_chapter5_YYYY-MM-DD.odf.
mystery_chapter5.odf
mystery_chapter5_YYYY-MM-DD.odf
Создайте еще одну копию файла mystery_chapter5.odf, добавив к его имени текущую метку времени (число секунд, прошедших с начала эры Unix, ― 1970-01-01 00:00 UTC), чтобы обеспечить уникальность имени файла. Для этого используйте подстановку команд с командой date +%s.
Немного поразмыслив, вы решаете, что изменения сюжета не нужны. Удалите каталог changes.
При необходимости перейдите в каталог changes и удалите все файлы в нем. Вы не можете удалить каталог, пока он является текущим рабочим каталогом. Измените родительский каталог на каталог changes. Попробуйте удалить пустой каталог с помощью команды rm без опции -r («рекурсивно»). Эта попытка должна завершиться неудачей. Используйте команду rmdir, чтобы удалить пустой каталог. Эта операция завершится успешно.
-r
Отпуск закончился, и каталог vacation больше не нужен. Удалите его с помощью команды rm с опцией «рекурсивно».
По окончании вернитесь в домашний каталог пользователя student.
Создайте жесткую ссылку на файл ~/Documents/project_plans/season2_project_plan.odf с именем ~/Documents/backups/season2_project_plan.odf.back. Жесткая ссылка защищает от случайного удаления исходного файла и обновляет файл резервной копии по мере внесения изменений в исходный файл.
~/Documents/project_plans/season2_project_plan.odf
~/Documents/backups/season2_project_plan.odf.back
Выйдите с serverb.
[student@serverb ~]$ exit logout Connection to serverb closed. [student@workstation ~]$
[student@serverb ~]$
exit
Оценка
На workstation запустите сценарий lab files-review grade, чтобы проверить, правильно ли была выполнена лабораторная работа.
[student@workstation ~]$ lab files-review grade
lab files-review grade
Конец
На workstation запустите сценарий lab files-review finish, чтобы закончить лабораторную работу. Этот сценарий удаляет все файлы и каталоги, созданные на serverb во время упражнения.
[student@workstation ~]$ lab files-review finish
lab files-review finish
Лабораторная работа завершена.