Командная строка — это текстовый интерфейс, который позволяет пользователю взаимодействовать с операционной системой посредством ввода команд. Команды вводятся в виде текста и обрабатываются операционной системой. В командной строке можно выполнить множество операций, включая настройку системы, управление файлами и папками, установку программ и многое другое.
Графический интерфейс, напротив, представляет собой визуальную среду, в которой пользователь взаимодействует с операционной системой с помощью графических элементов. Главным преимуществом графического интерфейса является простота использования. Для выполнения операций пользователь может использовать указатель мыши и клавиатуру, а не вводить команды вручную.
Основное отличие между командной строкой и графическим интерфейсом заключается в способе взаимодействия с системой. В командной строке пользователь должен знать и вводить соответствующие команды, что требует определенных навыков и знаний. Графический интерфейс предлагает более простой и удобный способ взаимодействия с системой, привлекая пользователей, не имеющих специальных навыков или опыта работы с командами.
Однако, несмотря на простоту использования, графический интерфейс имеет свои недостатки. Во-первых, использование графического интерфейса требует значительных ресурсов системы, что может замедлить ее работу. Во-вторых, графический интерфейс имеет ограниченные возможности по сравнению с командной строкой. В командной строке можно выполнить более широкий спектр операций и настроек, чем в графическом интерфейсе. В-третьих графические интерфейсы могут быть разными. Для Linux существует много Window Manager и Desktop Environment и привыкнув работать в чём-то одном вы будите сталкиваться с трудностями при необходимости использовать что-то другое. А командная строка везде одинаковая.
Таким образом, как командная строка, так и графический интерфейс имеют свои преимущества и недостатки. Преимущество командной строки заключается в мощности, гибкости и универсальности, а преимущество графического интерфейса — в простоте использования. Пользователи Linux могут выбрать наиболее подходящий для своих нужд вариант взаимодействия с системой.
Осваивая Linux вам так или иначе придётся столкнуться с необходимостью работы в командной строке. Всё что можно сделать в графическом интерфейсе можно сделать и в командной строке, но не наоборот.
Основные linux-команды.
Клавиша <Tab> при нажатии автоматически дополняет команды и пути. Клавиша ⇑ проматывает историю введённых команд.
man man
man — доступ к системным справочным страницам. По каждой команде с помощью man можно посмотреть подробную справку. man ls, man pwd, и т.д.
apt
Advanced Package Tool — это специальная надстройка на интерфейс командной строки, позволяющая удобно работать с системой управления пакетами dpkg в дистрибутивах linux на основе Debian. А именно — искать их, скачивать, обновлять, удалять и т.п.
apt update
Обновление базы данных доступных пакетов.
apt upgrade
Обновление пакетов.
apt search <имя_или_описание_пакета>
Поиск пакетов на основе имени или описания.
apt install <имя_пакета>
Установка пакета.
apt remove <имя_пакета>
Удаляет все двоичные файлы пакета, но сохраняет файлы с настройками.
apt purge <имя_пакета>
Удаляет и сам пакет, и его файлы настроек.
Работа с файлами и каталогами.
pwd
Выводит путь текущего каталога.
cd /путь/до/каталога
Изменяет текущий каталог.
ls
Выводит содержимое текущего или указанного каталога. ls -l расширенный показ информации.
mkdir /путь/до/каталога
Создаёт указанный каталог. Для рекурсивного (вместе со свеми вложенными если они отсутствуют) создания каталога mkdir -p /путь/до/каталога
cp /путь/до/источника /путь/до/приёмника
Скопировать файл. (Или каталог cp -r /путь/до/источника /путь/до/приёмника)
mv /путь/до/источника /путь/до/приёмника
Перенести файл или каталог.
cat /путь/до/файла
Выводит в терминал содержимое указанного файла.
touch /путь/до/файла
Создать пустой файл.
truncate -s 0 /путь/до/файла
Усечь файл до указанного размера байт.
rm /путь/до/файла
Удалить файл. Или каталог rm -r /путь/до/каталога
Файловые операции можно выполнять с помощью программы с псевдографическим интерфейсом Midnight Commander.
apt install mc
Изменение прав.
chown user:group /путь/до/файла
chown -R user:group /путь/до/каталога
Изменить владельца файла или папки.
chmod 744 /путь/до/файла
Изменить права на файл.
Права меняются для владельца, группы и всех остальных.
0 — никаких прав;
1 — только выполнение;
2 — только запись;
3 — выполнение и запись;
4 — только чтение;
5 — чтение и выполнение;
6 — чтение и запись;
7 — чтение запись и выполнение
744 — для владельца чтение запись и выполнение, для группы только чтение, для остальных только чтение.
df -H
Показывает все смонтированные файловые системы и свободное\занятое место на них.
du -sh /путь/до/каталога
Размер каталога GB.
Работа с сетью.
ip addr
Выводит все сетевые адаптеры, показывает их IP и MAC адреса.
ip ro
Выводит таблицу маршрутизации.
arp-scan -l -I <интерфейс>
Сканирует локальную подсеть на указанном интерфейсе и выводит IP и MAC адреса хостов online в локальной подсети.
nmap <IP>
Сканирует указанный IP или диспазон IP и выводит хосты online, MAC адреса, открытые порты.
iftop -i <интерфейс>
Показывает соединения на интерфейсе в реальном времени. Можно указывать фильтры
iftop -i <интерфейс> -f "proto TCP"
iftop -i <интерфейс> -f "proto UDP"
iftop -i <интерфейс> -f "src host IP"
iftop -i <интерфейс> -f "dst host IP"
iftop -i <интерфейс> -f "dst host IP and proto TCP"
и т.д.
tor-resolve host.name
Служба tor-dns возвращает IP запрошенного имени хоста в интернте.
ping IP_host.name
Отсылает на удалённый IP ICMP пакеты, показывает доступность и скорость соединения.
mtr IP_host.name
Отсылает на удалённый IP ICMP пакеты, показывает промежуточные маршрутизаторы до удалённого IP, время ответа, % потери пакетов. Если они настроны давать ответ и TTL на шлюзе не фиксирован.
Разные полезные команды.
htop
Удобная программа с псевдографическим интерфейсом, показывающая загрузку процессора, используемую память, скорость сети, число обращений к файловым системам, запущенные процессы и инфоормацию о них.
qalc
Удобный быстрый калькулятор в командной строке.
nano /путь/до/файла
Простой в освоении текстовый редактор для правки конфигурационных файлов.
<Ctrl>+<S> сохранить файл
<Ctrl>+<X> выйти из редактора.
sudo <команда>
Выполнить команду от пользователя root.
systemctl <команда> <сервис>
Управление фоновыми службами systemd. start запустить, restart перезапустить, stop остановить, enable автозапуск при загрузке системы, disable отмена автозапуска. list-units просмотр доступных служб и их состояния.
lsblk
Выводит сведения о блочных устройствах, блочные устройства в основном представляют собой файлы, которые представляют устройства, подключенные к компьютеру.
dd if=[откуда копировать] of=[куда копировать] параметры
Программа для побайтивого копирования. Используется для создания резервных копий файловых систем, записи образов и т.п.
Основные параметры:
● «bs» ― количество байт, которые будут читаться и записываться за один раз.
● «cbs» ― число байт, записываемых за один раз.
● «count» ― число скопированных блоков. Размер блока прописывается в опции «bs».
● «ibs» ― чтение определенного числа байт за 1 раз.
● «obs» ― записывание определенного числа байт за 1 раз.
● «seek» ― пропуск определенного числа байт в самом начале устройства во время чтения.
● «skip» ― пропуск определенного числа байт в самом начале при выводе.
● «status» ― подробность вывода.
● «iflag», «oflag» ― создание дополнительных флагов, которые нужны для ввода или вывода.
Пример dd if=/путь/до/tails-amd64-6.4.img of=/dev/sdb bs=1M status=progress conv=fsync
Перенаправление вывода.
ls /путь/до/каталога | grep <выражение>
Выводит список файлов в каталоге имя которых содержит указанное выражение.
ls /путь/до/каталога | grep <выражение> > /путь/до/файла
Выводит в файл список файлов в каталоге имя которых содержит указанное выражение.