Перейти к содержанию

Linux #1

В Linux ты общаешься с системой через эмулятор терминала. Внутри него работает оболочка (shell). Самые популярные: Bash, Zsh и Fish.

  • Для новичка команды в них на 99% одинаковые.
  • Разница лишь в файлах конфигурации (.bashrc, .zshrc или config.fish) и плюшках вроде автоподсветки.

1. Навигация (Где я?)

Прежде чем что-то ломать, пойми, где ты находишься. В Linux нет дисков C:\ или D:\. Есть один корень /, а всё остальное — папки внутри него.

Твоя зона комфорта — Домашняя папка (~).

Команда Расшифровка Что делает
pwd Print Working Directory Показывает полный путь: «Где я сейчас?»
ls List Показывает файлы в текущей папке
ls -la List All Показывает всё, включая скрытые файлы (начинаются с точки) и права
cd папка Change Directory Зайти в папку
cd .. Выйти на уровень назад (в родительскую папку)
cd ~ Телепорт домой (в твою личную папку /home/user)

2. Горячие клавиши

Клавиша Что делает
Tab Главное оружие. Допишет название файла или команды. Два раза — покажет варианты
↑ / ↓ Листать историю команд. Не набирай одно и то же по 10 раз
Ctrl + C Аварийный тормоз — убить текущий процесс
Ctrl + L Очистить экран (аналог clear)

3. Управление файлами

Как создавать и удалять файлы без мышки.

В терминале нет корзины!

Команда rm стирает файлы моментально и навсегда. Восстановить практически невозможно. Думай, прежде чем жать Enter.

Команда Пример Описание
mkdir mkdir Games Создать папку
touch touch log.txt Создать пустой файл (или обновить время существующего)
cp cp file1.txt file2.txt Скопировать файл
cp -r cp -r folder1 folder2 Скопировать папку (ключ -r обязателен для папок)
mv mv file.txt new_name.txt Два в одном: Переместить файл ИЛИ переименовать его
rm rm trash.txt Удалить файл
rm -rf rm -rf Games Удалить папку со всем содержимым (r — рекурсивно, f — без вопросов)

4. Просмотр файлов

Как читать содержимое файлов не открывая редактор — особенно полезно для логов и конфигов.

Команда Пример Описание
cat cat config.txt Вывести весь файл в терминал
less less big_log.txt Открыть файл постранично (листать стрелками, выход — q)
head head -n 20 log.txt Показать первые N строк файла
tail tail -n 20 log.txt Показать последние N строк файла
tail -f tail -f app.log Следить за файлом в реальном времени — обновляется на лету

tail -f — лучший друг при дебаге

Запусти tail -f на лог-файл своего приложения и смотри что происходит в реальном времени.


5. Права суперпользователя (sudo)

В Linux ты по умолчанию — обычный юзер. Ты не можешь ставить софт или лезть в системные файлы. Это защита от дурака.

sudo (SuperUser DO) — это приставка, которая говорит: «Я админ, дай права».

1
sudo pacman -Syu

Паника с паролем

Когда вводишь пароль после sudoкурсор не двигается, символы не появляются. Это защита от подглядывания. Просто вводи пароль вслепую и жми Enter.


6. Установка софта (Pacman)

В Arch-based дистрибутивах царь и бог — pacman. Не качай .exe или установщики из интернета, всё есть в репозиториях.

1
2
3
sudo pacman -S firefox       # Установить (S — sync)
sudo pacman -Syu             # Обновить ВСЮ систему (делать перед любой установкой)
sudo pacman -Rns firefox     # Удалить программу вместе с зависимостями и конфигами

7. AUR и хелперы (Paru)

В официальном репозитории есть не всё (например, там нет Spotify или VS Code). Всё остальное лежит в AUR (Arch User Repository) — репозиторий, который ведут сами пользователи.

pacman не умеет работать с AUR. Нужен AUR-хелпер. Лучший вариант сейчас — paru.

Установка paru (делается один раз):

1
2
3
4
sudo pacman -S --needed base-devel git
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si

Как пользоваться:

1
2
paru -S google-chrome   # Найдёт и установит из AUR
paru                    # Обновит и официальные пакеты, и AUR

sudo не нужен

paru сам спросит пароль когда нужно. Не пиши sudo paru.


8. Управление службами (Systemd)

Службы — это фоновые процессы (Bluetooth, Wi-Fi, драйверы). Ими рулит systemctl.

1
2
3
4
5
sudo systemctl start bluetooth        # Запустить прямо сейчас
sudo systemctl enable bluetooth       # Добавить в автозагрузку
sudo systemctl enable --now bluetooth # Запустить + автозагрузка сразу
sudo systemctl stop bluetooth         # Остановить
systemctl status bluetooth            # Проверить состояние

9. Сеть

Базовые команды чтобы разобраться с сетью.

Команда Что делает
ip a Показать все сетевые интерфейсы и IP-адреса
ping google.com Проверить есть ли интернет (остановить — Ctrl + C)
curl ifconfig.me Узнать внешний IP
ss -tulnp Показать какие порты слушаются в системе