Вы находитесь на странице: 1из 13

Федеральное агентство связи

Сибирский Государственный Университет Телекоммуникаций и Информатики

Межрегиональный центр переподготовки специалистов

Лабораторная работа №1

По дисциплине: Приложения UNIX систем

Выполнил: Мирошников В.В.


Группа: СБТ-82

Новосибирск, 2020 г.
Задание к лабораторной работе №2

Выполнить указанные действия. Создать отчет, в котором отразить


выполняемое задание,
команды, с помощью которых выполняются указанные действия и результат,
полученный после
выполнения команды.
1. Создать файл a1 с помощью команды cat; ввести в файл текст из 6-ти строк
вида (строка начинается с цифры порядкового номера строки):
1. my name is …
2. my surname is …
3. login is …
4. <текст произвольного содержания (не менее 2-х слов)>
5. <текст произвольного содержания (не менее 2-х слов)>
6. <текст произвольного содержания (не менее 2-х слов)>
2. Создать файл a2 с помощью команды touch; в редакторе vi ввести в файл
текст из 6-ти строк аналогичного с содержимым файла a1 вида.
3. Убедиться, что файлы созданы (команда ls -l); просмотреть их содержимое
(команда cat). Результат вывода команды ls –l занести в отчет.
4. Изменить права доступа к этим файлам: владельцу все права, группе только
чтение, остальным никаких прав доступа. Прочитать новые права доступа и
занести в отчет.
5. Первые две строки файла a1 занести в файл a3. Добавить в файл a3 две
последние строки файла a1. Просмотреть содержимое файла a3.
6. Отсортировать файл a2 в обратном порядке. Результат сортировки, используя
опцию команды сортировки, вывести в файле a2_s.
7. Отсортировать файл a2 по 2-му столбцу. Результат сортировки, используя
опцию команды сортировки, вывести в файле a2_s2.
Убедиться, что файлы a2_s и a2_s2 созданы; просмотреть их содержимое.
8. С помощью команды grep найти в файлах домашней директории строки,
содержащие цифру “3”. Результат выполнения команды занести в файл a_g.
9. С помощью команды cut выделить в файле a2 первый столбец.
10. С помощью команды cut выделить в файле a_g имена файлов, отделив их от
строки, содержащей цифру “3”.
11. Создать в домашней директории каталоги с именем D1 и D1_1.
12. Перенести в директорию D1 файл a2; скопировать в директорию D1 файл a3
под именем a3d1; скопировать в директорию D1_1 файл a3 под именем a3d1_1.
Проверить наличие в директориях D1 и D1_1 указанных файлов.
13. Перейти из домашней директории в директорию D1. Убедиться, что текущей
директорией стала директория D1.
14. Создать в текущей директории D1 жесткую связь с файлом a1, находящимся
в домашней директории (создать новое имя существующему файлу), с именем
a1_h.
15. Создать в текущей директории D1 файл символической связи с файлом a1,
находящимся в домашней директории, с именем a1_sym.
16. Создать в директории D1 каталог с именем D2. Перенести в директорию D2
файл a2; скопировать в директорию D2 файл a3d1 под именем a3d2. Проверить
наличие в директории D2 указанных файлов.
a) Установить директорию D2 в режим “темной” директории;
b) Произвести попытку прочитать содержимое директории D2;
c) Прочитать содержимое файлов “темной” директории.
17. Перейти в директорию /home. Убедиться, что текущей директорией стала
директория /home.
18. Прочитать рекурсивно содержимое текущей директории. Исключить вывод
потока ошибок на терминал.
19. Перейти в домашнюю директорию. Убедиться, что она стала текущей
директорией.
20. С помощью команды du вывести размеры каталогов. Исключить вывод
потока ошибок на терминал.
21. Используя команды grep, cut и sort, получить список имён тех файлов в
каталоге /etc/, в тексте которых содержится 192.168.0. Список имен файлов не
должен иметь повторений. Результат занести в файл g192.
22. То же. Используя конвейер выполнить действия в одну строку.
1. Создать файл a1 с помощью команды cat; ввести в файл текст из 6-ти строк
вида (строка начинается с цифры порядкового номера строки):
1. my name is ...
2. my surname is ...
3. login is ...
4. <текст произвольного содержания (не менее 2-х слов)>
5. <текст произвольного содержания (не менее 2-х слов)>
6. <текст произвольного содержания (не менее 2-х слов)>

Решение:
Ввод текста из консоли выполняется с помощью команды:
$ cat -- -> a1

По окончании ввода нажимаем комбинацию клавиш Ctrl-C

Результат выполнения:
2. Создать файл a2 с помощью команды touch; в редакторе vi ввести в файл
текст из 6-ти строк аналогичного с содержимым файла a1 вида.

Решение:
Создаем файл с помощью команды:
$ touch a2

Открываем файл в vi с помощью команды:


$ vi a2

проверяем содержимое файла с помощью команды:


$ cat a2

Результат выполнения:
3. Убедиться, что файлы созданы (команда ls -l); просмотреть их содержимое
(команда cat). Результат вывода команды ls –l занести в отчет.

Решение:
Просмотреть содержимое файлов можно с помощью команд:
$ cat a1
$ cat a2

Посмотреть список файлов можно с помощью команды:


$ ls -l

Результат выполнения:

4. Изменить права доступа к этим файлам: владельцу все права, группе только
чтение, остальным никаких прав доступа. Прочитать новые права доступа и
занести в отчет.
Решение:
Изменить права доступа к файлам можно с помощью команды:
$ chmod 740 a1 a2

Посмотреть новые права доступа можно с помощью команды:


$ ls -l

Результат выполнения:
5. Первые две строки файла a1 занести в файл a3. Добавить в файл a3 две
последние строки файла a1. Просмотреть содержимое файла a3.

