Наилучшим способом освоить что-то является практика. Используя метод научного тыка мы не можем рассчитывать на то, что с первого раза всё получится как и было задумано. Но, даже если оно нам не удалось, мы уже будем знать, как это делать не следует. Мы сможем понять, почему не получилось, и исправить свои ошибки. И так постепенно мы сможем научиться тому, что нам надо, чтобы сделать всё правильно, так как нужно.
(С) Балабоба, нейросеть Яндекса.
Интерфейс командной строки предоставляется специальной программой-оболочкой bash, а взаимодействие с ней из GNOME осуществляется через ещё одну программу - эмулятор терминала GNOME Terminal. Её можно найти, нажав клавишу с окошками (между Ctrl и Alt, в Linux она называется Super) и вбив в строке поиска gnome-terminal. Однако, для быстрого запуска, удобнее использовать сочетание клавиш Ctrl+Alt+t
После запуска в окне терминала появляется приглашение к вводу, заканчивающееся значком $, если запуск осуществлён с правами обычного пользователя, или #, если с правами суперпользователя (root). Когда есть приглашение, можно начинать командовать.
Bash имеет встроенные команды, список которых выводится с помощью команды help. Как команды могут запускаться и программы, расположенные в каталоге /bin (и других). Их список можно просмотреть с помощью команды ls /bin. А также из командной строки могут быть запущены сценарии, написанные на языке bash и псевдонимы (alias)- самостоятельно сконструированные команды из других команд.
Получить справку о той или иной встроенной команде можно напечатав её после команды help, например: help cd. Тоже самое для программ можно сделать с помощью другой команды - man, например man ls. Вывод этих команд может быть довольно подробным. Если нужно получить краткое описание, лучше использовать команду whatis. Ещё есть команда apropos, которая выводит список команд имеющих отношение к какому-либо термину, например apropos user.
Обычно первым словом в строке является команда - ls, help и т.д. Далее через пробел указываются аргументы (то, на что воздействует команда).
В дополнение к командам могут указываться параметры и подстановочные символы. Они позволяют точнее задать, что требуется сделать. Например команда ls -all /etc выдаст более подробную информацию, чем просто ls /etc, благодаря параметру -all (параметры начинаются со знака -). Или ls /etc/*.conf - выдаст не всю информацию о содержимом каталога /etc, а только о файлах, заканчивающихся на .conf (* - подставной символ, означающий любое значение).
Основные команды Linux можно объединить в группы по их предназначению. Отсюда можно заиметь примерный список приоритетов для последующего научного тыка.
Для работы с файлами:
- apt, apt-get, snap, dpkg, установка и управление пакетами программ
- cat, просмотр, редактирование и объединение текстовых файлов
- cd, смена текущего каталога
- cp, копирование
- chmod, установка режима доступа
- chown, изменение владельца
- chgrp, изменение группы файла
- du, узнать размер
- dif, построчное сравнение файлов
- find, locate, поиск
- file, узнать тип
- grep, поиск строк в файлах по заданному шаблону
- ls, ll просмотр информации о файлах и каталогах
- less, постраничный просмотр содержимого файла
- ln, создание ссылки
- mkdir, создание каталога
- mv, перемещение
- nano, редактирование текстовых файлов
- pwd, показывает путь к текущему каталогу
- rm, удаление
- touch, создание файла
- umask, установка маски доступа к файлу
- tree, показывает структуру всех каталогов, доступных системе
- zip, unzip - архивирование и разархивирование
Для управления процессами:
- top, ps, pstree, вывод информации о процессах
- kill, pkill, killall, завершение процесса
- time, время выполнения процесса
- jobs, вывод списка активных заданий
- bg, перевод задания в фоновый режим
- fg, перевод задания из фонового в активный режим
- systemctl, управление службами (программами, работящими в фоновом режиме)
Для управления пользователями:
- users, список учётных записей
- useradd, adduser добавить
- userdel, deluser удалить
- usermod, изменить
- passwd, задать пароль
- groups, вывод групп, в которых находится пользователь
- groupadd, добавление группы
- groupmod, изменение группы
- groupdel, удаление группы
- gpasswd, удаление из группы
- id, вывод числового идентификатора
- su, запуск командной оболочки от имени другого пользователя
- sudo, выполнение команды от имени суперпользователя
- gksudo, запуск графической программы от имени суперпользователя
Для работы с сетью:
- ping, отправить тестовые запросы по протоколу ICMP для проверки связи
- traceroute, показать маршрут движения пакетов по указанному адресу
- netstat, вывести список сетевых соединений
- ftp,lftp, передача файлов по протоколу FTP
- wget, загрузка файла из Интернет
- ssh, удалённый вход в систему средствами OpenSSH
- scp, sftp, передача файлов по защищённому каналу
- ip, ifconfig настройка сети
- tcpdump, захват пакетов сети
- nslookup, получение доменного имени и IP-адреса
- iwlist, поиск беспроводных точек доступа
- route, просмотр таблицы маршрутизации
Для работы с системой
- df, показать сколько места на диске
- free, показать сколько оперативной памяти
- clear, очистить окно терминала
- history, показать недавно введённые команды
- mount, смонтировать файловую систему
- umount, размонтировать файловую систему
- fdisk, редактировать таблицу разделов диска
- fsck, проверить файловую систему и исправить ошибки
- mkfs, создать файловую систему
- dd, поблочно записать данные на устройство
- genisoimage, создаёт файл образа в формате ISO 9660
- whereis, показать где находится программа
- logout, выйти из системы
- reboot, перезагрузить компьютер
- shutdown, завершение работы с системой
- dmidecode, вывести информацию об аппаратной части системы
- hdparm, просмотр и настройка параметров жёстких дисков
- lspci, вывести информацию о всех устройствах на PCI-шине
- lsusb, вывести информацию о всесх устройствах на USB шине
- lshw, вывести информацию об аппаратной конфигурации системы
- dmesg, вывод буфера сообщений ядра