МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ
КАФЕДРА 41
|
ОЦЕНКА
ПРЕПОДАВАТЕЛЬ
канд. тех. наук, доцент |
|
|
|
Аграновский А. В. |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ЛАБОРАТОРНАЯ РАБОТА №6 |
Разработка командлетов PowerShell для работы с файловой системой
|
по дисциплине: Операционные системы |
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. № |
Z9411 |
|
|
|
Кафка Р. С. |
|
номер группы |
|
подпись, дата |
|
инициалы, фамилия |
Студенческий билет № |
2019/3603 |
|
|
|
Шифр ИНДО |
|
Санкт-Петербург 2022
Цель работы: изучить командлеты PowerShell, предназначенные для работы с файловой системой.
Задания по лабораторной работе:
Выполните все упражнения.
Выведите содержимое любого каталога на экран и в текстовый файл, самостоятельно задавая последовательно не менее трех параметров фильтрации, например:
− только папки;
− последняя буква имени g или t;
− сортировка по именам.
Выведите на экран и в текстовые файлы список псевдонимов командлетов для работы с файловой системой.
Следующие пункты необходимо осуществить, если они не были сделаны во время повторения упражнений.
Посмотреть все диски доступны на персональном компьютере.
Создать два каталога в текущем каталоге пользователя.
Создать новый диск, обеспечивающий обращение к одному из созданных каталогов.
В одном из подкаталогов создать два новых текстовых файла. Сделать их копии. Перенести и переименовать их.
Удалить созданные объекты. (Не забудьте, что все необходимо показать преподавателю. Поэтому удаляйте дубликаты директорий и файлов).
Порядок выполнения работы:
Изучить методические указания.
Выполнить все упражнения.
Результат выполнения зафиксировать на скриншотах.
Выполнить задания самостоятельной работы.
Сделать выводы о проделанной работе.
Выполненные упражнения
Упражнение 2.12. Командлет Get-ChildItem.
Возвратил все файлы .jpg в каталоге C:\Users\Kafka\OneDrive\Учёба, включая подкаталоги, с использованием команды (рис.1):
> Get-Childitem C:\Users\Kafka\OneDrive\Учёба -Include *jpg -Recurse -Force
Рисунок 1 – Список файлов с расширением .jpg в каталоге C:\Users\Kafka\OneDrive\Учёба
Использовал параметр –Path для возврата списка файлов с расширением .jpg находящихся в разных каталогах: в каталоге C:\Users\Kafka\OneDrive, и папке C:\Users\Kafka\OneDrive\Учёба (рис.2-3). Два этих параметра разделяет запятая.
> Get-Childitem –Path C:\Users\Kafka\OneDrive\Учёба*jpg, C:\Users\Kafka\OneDrive\*jpg -Recurse –Force
Рисунок 2 – Применение параметра –Path, начало команды
Рисунок 3 – Применение параметра –Path, переход в другой каталог
Получил все файлы с расширением .docx, имеющие в своем имени слово «ЛР» с использованием параметра (рис. 4).
> Get-ChildItem -Path C:\Users\Kafka\OneDrive\Учёба\*.docx -Filter *лр* -Recurse
Рисунок 4 – Фильтрация средствами параметра –Filter
Отфильтровал файлы с помощью параметра –Include.
В качестве значения параметра указал все элементы, включая директорию, в которой производится поиск (рис.5). Вывел все файлы с расширением .docx, находящиеся в папке C:\Users\Kafka\OneDrive\Учёба:
> Get-ChildItem -Path C:\Users\Kafka\OneDrive\Учёба\* -Include *.docx
Рисунок 5 – Фильтрация средствами параметра -Include
Отфильтровал файлы с помощью параметра -Exclude (рис.6)
> Get-ChildItem -Path C:\Users\Kafka\OneDrive\Учёба\* -Exclude *.docx
Рисунок 6 – Фильтрация средствами параметра - Exclude
Упражнение 2.13. Командлет Get-Item.
Ввёл команду Get-Item для просмотра сведений о каталоге C:\Users\Kafka\OneDrive\Учёба (рис.7)
> Get-Item C:\Users\Kafka\OneDrive\Учёба
Рисунок 7 – Использование Get-Item для вывода информации о текущей папке
Просмотрел сведения о двух папках. Для этого в командной строке наберал > Get-Item и нажал <Enter>. Так как параметр –Path не задан, то автоматически программные средства PowerShell потребовали уточнить путь до файлового контейнера (рис.8)
Рисунок 8 – Использование Get-Item для вывода информации в конвейере
Посмотрел свойства объектов папки Учёба, используя конвейер команд (рис.9)
> Get-Item | Get-Member -MemberType Property
Рисунок 9 – Изучение свойств объекта System.IO.DirectoryInfo
Посмотрел свойства файла kontr_iodo.docx папки Учёба (рис.10).
> Get-Item -Path C:\Users\Kafka\OneDrive\Учёба\kontr_iodo.docx | Get-Member –MemberType Property
Рисунок 10 – Изучение свойств объекта System.IO.FileInfo
Упражнение 2.14. Командлет New-Item.
Создал пустой файл с указанием параметров –Path и –ItemType (рис.11):
> New-Item -Path F:\Lab6\file.txt -ItemType File
Рисунок 11 – Создание пустого файла
Создал текстовый файл с наполнением, например (рис.12):
> New-Item -Path F:\Lab6\file_bold.txt -ItemType File –Value "Here is text for my new file"
Рисунок 12 – Создание нового текстового файла с наполнением
Прочёл содержание текстового файла с помощью команды type, которая является псевдонимом командлета Get-Content (рис. 13):
PS F:\Lab6> type file_bold.txt
Рисунок 13 – Чтение содержимого текстового файла с помощью командлета Get-Content
Создал новый файл Primer.tmp в папке F:\Lab6, скопировал с его одновременным переименованием F:\Lab6\Test.tmp, используя при этом псевдонимы командлетов (рис.14).
Для создания нового файла набрал:
PS F:\Lab6> New-Item Primer.txt -Type "file" -Value "Testik for GUAP" -Force
Осуществил копирование файла с одновременным переименованием с использованием псевдонима ren командлета Rename-Item и параметра –Passthru, позволяющего увидеть на экране монитора результат переноса.
PS F:\Lab6>ren Primer.txt Test.txt –Passthru
Рисунок 14 – Создание и копирование файлов средствами командлетов
Упражнение 2.15. Работа с файлами средствами PowerShell.
Вывел все диски, к которым Windows PowerShell позволяет осуществлять доступ помощью командлета Get-Psdrive (рис.15). Диски выделяются двоеточием после их имени (:).
>Get-Psdrive
Рисунок 15 – Вывод списка дисков на персональном компьютрере
Вывел все каталоги, к которым Windows PowerShell позволяет осуществлять доступ с помощью командлета Get-Childitem (рис.16).
> Get-Childitem
Рисунок 16 – Вывод данных о диске F
Создал папку, в которую занёс 10 файлов разного типа, на диске F:\Lab6 (рис.17). Внутри нее добавил папку New_folder и скопировал в нее 5 файлов из папки Lab6.
Рисунок 17 – Содержание тестовой папки Lab6 в Проводнике ОС Windows
Чтобы упростить работу с тестовыми файлами, создал в Windows PowerShell новый диск FK. Для этого выполнил команду New-Psdrive. Изменил конец пути так, чтобы он указывал на папку с тестовыми файлами (рис. 18):
> New-PSdrive -Name FK -Psprovider FileSystem -Root F:\Lab6
Рисунок 18 – Создание диска FK
Воспользовался командой cd FK:, чтобы перейти в эту папку и проверил, что я нахожусь в нужной папке (рис.19). В оригинальном синтаксисе PowerShell, псевдоним cd будет заменен командой Set-Location:
> cd FK:
Рисунок 19 – Вывод содержания тестовой папки Lab6 средствами PowerShell
Для просмотра содержимого папки применил команду > Get-ChildItem.
Скрыл файлы (рис.20), задавая параметр -Exclude с параметрами *.xlsx и *.txt:
>Get-Childitem * -Exclude *.xlsx, *.txt
Рисунок 20 – Вывод содержимого каталогов с сокрытием файлов
Вывел только имена и размер файлов, игнорируя временные файлы с расширениями *.xlsx или *.txt (рис.21).
>Get-Childitem * -Exclude *.xlsx, *.txt | Select-Object name, length
Рисунок 21 – Вывод файлов каталога Lab6 по имени и размеру
Ввёл в командную строку PowerShell:
> Get-Alias | Sort-Object Definition
Результат показан на рисунке 22.
Рисунок 22 – Результат команды Get-Alias | Sort-Object Definition
Посмотрел список всех возможных псевдонимов команд и переписал команду из п.7, используя псевдонимы (рис.23).
>ls * -ex *.xlsx, *.txt | select n*, le*
Рисунок 23 – Вывод файлов каталога Lab6 по имени и размеру с использованием псевдонимов
Результат оказался точно таким же, как и при использовании названий команд полностью.
Отсортировал файлы по алфавиту, а потом по размеру файла (рис.24).
> Get-Childitem | Sort-Object name, length
Рисунок 24 – Сортировка файлов по алфавиту
Удалил устройства FK:, с помощью команды (рис.25):
> Remove-PSDrive FK
Рисунок 25 – Удаление устройства FK