Решение:
Занести нужные строки в файл можно с помощью команд:
$ head -n 2 a1 > a3
$ tail -n 2 a1 >> a3

Посмотреть содержимое файла можно с помощью команды:


$ cat a3

Результат выполнения:

6. Отсортировать файл a2 в обратном порядке. Результат сортировки, используя


опцию команды сортировки, вывести в файле a2_s.

Решение:
Отсортировать файл в обратном порядке и записать вывод в файл a2_s можно с
помощью команды:
$ sort a2 -r > a2_s

Посмотреть содержимое файла a2_s можно с помощью команды:


$ cat a2_s

Результат выполнения:
7. Отсортировать файл a2 по 2-му столбцу. Результат сортировки, используя
опцию команды сортировки, вывести в файле a2_s2.
Убедиться, что файлы a2_s и a2_s2 созданы; просмотреть их содержимое.

Решение:
Отсортировать файл и записать вывод в файл a2_s можно с помощью команды:
$ sort a2 -k 2 > a2_s2

Посмотреть содержимое файлов можно с помощью команд:


$ cat a2_s
$ cat a2_s2

Результат выполнения:

8. С помощью команды grep найти в файлах домашней директории строки,


содержащие цифру “3”. Результат выполнения команды занести в файл a_g.

Решение:
Данные действия можно сделать при помощи команды:
$ grep "3" ./* > a_g

Просмотреть содержимое файла можно с помощью команды:


$ cat a_g

Результат выполнения:
9. С помощью команды cut выделить в файле a2 первый столбец.

Решение:
Данные действия можно сделать при помощи команды:
$ cut -d " " -f1 a2

Результат выполнения:

10. С помощью команды cut выделить в файле a_g имена файлов, отделив их от
строки, содержащей цифру “3”.

Решение:
Это можно сделать при помощи команды:
$ cut -d ":" -f1 a_g

Результат выполнения:

11. Создать в домашней директории каталоги с именем D1 и D1_1.

Решение:
Для создания директорий используем команду:
$ mkdir D1 D1_1

Убедимся, что директории созданы. Для этого посмотрим содержимое текущей


директории:
$ ls

Результат выполнения:
12. Перенести в директорию D1 файл a2; скопировать в директорию D1 файл a3
под именем a3d1; скопировать в директорию D1_1 файл a3 под именем a3d1_1.
Проверить наличие в директориях D1 и D1_1 указанных файлов.

Решение:
Данные действия можно сделать при помощи команд: \
$ mv a2 D1/a2
$ cp a3 D1/a3d1
$ cp a3 D1_1/a3d1_1
$ ls D1 D1_1

Результат выполнения:

13. Перейти из домашней директории в директорию D1. Убедиться, что текущей


директорией стала директория D1.

Перейти в директорию D1 можно при помощи команды:


$ cd D1

Узнать текущую директорию можно с помощью команды:


$ pwd

Результат выполнения:

14. Создать в текущей директории D1 жесткую связь с файлом a1, находящимся


в домашней
директории (создать новое имя существующему файлу), с именем a1_h.

Создать жесткую связь можно с помощью команды:


$ ln ~/a1 a1_h

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


$ ls

Результат выполнения:
15. Создать в текущей директории D1 файл символической связи с файлом a1,
находящимся в домашней директории, с именем a1_sym.

Решение:
Создать символическую связь можно при помощи команды:
$ ln -s ~/a1 a1_sym

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


содержимое текущей директории:
$ ls

Результат выполнения:

16. Создать в директории D1 каталог с именем D2. Перенести в директорию D2


файл a2;
скопировать в директорию D2 файл a3d1 под именем a3d2. Проверить наличие в
директории D2 указанных файлов.
a) Установить директорию D2 в режим “темной” директории;
b) Произвести попытку прочитать содержимое директории D2;
c) Прочитать содержимое файлов “темной” директории.

Решение:
Все вводимые команды и результат выполнения отображены на скриншоте
ниже.

Результат выполнения:
17. Перейти в директорию /home. Убедиться, что текущей директорией стала
директория /home.

Решение:
Перейти в директорию /home можно при помощи команды:
$ cd /home
Убедиться, что текущей директорией стала директория /home можно при
помощи команды:
$ pwd
Результат выполнения:

18. Прочитать рекурсивно содержимое текущей директории. Исключить вывод


потока ошибок на терминал.

Решение:
Прочитать рекурсивно содержимое текущей директории с исключением вывода
потока ошибок можно при помощи команды:
$ ls -R 2>/dev/null
Результат выполнения:

19. Перейти в домашнюю директорию. Убедиться, что она стала текущей


директорией.

Решение:
Перейти в домашнюю директорию можно при помощи команды:
$ cd ~
Убедится, что текущей директорией стала домашняя директория можно при
помощи команды:
$ pwd
Результат выполнения:
20. С помощью команды du вывести размеры каталогов. Исключить вывод
потока ошибок на терминал.

Решение:
Вывести размер каталогов без вывода ошибок в терминал можно при помощи
команды:
$ du 2>/dev/null

Результат выполнения:

21. Используя команды grep, cut и sort, получить список имён тех файлов в
каталоге /etc/, в тексте которых содержится 192.168.0. Список имен файлов не
должен иметь повторений. Результат занести в файл g192.

Решение:
На скриншоте в результате выполнения первых 3-х команд формируется файл
g192 со списком имен файлов. При помощи команды "cat g192" должно
выводится содержимое файла. Ничего не выводится, так как как файл пуст.

Результат выполнения:

22. То же. Используя конвейер выполнить действия в одну строку.

Решение:
Те же самые действия в одну команду. Временные файлы не используются.
Вывод одной команды подается на ввод следующей.

Результат выполнения:

Вам также может понравиться