Основные SSH команды

ssh-1899409

30 сентября 2019 Разное CentOS

В продолжении статьи Как подключиться к серверу по SSH приведу список основных команд, которые вам понадобятся в работе. Вы сможете перемещаться по папкам, перезагрузить веб-сервер, сделать бэкап нужных файлов и многое другое в операционной системе CentOS.

Самые нужные команды SSH

Обычно мне требуются команды для перезагрузки веб-сервера в данном случае Apache и создание резервных копий каких-то файлов и папок. Вот эти команды:

service httpd start — запуск сервера
service httpd stop — остановка сервера
service httpd restart — перезапуск сервера

Резервное копирование файлов:

tar -vzcf backup.tar.gz /var/www — папка www архивируется в backup.tar.gz

Если вам необходимо сделать резервную копию и исключить из неё какие-либо папки добавьте в команду --exclude=имя. В данном примере исключается файл backup.tar.gz и папка /test

tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --exclude=/test /var/www

Бэкап базы данных MySQL:

mysqldump -h 192.168.1.1 -u пользователь -pпароль имя_базы > backup.sql

Так же часто возникает необходимость посмотреть конфигурацию сервера и оставшееся место на жестком диске:

cat /proc/meminfo — ОЗУ
cat /proc/cpuinfo — CPU
fdisk -l — HDD

Список базовых команд CentOS

Файлы и папки

ls – список файлов и каталогов
ls -al – форматированный список со скрытыми каталогами и файлами

cd dir – сменить директорию на dir

cd – сменить на домашний каталог
pwd – показать текущий каталог
mkdir dir – создать каталог dir
rm file – удалить file
rm -r dir – удалить каталог dir
rm -f file – удалить форсированно file
rm -rf dir – удалить форсированно каталог dir *
cp file1 file2 – скопировать file1 в file2
cp -r dir1 dir2 – скопировать dir1 в dir2; создаст каталог dir2, если он не существует

mv file1 file2 – переименовать или переместить file1

в file2. если file2 существующий каталог – переместить file1 в каталог file2

ln -s file link – создать символическую ссылку link к

файлу file

touch file – создать file

cat > file – направить стандартный ввод в file
more file – вывести содержимое file
head file – вывести первые 10 строк file
tail file – вывести последние 10 строк file
tail -f file – вывести содержимое file по мере роста,
начинает с последних 10 строк

Управление процессами
ps – вывести ваши текущие активные процессы
top – показать все запущенные процессы
kill pid – убить процесс с id pid
killall proc – убить все процессы с именем proc *
bg – список остановленных и фоновых задач; продолжить выполнение остановленной задачи в фоне

fg – выносит на передний план последние задачи

fg n – вынести задачу n на передний план

Права доступа на файлы
chmod octal file – сменить права file на octal, раздельно для пользователя, группы и для всех добавлением: ● 4 – чтение (r) ● 2 – запись (w) ● 1 – исполнение (x) Примеры:

chmod 777 – чтение, запись, исполнение для всех

chmod 755 – rwx для владельца, rx для группы и остальных.

Дополнительные опции: man chmod.

SSH
ssh user@host – подключится к host как user
ssh -p port user@host – подключится к host на порт port как user

ssh-copy-id user@host – добавить ваш ключ на host

для user чтобы включить логин без пароля и по ключам

Поиск
grep pattern files – искать pattern в files
grep -r pattern dir – искать рекурсивно pattern в dir
command | grep pattern – искать pattern в выводе command

locate file – найти все файлы с именем file

Системная информация
date – вывести текущую дату и время
cal – вывести календарь на текущий месяц
uptime – показать текущий аптайм
w – показать пользователей онлайн
whoami – имя, под которым вы залогинены
finger user – показать информацию о user
uname -a – показать информацию о ядре
cat /proc/cpuinfo – информация ЦПУ
cat /proc/meminfo – информация о памяти
man command – показать мануал для command
df – показать инф. о использовании дисков
du – вывести “вес” текущего каталога
free – использование памяти и swap
whereis app – возможное расположение программы app

