|
отчётопд1. отчётопд1 — копия. Основы работы в командной строке Unix
Министерство науки и высшего образования Российской Федерации
федеральное государственное автономное образовательное учреждение высшего образования «Национальный исследовательский университет ИТМО»
Факультет программной инженерии и компьютерной техники
Отчёт по лабораторной работе
на тему:
«Основы работы в командной строке Unix»
Номер варианта: 90134
Выполнил: Группа: Проверил:
Санкт-Петербург 2022 год
Оглавление
1.Введение 3
2.Создание каталогов и файлов 4
3.Настройка прав доступа к файлам и каталогам 8
4.Работа со ссылками, копированием и объединением файлов 10
5.Команды поиска и фильтрации содержимого файлов, списков имен и атрибутов файлов 13
6.Удаление файлов, ссылок и директорий 15
Заключение 17
Литература и ссылки 18
Введение
В данной работе мы познакомимся с основным набором команд UNIX для манипулирования файловой системой; с сортировкой строк и регулярными выражениями; с перенаправлением потоков вывода и подавлением ошибок.
Целью проведения данной работы является изучение основных команд Unix и получение следующих навыков:
создание директорий, файлов с текстами и ссылок назначение прав файлам и каталогам копирование, объединение файлов/директорий фильтровка выводимой информации удаление файлов и директорий
Для выполнения лабораторной работы был использован клиент Termius, который позволяет подключиться к удалённому серверу и управлять им.
Создание каталогов и файлов
Создать приведенное в варианте дерево каталогов и файлов с содержимым. В качестве корня дерева использовать каталог lab0 своего домашнего каталога. Для создания и навигации по дереву использовать команды: mkdir, echo, cat, touch, ls, pwd, cd, more, cp, rm, rmdir, mv:
Скриншот варианта:
Создать директорию "lab0"
Создание новых директорий и файлов
mkdir archen3 cd archen3 touch surskit touch hitmontop mkdir magikarp touch palpitoad touch nosepass
Добавление содержимого в файлы
echo weigth=54.0 height=31.0 atk=7 > jolteon8 echo def=6 >> jolteon8 cat jolteon8
Результат:
Установить согласно заданию права на файлы и каталоги при помощи команды chmod, используя различные способы указания прав:
archen3: права 357
chmod 357 archen3 ls -ld archen3
surskit: ------rw-
palpitoad: r--r--r--
chmod 444 palpitoad
ИЛИ chmod u=r,g=r,o=r palpitoad
ls -l palpitoad
nosepass: владелец должен читать и записывать файл; группа-владелец должна записывать файл; остальные пользователи должны не иметь никаких прав
chmod u=rw,g=w,o-rwx nosepass ls -l nosepass
Результат:
Работа со ссылками, копированием и объединением файлов
Скопировать часть дерева и создать ссылки внутри дерева согласно заданию при помощи команд ср и ln, а также команды cat и перенаправления ввода-вывода:
скопировать содержимое файла boldore6 в новый файл lab0/archen3/hitmontopboldore
/s368966/lab0/archen3/hitmontopboldore
создать символическую ссылку c именем Copy_40 на директорию archen3 в каталоге lab0
/s368966/lab0/archen3/Copy_40
объеденить содержимое файлов lab0/archen3/surskit, lab0/krookodile9/skorupi, в новый файл lab0/whiscash6_41
/s368966/lab0/archen3/surskit /s368966/lab0/krookodile9/skorupi > /s368966/lab0/whiscash6_41
скопировать файл jolteon8 в директорию lab0/tentacruel6/ralts
/s368966/lab0/tentacruel6/ralts
скопировать рекурсивно директорию archen3 в директорию lab0/krookodile9/charmeleon
/s368966/lab0/krookodile9/charmeleon
cоздать символическую ссылку для файла boldore6 с именем lab0/krookodile9/skorupiboldore
/s368966/lab0/krookodile9/ ln -s /s368966/lab0/boldore6 skorupiboldore
cоздать жесткую ссылку для файла jolteon8 с именем lab0/archen3/palpitoadjolteon
cd /s368966/lab0/ ln jolteon8 /s368966/lab0/archen3/palpitoadjolteon
Результат:
Команды поиска и фильтрации содержимого файлов, списков имен и атрибутов файлов
Используя команды cat, wc, ls, head, tail, echo, sort, grep выполнить в соответствии с вариантом задания поиск и фильтрацию файлов, каталогов и содержащихся в них данных:
Подсчитать количество строк содержимого файлов: seel, skorupi, azurill, отсортировать вывод по уменьшению количества, ошибки доступа перенаправить в файл в директории /tmp
cd /s368966/lab0/ wc -l /s368966/lab0/krookodile9/seel /s368966/lab0/krookodile9/skorupi /s368966/lab0/tentacruel6/azurill 2>/tmp/wc.error.log | sort -r
Вывести рекурсивно список имен и атрибутов файлов в директории lab0, содержащих строку "no", список отсортировать по возрастанию количества жестких ссылок, добавить вывод ошибок доступа в стандартный поток вывода
(ls -l **/*no* | sort -n -k2 ) 2>&1
Вывести содержимое файлов: palpitoad, nosepass, seel, skorupi с номерами строк, оставить только строки, заканчивающиеся на 'e', регистр символов игнорировать, добавить вывод ошибок доступа в стандартный поток вывода
(cat -n -s */palpitoad */nosepass */seel */skorupi | grep -i "e$") 2>&1
Рекурсивно подсчитать количество символов содержимого файлов из директории lab0, имя которых заканчивается на 'l', результат записать в файл в директории /tmp, подавить вывод ошибок доступа
(ls **/*l | wc -m) 1>/tmp/ls.result.log 2>/dev/null
Вывести три первых элемента рекурсивного списка имен и атрибутов файлов в директории lab0, содержащих строку "to", список отсортировать по имени a->z, добавить вывод ошибок доступа в стандартный поток вывода
(ls -lr -X **/*to* | head -n 3 | sort -k9) 2>&1
Вывести содержимое файлов: surskit, hitmontop, palpitoad, nosepass, оставить только строки, заканчивающиеся на 'e', подавить вывод ошибок доступа
(cat */surskit */hitmontop */palpitoad */nosepass | grep "e$") 2>/dev/null
Удаление файлов, ссылок и директорий Выполнить удаление файлов и каталогов при помощи команд rm и rmdir согласно варианту задания:
Удалить файл jolteon8
Удалить файл lab0/archen3/hitmontop
rm /s368966/lab0/archen3/hitmontop
удалить символические ссылки Copy_*
удалить жесткие ссылки lab0/archen3/palpitoadjolte*
rm /s368966/lab0/archen3/palpitoadjolte*
Удалить директорию tentacruel6
rm -R /s368966/lab0/tentacruel6
Удалить директорию lab0/tentacruel6/spheal
rmdir /s368966/lab0/tentacruel6/spheal
Заключение
Литература и ссылки
https://www.opennet.ru/man.shtml?topic=more&russian=0&category=&submit=%F0%CF%CB%C1%DA%C1%D4%D8+man https://ru.wikipedia.org/wiki/Unix http://rus-linux.net
|
|
|