Общие команды
Подключаемся к серверу по SSH
$ ssh -i {path_to_PEM_file} {user_name}@{IP_address}
Получаем рут права (многие серьезные команды требуют рут права)
$ sudo su
Просматриваем историю предыдущих команд
# history
Очищаем окно терминала от текста
# clear
Выходим из под юзера или из удаленного сервера
# exit
Работа с директориям
Перейти в директорию
# cd {folder_name}
На уровень выше
# cd ..
В домашнюю папку пользователя
# cd ~/
В самую корневую папку
# cd /
Показываем список папок и файлов (простой вывод)
# ls
Показываем список папок и файлов (с подробными деталями)
# ll
создаем новую папку
# mkdir
изменяем владельца файла или папки (рекурсивно)
# chown apache:apache /var/www/domain-web/ -R
изменяем права доступа к файлу или папке (рекурсивно)
# chmod 775 /var/www/domain-web/ -R
распечатываем текущий путь (к каталогу)
# pwd
поиск файлов или папок по шаблону названия
# find {template}
поиск текста по шаблону (в файлах)
# grep {template}
Пример поиска команды в истории по фильтру-шаблону
# history | grep {word_to_search}
Работаем с файлами
Выводим содержимое файла в консоль
# cat {file_path/file_name}
Выводим последние 100 строк (удобно если большой файл)
# tail -100 {file_name}
Смотрим изменения в файле в режиме реального времени
# tail -f {file_name}
редактируем файл, если файла нету — он создается
# nano {file_name}
CTRL+O — сохраняем изменения
CTRL+X — закрываем файл
очищаем файл (например, чтобы отредактировать с нуля) без его удаления
# echo '' > {file_name}
очищаем файл и сразу переходим к редактированию
# echo '' > {file_name} && nano {file_name}
удаляем файл или каталог (рекурсивно)
# rm -rf {file_name}
копируем файл (например, делаем бекап конфига перед редактированием)
# cp {file_path/file_name} {new_file_path/file_name}
Просмотр расписания cron (у каждого системного пользователя он свой)
# crontab -l
Редактирование расписания cron
# crontab -e
Тоже, но через nano редактор
EDITOR=nano crontab -e
Просматриваем статистику о системе
анализ свободного/занятого дискового пространства
# df -h
показывает размер файла или каталога
# du -chs {directory 1} {directory 2}
показывает размер каталогов (или файлов), в том числе скрытых, с сортировкой по размеру
# du -chs .[!.]* * | sort -h
Просмотр информации о ресурсах операционной системы и запущенных процессах
# top
Тоже что top, но более интерактивно
# htop
Сервисы
Просмотр всех сервисов и их статусов
# service --status-all
Статус, старт, рестарт и стоп сервиса
# service nginx status
# service php-fpm start
# service redis-server restart
# service searchd stop
Бонус — команды посложнее
Выводим список с детальной информацией о процессах системы, которые в названии имею строчку «php»
ps aux | grep "php"
Подключится к mysql серверу
mysql -u {user_name} -p -h {server_name}
количество соединений к серверу с группировкой по статусам
# ss -tan | awk '{print $1}' | sort | uniq -c
количество соединений к серверу с группировкой по статусам — в реальном времени
# watch -n1 'ss -tan | awk '\''{print $1}'\'' | sort | uniq -c'