Командная строка
Факультет: информатика
Пререквизиты: -
Постреквизиты: -
Преподаватель: Лев Д.
Силлабус
Ссылка:
Урок 1
В этом уроке будут рассмотрены первые шаги в консоли на системе[[1]] (дистрибутив Linux[[2]] ориентированный на продвинутое домашнее и общее использование).
1) Первым делом вам потребуется открыть терминал (он же консоль или командная строка). Для этого в зависимости от вашего окружения рабочего стола вам потребуется найти иконку на панели задач или в меню поиска (её внешний вид может отличатся в зависимости от темы, при затруднении лучше всего просто написать «терминал» в окно поиска).
В системе Fedora используется пакетный менеджер dnf. Это программа которая отвечает за установку всех других программ, библиотек и нужных им файлов. Главный бро в вашей системе.
Для того что бы «познакомится» с этой программой и узнать все её возможности напишем:
dnf —help
Этой командой мы говорим системе обратится к программе dnf и даём указание --help (это популярный и стандартизированный ключ используемый в большинстве программ) который выводит нам краткий перечень всех используемых программой ключей и описание того что они делают.
В видео kurs1.mkv
показан вывод программы
Урок 2
Прочитав описание программы dnf можно узнать что установка других программ выполняется с помощью ключа install и следующего далее названия другой программы которую пользователь желает установить.
Зачем это делать через консоль когда то же самое можно сделать через окно с графическим интерфейсом где можно просто тыкать кнопочки и не надо ничего писать? Да, обычно для пользователя графический интерфейс удобнее, но он ограничивает, вот представти то вы поставили систему на новый компьютер и вам необходимо поставить на него все те же программы что и на старом компьютере. Это можно сделать вручную запуская установщик каждой программы отдельно… но если программ 100? 1000? это будет…. Долго. Консоль же позволяет просто написать название всех ваших программ и нажать enter, после чего все они установятся автоматически не заставляя вас часами сидеть и делать всё руками. Думай как программист — будь лентяем.
Пример графического интерфейса установки.
В видео kurs2
показана установка программы screenfetch (для отображения кратких сведений о системе.)
полная команда выглядит так:
dnf install screenfetch
Урок 3
Отчистим экран консоли с помощью команды:
clear
и весь вывод программ будет стёрт, но это не отменит их. Вернутся к прошлым командам модно нажимая стрелочки, стрелка в верх — к предыдущим командам, вниз — к последним введённым.
Результат должен быть как в видео kurs3
.
Урок 4
При установке программ они размазываются частями по всей системе, иконки и значки — в одно место, исполняемые файлы — в другое, файлы и настройки пользователя — в третье. Удаляя всё вручную легко забыть или наоборот снести лишнего. Особенно стоит помнить что многие программы опираются на общие библиотеки (подпрограммы или части кода которые могут быть едиными для множества программ, это позволяет экономить место на компьютере, а так же экономит время и нервы кодера) и если удалить у одной программы библиотеку которая в зависимостях у других программ — можно поломать и их тоже. Что бы избежать такого исхода используется:
dnf autoremove имя_удаляемой_программы
Результат на видео kurs4
, видно что после удаления screenfetch система больше не может найти эту программу, а так же то что была удалена программа scrot из зависимостей так как не использовалась никакой другой программой.
Урок 5
Задание на самостоятельное изучение: 1) установить htop и sl (подсказка: можно устанавливать сразу несколько программ просто введя их последовательно через пробел после ключа install) 2) обновить систему с помощью dnf (подсказка: смотри —help по dnf)
Программа для мониторинга состояния системы в реальном времени — htop, для пользователей виндовс он может быть как замена диспетчера задач.
На скриншоте виден псевдографический интерфейс. В верхней части программы располагается информация о загруженности ядер процессора системы.
В нижней части выводятся процессы:
- первый столбец — PID – уникальный айди процесса в системе.
- второй — пользователь от имени которого запущена программа
тут видно множество пользователей, у каждого свой доступ к системе, у администратора компьютера — максимальный, а программы могут быть ограничены на чтение диска, на использование переферийных устройств и другого.
Это значительно повышает безопасность и надёжность системы, самое банальное — вирусная программа не сможет сама себя запустить, потому что нет доступа.
- далее следуют столбцы отвечающие за распределение ресурсов таких как память, виртуальная память, диск, использование процессора, нагрузка на сеть и другое.
- столбец TIME как не трудно догадаться — отвечает за время сколько запущенна программа.
- последний столбец COMMAND это полное наименование программы с адресом её на диске и со всеми ключами и параметрами.
В самом же низу подписаны горячие клавиши от F1 до F10. - F1 – знакомая уже нам помощь по программе которая для удобства пользователя выведена кнопкой на экран - F9 – убить процесс — экстренно завершит программу без сохранений - F10 — выход из htop.
Урок 6
Программа ls – это маленькая консольная утилита которая выводит в текстовом виде содержимое директории (папки из виндовс).
Задание: выяснить возможности ls с помощью --help
Синтаксис очень прост, вы набираете саму команду, а после нее путь к папке, содержимое которой хотите посмотреть. Если вы запустите команду без пути, то она выдаст содержимое текущего каталога:
$ ls опции /путь/к/папке
Опции команды указывают как именно и в каком виде нужно выводить информацию на экран, а путь, это та папка, которую нужно отобразить. Рассмотрим основные опции утилиты:
• -a - отображать все файлы, включая скрытые, это те, перед именем которых стоит точка; • -A - не отображать ссылку на текущую папку и корневую папку . и ..; • --author - выводить создателя файла в режиме подробного списка; • -b - выводить Escape последовательности вместо непечатаемых символов; • --block-size - выводить размер каталога или файла в определенной единице измерения, например, мегабайтах, гигабайтах или килобайтах; • -B - не выводить резервные копии, их имена начинаются с ~; • -c - сортировать файлы по времени модификации или создания, сначала будут выведены новые файлы; • -C - выводить колонками; • --color - включить цветной режим вывода, автоматически активирована во многих дистрибутивах; • -d - выводить только директории, без их содержимого, полезно при рекурсивном выводе; • -D - использовать режим вывода, совместимый с Emacs; • -f - не сортировать; • -F - показывать тип объекта, к каждому объекту будет добавлен один из специализированных символов */=>@|; • --full-time - показывать подробную информацию, плюс вся информация о времени в формате ISO; • -g - показывать подробную информацию, но кроме владельца файла; • --group-directories-first - сначала отображать директории, а уже потом файлы; • -G - не выводить имена групп; • -h - выводить размеры папок в удобном для чтения формате; • -H - открывать символические ссылки при рекурсивном использовании; • --hide - не отображать файлы, которые начинаются с указанного символа; • -i - отображать номер индекса inode, в которой хранится этот файл; • -l - выводить подробный список, в котором будет отображаться владелец, группа, дата создания, размер и другие параметры; • -L - для символических ссылок отображать информацию о файле, на который они ссылаются; • -m - разделять элементы списка запятой; • -n - выводить UID и GID вместо имени и группы пользователя; • -N - выводить имена как есть, не обрабатывать контролирующие последовательности; • -Q - брать имена папок и файлов в кавычки; • -r - обратный порядок сортировки; • -R - рекурсивно отображать содержимое поддиректорий; • -s - выводить размер файла в блоках; • -S - сортировать по размеру, сначала большие; • -t - сортировать по времени последней модификации; • -u - сортировать по времени последнего доступа; • -U - не сортировать; • -X - сортировать по алфавиту; • -Z - отображать информацию о расширениях SELinux; • -1 - отображать один файл на одну строку.
Это были все основные параметры команды ls, которые нам может когда-либо понадобиться использовать.
== Экзамен ==
Задание экзамена: самостоятельно добавить сторонний репозиторий и установить пакеты из него