which app – какая app будет запущена по умолчанию

Архивация
tar cf file.tar files – создать tar-архив с именем file.tar содержащий files

tar xf file.tar – распаковать file.tar

tar czf file.tar.gz files – создать архив tar с сжатием Gzip

tar xzf file.tar.gz – распаковать tar с Gzip

tar cjf file.tar.bz2 – создать архив tar с сжатием Bzip2

tar xjf file.tar.bz2 – распаковать tar с Bzip2

gzip file – сжать file и переименовать в file.gz
gzip -d file.gz – разжать file.gz в file

Сеть
ping host – пропинговать host и вывести результат
whois domain – получить информацию whois для domain

dig domain – получить DNS информацию domain

dig -x host – реверсивно искать host
wget file – скачать file
wget -c file – продолжить остановленную закачку

Установка пакетов Установка из исходников:

./configure

make
make install
dpkg -i pkg.deb – установить пакет (Debian)
rpm -Uvh pkg.rpm – установить пакет (RPM)

Клавиатурные сочетания Ctrl+C – завершить текущую команду Ctrl+Z – остановить текущую команду, продолжть с fg на переднем плане или bg в фоне Ctrl+D – разлогиниться, тоже самое, что и exit Ctrl+W – удалить одно слово в текущей строке Ctrl+U – удалить строку !! – повторить последнюю команду

exit – разлогиниться

Утилита Wget

Утилита Wget предназначена для скачивания файлов и сайтов.

Чтобы скачать любой файл при помощи этой утилиты необходимо ввести команду: wget http://site.ru/files/file.dat
Эта команда скачает файл file.dat в тот каталог, где эта команда была запущена.

wget -P /home/user http://site.ru/files/file.dat — сохранить скачанный файл в /home/user
wget -i /home/user/url.dat — скачать все ссылки, сохраненные в файле /home/user/url.dat
wget --user=login --password=password ftp://site.ru/files/file.dat — программа wget умеет автоматически подставлять логин и пароль при необходимости.
wget -b http://site.ru/files/file.dat — скачивание файла в фоновом режиме.

wget -c http://site.ru/files/file.dat — докачать ранее недокаченный файл

wget -r -l0 -k http://site.ru/ — скачать сайт с глубиной ссылок до 10

Информация о серверном железе и ПО

Версии ПО
cat /etc/issue — дистрибутив и версия
lsb_release -a — дистрибутив и версия
uname -r — версия ядра Linux
uname -a — полная информация о ядре
php -V — версия PHP
php -m — подключенные модули PHP
php -i — вывод phpinfo
apache2ctl -S — список доменов веб-сервера Apache2
apache2ctl -M — список модулей веб-сервера Apache2

Процессор
cat /proc/cpuinfo — все процессоры, частоты, флаги и многое другое
cat /proc/loadavg — средняя загрузка процессора за последние 1, 5, и 15 минут
top — при нажатии на клавишу C все процессы будут отсортированы по использованию CPU

Оперативная память
cat /proc/meminfo — количество RAM и swap, а так же сколько и чем расходуется
free -m — полный объем, использованный объем и объем свободной памяти в Mb
top — при нажатии на клавишу M все процессы будут отсортированы по использованию оперативной памяти

Жесткие диски
df -h — разделы в виде их точек монтирования и их заполненность в Gb
fdisk -l — все разделы, имена устройств и расположение на диске

Сеть
lspci | grep Ethernet — Ethernet контроллеры
ifconfig — сетевые интерфейсы, IP-адреса и многое другое

USB устройства
lsusb — шины USB и подключённые устройства

Другое
lshal -m — мониторинг за изменениями в оборудовании
lspci — все PCI-устройства
hwinfo –short — детальная информация по всему оборудованию (требуется пакет hwinfo)
uptime — время, прошедшее с момента последней перезагрузки, пользователи и средняя загрузка
dmidecode — инфо о БИОС и ОЗУ