# Практическая работа №1 - Основы Linux *Арина Алексеенко* --- ### Практическая работа №1.1 - Работа в командной строке **Задания:** 1. Посмотреть под каким пользователем в системе Linux. > $ whoami ![](https://i.imgur.com/rbTgQO7.png) ![](https://i.imgur.com/NgMOdQb.png) 2. Перейти в корневой каталог. > $ cd / ![](https://i.imgur.com/tNPyzRY.png) 3. Посмотреть содержимое каталога. > $ cd / ![](https://i.imgur.com/0Wrr41x.png) 4. Определить типы команд ls, cd. > $ type cd > $ type cd ![](https://i.imgur.com/8F98Dgp.png) 5. Посмотреть из корневого каталога содержимое директории Home. > $ ls home ![](https://i.imgur.com/ViKzgKf.png) 6. Перейти в директорию /tmp. > $ cd ../tmp ![](https://i.imgur.com/Bgl1Lwj.png) 7. Создать директорию /pt. > $ mkdir pt ![](https://i.imgur.com/hRtFBTe.png) 8. Создать 3 текстовых документа 1.txt 2.txt 3.txt. > $ touch 1.txt 2.txt 3.txt ![](https://i.imgur.com/cvNJHfu.png) 9. Изменить или добавить содержимое текстового документа с помощью редакторов nano и vim. > $ nano 1.txt ![](https://i.imgur.com/BSdbPBC.png) > $ vim 1.txt ![](https://i.imgur.com/FR3dUL2.png) ![](https://i.imgur.com/iBRM82n.png) 10. Скопировать и переименовать директорию с файлами. > $ mv /tmp/pt/2.txt /home/kali ![](https://i.imgur.com/RcaDDvG.png) 11. Заархивировать директорию. > $ tar -cvf pt.tar.gz /tmp/pt ![](https://i.imgur.com/Ch8nW9S.png) 12. Разархивировать директорию. > $ tar -xvf pt.tar.gz ![](https://i.imgur.com/pOkIxmi.png) 13. Посмотреть содержимое домашней директории и каталога usr одной командой. > $ ls /home && ls /usr ![](https://i.imgur.com/QIgZ9Zg.png) ![](https://i.imgur.com/nmSMPfG.png) 14. Посмотреть содержимое каталога в обратном порядке. > $ ls -r ![](https://i.imgur.com/WgYC6yU.png) 15. Посмотреть права на директорию. > $ ls -l ![](https://i.imgur.com/2so3Yeu.png) 16. Посмотреть права на текстовые файлы. > $ ls -l ![](https://i.imgur.com/Nr9GA2s.png) 17. Переместить и переименовать один текстовый файл в директорию /tmp. > $ mv /tmp/pt/2.txt /tmp > $ mv 2.txt two.txt ![](https://i.imgur.com/IPtuaFM.png) 18. Создать новую директорию, в ней создать новый текстовый документ, переместить из директории /tmp файл в новую директорию с заменой файла и запросом на его изменение. > $ mkdir new > $ mv /tmp/transport.txt /new > $ chmod u+w transport.txt ![](https://i.imgur.com/DHyvSq6.png) 19. Определить местоположение данного исполняемого файла ls, cd. > $ where cd > $ which ls ![](https://i.imgur.com/6YuTtN9.png) 20. Вывести краткое описание команды и утилиты ls, nano, rm. > $ whatis ls > $ whatis nano > $ whatis rm ![](https://i.imgur.com/lc5Z1Hi.png) 21. Создать символические ссылки. > $ ln -s secondlink thirdlink > $ ls -l firstlink secondlink thirdlink ![](https://i.imgur.com/U4PjkFG.png) 22. Создать символическую ссылку в никуда, продемонстрировать её. > $ mkdir link && cd link > $ echo "текст" > source > $ ln -s source softlink > $ rm source > $ ls -l softlink ![](https://i.imgur.com/22UTNzz.png) 23. Создать прямые ссылки. > $ touch firstlink > $ ln firstlink secondlink > $ ls -i firstlink secondlink ![](https://i.imgur.com/2KJUAAE.png) 24. Создать собственную команду, которая будет использовать следующее: cd /usr; ls; cd - , с помощью alias. > $ alias cdu="cd /usr" cd-="cd - " list="ls" ![](https://i.imgur.com/BNdbv0m.png) 25. С помощью команды cat написать любой текст и записать его в текстовый файл. > $ cat > cat.txt << EOF heredoc> koshka heredoc> to save heredoc> EOF ![](https://i.imgur.com/CyN1KoK.png) 26. Удалить один текстовый файл > $ rm cat.txt ![](https://i.imgur.com/gaJxJco.png) 27. Создать пустую директорию и удалить её > $ rmdir empty ![](https://i.imgur.com/gFUTboq.png) 28. Удалить директорию с 3-я текстовыми файлами > $ rm -rf textes ![](https://i.imgur.com/THYYx9P.png) 29. Создать пользователя > $ adduser petr ![](https://i.imgur.com/94qJl2b.png) ![](https://i.imgur.com/wnRTozD.png) ... ![](https://i.imgur.com/gUo22J3.png) 30. Поменять пароль нового пользователя > $ passwd petr ![](https://i.imgur.com/bhoHfhJ.png) 31. Найти текстовый документ с помощью команд Find и Grep > $ find /hide ".txt" ![](https://i.imgur.com/wobIZDm.png) 32. Воспользоваться логическими 'и' и 'или' как пример использовать команду ping > $ ping 8.8.8.8 && ping 192.168.17.88 > $ ping 8.8.8.8 && ping 192.168.17.88 ![](https://i.imgur.com/kpLNOsX.png) ![](https://i.imgur.com/urxgs5T.png) ### Практическая работа №1.2 - Практическая работа “GREP” **Задача:** 1. Если мы видим, что используются две разные версии Python, и не знаем, какая из них был установлена в нашей системе установщиком Ubuntu, и устанавливал ли он какие-либо дополнительные модули, используем следующую команду: > $ dpkg -l | grep -i python ![](https://i.imgur.com/CGlVknb.png) 2. Поиск и фильтрация файлов** - Удалить все закомментированные строки файла `/etc/apache2/sites-available/default-ssl`. > $ grep –v "#" /etc/apache2/sites-available/default-ssl` Опция -v указывает grep инвертировать свой вывод, что означает, что вместо печати совпадающих строк grep сделает противоположное и выведутся строки, которые не соответствуют выражению, в этом случае – закомментированные строки. ![](https://i.imgur.com/u6H8y9W.png) 3. Найти все файлы .mp3** - Предположим, что у нас есть целая папка с музыкальными файлами. Нужно найти все файлы `.mp3` у исполнителя Abba, но вы не ремикс. > $ find /home/kali/Downloads "*.mp3" && grep –i "Abba" && grep –vi "remix" ![](https://i.imgur.com/8cC8Z6w.png) 4. Отображение количества строк до или после строки поиска > grep -B [num] -A [num] [pattern] [file] ![](https://i.imgur.com/L0tsBWx.png) 5. Поиск количества строк совпадения? > grep -c [pattern] [file] ![](https://i.imgur.com/IZ25tpF.png) 6. Поиск количества совпадений > grep -o -i [pattern] [file] | wc -l ![](https://i.imgur.com/EL1qRve.png) 7. Поиск по заданным номерам строк? > $ grep -n -i [pattern] [file] ![](https://i.imgur.com/ClJwcpA.png) 8. Произвести поиск рекурсивной строки во всех каталогах. > $ grep -r [pattern] * ![](https://i.imgur.com/LRRBLtt.png) ![](https://i.imgur.com/5iniu4B.png) 9. Произвести поиск строк в архивах файлах Gzip. (создать zip архив см.п.1.10) > $ zgrep -i [pattern] [zip file] ![](https://i.imgur.com/AVtWtrM.png) ![](https://i.imgur.com/hGJUYbe.png) ### Практическая работа №1.3 - Vim Прошла туториал по vim: ![](https://i.imgur.com/3mryzpH.png) v — режим обычного (посимвольного) визуального выделения перемещением курсора вверх, вниз, влево или вправо. ![](https://i.imgur.com/z5eRlVh.png) V — режим построчного визуального выделения. Строки выделяются целиком перемещением вверх или вниз. ![](https://i.imgur.com/gsddwZr.png) [ctrl]-v — режим блочного визуального выделения. ![](https://i.imgur.com/ywdcWqT.png) / - поиск текста. ![](https://i.imgur.com/SxcqI61.png) ![](https://i.imgur.com/BBcbuLB.png) ![](https://i.imgur.com/ln3SoA3.png) Удаление текста. - x — удалить символ на позиции курсора - d — удалить в заданном командой перемещения направлении. Например, “dl” удаляет один символ справа - dd — удалить строку - D — удалить все символы от положения курсора до окончания строки - Замена текста - r — заменить символ на позиции курсора заданным после команды символом - c — заменить в заданном командой перемещения направлении. Например, “cb” заменяет предыдущее слово. Для набора текста на замену запускается режим вставки. - C — заменить до окончания строки. Текст на замену набирается в режиме вставки. ![](https://i.imgur.com/RMWBnE5.png) Копирование и вставка. - y — копировать в заданном далее направлении - yy — копировать всю строку - Y — копировать до окончания строки - p — вставить последнюю скопированную (или удаленную!) строку ниже текущей - P — вставить последнюю скопированную (или удаленную!) строку выше текущей ![](https://i.imgur.com/e7SkxLw.png) Команды управления. - :q — выход из программы. Действие не будет выполнена, если не сохранить изменения - :q! — выход из программы с отменой всех изменений, которые не были сохранены - :w — сохранить изменения. При первичном сохранении или сохранении в другой файл укажите имя через пробел - :e — редактировать указанный далее файл - :bn — редактировать следующий файл (если открыто несколько файлов) - :bp — редактировать предыдущий файл (если открыто несколько файлов) - :qw – сохранить файл и выйти ![](https://i.imgur.com/bQuyd7s.png)