
ЛР №3-5 Основные команды Linux
.docxДоценту кафедры ИКД
Громову В. В.
Лабораторные работы №3-5
Я, Гетманченко Полина Алексеевна, выполнила лабораторные работы под номером 3, 4 и 5.
Задачи блока №1 (основные команды Linux):
Загрузить необходимые пакеты с помощью команды “sudo apt install …” (вместо “…” может быть zip, mc и т.д.);
Создать файл под названием “1.sh” с помощью команды “touch 1.sh”;
Создать директорию с помощью команды “mkdir”, где будут находиться 3 объединённых файла, у каждого из которых своя кодировка (“1.txt” – 866, “2.txt” – 1251, “3.txt” – 8859_5), в каждом файле нужно прописать определённую фразу на русском языке, состоящую из имени, фамилии, отчества, даты рождения и места рождения;
Заархивировать файлы четырьмя архиваторами, которые были первоначально скачаны, а именно: zip, arj, jlha и bzip2;
Заархивировать директорию под названием “ИСТ-931_Гетманченко” с помощью команд “tar” (команда архивирует сначала директорию “ИСТ-931_Гетманченко” в “tar”, а потом в “bzip2”);
Удалить директорию под названием “ИСТ-931_Гетманченко”;
Очистить полностью экран и вывести содержимое директории /home/vintano;
Назначить пользователю полные права доступа для файла под названием “1.sh”.
Записать в файл 125 строк с записями, которые были увеличены (добавлена улица, дом, корпус и квартира);
Последние 25 строк преобразовать в верхний регистр;
Создать 3 копии файла;
Изменить кодировки файлов на 866, 1251, UTF-8, 8859-5;
Объединить все файлы в результирующий файл под названием “result.txt”;
Заархивировать каждый файл с помощью zip, arj, jlha, bzip2;
Вся работа должна быть выполнена в директории под названием “ИСТ-931_Гетманченко1.sh”, после чего нужно удалить .sh из данной директории, а затем заархивировать директорию с помощью tar и bzip2;
Сделать транслит записи.
Блок №1 (основные команды Linux):
Перед началом работы с командами, нужно написать строчку “#!/usr/bin/bash”, где после “#!” следует путь к файлу исполняемого файлу интерпретатора (/usr – файлы пользователя и программы, /bin – пользовательские двоичные файлы (программы), /bash – оболочка с большим набором функций, нежели /sh).
Далее с помощью команды “mkdir -p” создаётся директория под названием “ИСТ-931_Гетманченко” (без “-p” можно создавать директории только в текущем каталоге оболочки). А команда “cd” меняет директорию на другую (переход с одной директории на другую).
Затем командой “echo” было записано 3 файла, в которых находится такая информация, как: ФИО, дата рождения и город рождения. С помощью команды “iconv –f … -t … -o …” была выполнена перекодировка файла.
Далее с помощью команды “cat” файлы были объединены в один результирующий под названием “result.txt”.
Затем файлы были заархивированы с учётом максимальной степени сжатия.
Далее с помощью команды “cd ..” удалось перейти на директорию выше, чтобы впоследствии с помощью команды “tar -cvjf” (c – создание нового файла .tar, v – процесс сжатия, j – для сжатия файла формата bz2, f – имя файла) заархивировать директорию “ИСТ-931_Гетманченко”. А команда “rm -R” удаляет директорию (“-R” нужен для того, чтобы показать, что удаляется не пустая директория).
Затем с помощью команды “clear” происходит чистка экрана, а команда “ls -la” (l – длинный список, a – скрытые файлы) выводит содержание директории. Для удобства в использовании файла под названием “1.sh” была использована команда “chmod 755”, дающая права администратора.
Далее запускается скрипт командой “. ./1.sh”.
Скрипт лабораторной работы №3:
#!/usr/bin/bash
mkdir ИСТ-931_Гетманченко
cd ИСТ-931_Гетманченко
echo Гетманченко Полина Алексеевна 06.12.2000 г. Санкт-Петербург > 1.txt
iconv -f UTF-8 -t CP866 1.txt -o 1.txt
echo Гетманченко Полина Алексеевна 06.12.2000 г. Санкт-Петербург > 2.txt
iconv -f UTF-8 -t CP1251 2.txt -o 2.txt
echo Гетманченко Полина Алексеевна 06.12.2000 г. Санкт-Петербург > 3.txt
iconv -f UTF-8 -t 8859_5 3.txt -o 3.txt
cat 1.txt 2.txt 3.txt > result.txt
zip -9 1.zip 1.txt
zip -9 2.zip 2.txt
zip -9 3.zip 3.txt
arj a –m1 1.arj 1.txt
arj a –m1 2.arj 2.txt
arj a –m1 3.arj 3.txt
jlha -a 1.lzh 1.txt
jlha -a 2.lzh 2.txt
jlha -a 3.lzh 3.txt
bzip2 -k -9 1.txt
bzip2 -k -9 2.txt
bzip2 -k -9 3.txt
cd ..
tar -cvjf ИСТ-931_Гетманченко.tar.bzip2 ИСТ-931_Гетманченко
rm -R ИСТ-931_Гетманченко
clear
ls -la
Создаётся директория под названием “ИСТ-931_Гетманченко” и происходит переход в неё.
Благодаря команде “touch” создаётся файл под названием “dopfail.txt”.
Это временный текстовый файл, куда будут записываться 125 строк.
Создаётся первый цикл, где дописывается информация командой “echo”.
Во втором цикле происходит преобразование в верхний регистр (последние 25 строк).
Дальше изменяется кодировка.
Затем с помощью команды “rm” удаляется файл “dopfail.txt”.
Все данные переносятся в результирующий.
В третьем цикле (где $i – ссылка, которая заменяется на цифры) 1, 2, 3 и result архивируются 4 разными архиваторами.
Скрипт лабораторной работы №4:
#!/usr/bin/bash
mkdir ИСТ-931_Гетманченко
cd ИСТ-931_Гетманченко
touch dopfail.txt
for ((counter = 1; counter < 101; counter++))
do
echo Гетманченко Полина Алексеевна 06.12.2000 г. Санкт-Петербург ул. Белградская д. 26 к. 9 кв. 106 >> dopfail.txt
done
for ((counter = 1; counter < 26; counter++))
do
echo Гетманченко Полина Алексеевна 06.12.2000 г. Санкт-Петербург ул. Белградская д. 26 к. 9 кв. 106 | tr ‘[абвгдежзийклмнопрстуфхцчшщъыьэюя]’ ‘[АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ]’ >> dopfail.txt
done
iconv -f UTF-8 -t CP866 dopfail.txt -o 1.txt
iconv -f UTF-8 -t CP1251 dopfail.txt -o 2.txt
iconv -f UTF-8 -t 8859_5 dopfail.txt -o 3.txt
rm dopfail.txt
cat 1.txt 2.txt 3.txt > result.txt
for i in 1 2 3 result
do
zip -9 $i.zip $i.txt
arj a –m1 $i.arj $i.txt
jlha –a $i.lzh $i.txt
bzip2 –k -9 $i.txt
done
cd ..
tar -cvjf ИСТ-931_Гетманченко.tar.bzip2 ИСТ-931_Гетманченко
rm -R ИСТ-931_Гетманченко
clear
ls -la
Также, перед тем, как выполнить транслит, нужно ввести команду “sudo apt install yudit”, она позволяет работать команде “unicov” (которая отвечает за транслит).
Скрипт лабораторной работы №5:
#!/usr/bin/bash
mkdir ИСТ-931_Гетманченко
cd ИСТ-931_Гетманченко
touch dopfail.txt
for ((counter = 1; counter < 101; counter++))
do
echo Гетманченко Полина Алексеевна 06.12.2000 г. Санкт-Петербург ул. Белградская д. 26 к. 9 кв. 106 >> dopfail.txt
done
for ((counter = 1; counter < 26; counter++))
do
echo Гетманченко Полина Алексеевна 06.12.2000 г. Санкт-Петербург ул. Белградская д. 26 к. 9 кв. 106 | tr ‘[абвгдежзийклмнопрстуфхцчшщъыьэюя]’ ‘[АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ]’ >> dopfail.txt
done
for ((counter = 1; counter < 26; counter++))
do
echo Гетманченко Полина Алексеевна 06.12.2000 г. Санкт-Петербург ул. Белградская д. 26 к. 9 кв. 106 | uniconv –encode Russian-Translit >> dopfail.txt
done
for ((counter = 1; counter < 26; counter++))
do
echo Getmanchenko Polina Alekseevna 06.12.2000 g. Sankt-Peterburg ul. Belgradskaja d. 26 k. 9 kv. 106 | tr ‘[abcdefghijklmnopqrstuvwxyz]’ ‘[ABCDEFGHIJKLMNOPQRSTUVWXYZ]’ >> dopfail.txt
done
for ((counter = 1; counter < 26; counter++))
do
echo Getmanchenko Polina Alekseevna 06.12.2000 g. Sankt-Peterburg ul. Belgradskaja d. 26 k. 9 kv. 106 | uniconv -decode Russian-Translit >> dopfail.txt
done
iconv -f UTF-8 -t CP866 dopfail.txt -o 1.txt
iconv -f UTF-8 -t CP1251 dopfail.txt -o 2.txt
iconv -f UTF-8 -t 8859_5 dopfail.txt -o 3.txt
rm dopfail.txt
cat 1.txt 2.txt 3.txt > result.txt
for i in 1 2 3 result
do
zip -9 $i.zip $i.txt
arj a –m1 $i.arj $i.txt
jlha –a $i.lzh $i.txt
bzip2 –k -9 $i.txt
done
cd ..
tar -cvjf ИСТ-931_Гетманченко.tar.bzip2 ИСТ-931_Гетманченко
rm -R ИСТ-931_Гетманченко
clear
ls -la
Студент группы ИСТ-931 Гетманченко П.А.