Если Linux — это первый опыт работы с командной строкой, десяток команд покроет 80% повседневных задач в терминале. Вот они с объяснением и примерами.
pwd — где я сейчас
Print Working Directory — показывает полный путь к текущей директории.
pwd
# /home/username
ls — что здесь есть
Список файлов и директорий. С ключами:
ls # простой список
ls -l # подробно: права, размер, дата
ls -la # включая скрытые файлы (начинаются с точки)
ls -lh # размер в человекочитаемом виде (KB, MB)
cd — переместиться
Change Directory:
cd /etc # перейти по абсолютному пути
cd Documents # в подпапку текущей директории
cd .. # на уровень выше
cd ~ # домашняя директория пользователя
cd - # вернуться к предыдущей директории
mkdir — создать папку
mkdir backups # создать папку
mkdir -p a/b/c # создать дерево папок (не ругается если уже существует)
cp и mv — скопировать и переместить
cp file.txt /tmp/ # скопировать файл
cp -r folder/ /tmp/ # скопировать директорию рекурсивно
mv file.txt newname.txt # переименовать
mv file.txt /tmp/ # переместить
rm — удалить
Внимание: Удаление через rm необратимо — корзины нет. Проверьте путь до нажатия Enter.
rm file.txt # удалить файл
rm -r folder/ # удалить директорию со всем содержимым
cat — посмотреть содержимое файла
cat /etc/hostname # вывести содержимое файла
cat -n file.txt # с номерами строк
Совет: Для больших файлов используйте
less file.txt — с постраничной прокруткой. Выход: q.sudo — выполнить с правами администратора
Большинство системных команд требуют прав root. sudo запускает команду с повышенными правами:
sudo apt update # обновить список пакетов
sudo systemctl restart nginx # перезапустить сервис
Примечание: sudo попросит пароль вашего пользователя (не root). Пароль при вводе не отображается — это нормально.
man — справка по команде
man ls # подробная документация команды ls
man cp # справка по cp
Выход из man: клавиша q. Поиск в справке: /слово.
grep — поиск по тексту
grep error /var/log/syslog # найти строки со словом error
grep -i error /var/log/syslog # без учёта регистра
grep -rn "listen" /etc/nginx/ # рекурсивно в директории, с номерами строк
Итог
Этих десяти команд хватит для навигации по файловой системе, базовой работы с файлами и чтения логов. Следующий уровень — перенаправление вывода (|, >), переменные и написание простых bash-скриптов.