Самые нужные и полезные SSH-команды Linux

21 мая 2014
Admin
1993
0

В статье приведен список команд и описаний, которые ДОЛЖЕН ЗНАТЬ каждый пользователь или администратор VDS (VPS) или выделенного (dedicated)  сервера, либо же пользователь домашнего настольного компьютера, в случае с настольным компьютером  это уже не так необходимо, как раньше, когда Linux даже на настольном компьютере управлялся в основном из консоли.

Все команды подходят для практически любого дистрибутива Linux будь это Debian, Ubuntu, RedHat, CentOS, Linux Mint или другие дистрибутивы. Хотя чаще всего для серверного оборудования используется Linux CentOS.

БЫСТРАЯ НАВИГАЦИЯ ПО КОМАНДАМ

Общие команды Linux

date MMDDhhmmCCYY.ss — Настройка даты и времени на вашем сервере или компьютере. MM — месяц, DD — день месяца, hh — часы, mm — минуты, CCYY — 4 цифры года, ss — секунды;

uname -a — Команда выводит на экран версию ядра Linux;

man hier — Команда выводит на экран описание иерархии файловой системы (для чего нужна каждая директория в linux);

clear — Команда выполняет очищение экрана терминала;

date — Команда выводит на экран текущую дату и время на сервере;

uptime — Команда выводит на экран текущее время и работу системы без перезагрузки и выключения;

hostname — Команда выводит на экран сетевое имя компьютера;

whois novall.net — Команда выводит на экран информацию о доменом имени Novall.net;

wget https://novall.net/wp-content/themes/made/images/novall_logo.png — Команда скачивает файл  в текущую папку;

!!  — Повторить последнюю команду;

history | tail -50 — Команда выводит на экран  последние 50 набранных команд из истории ввода вашего пользователя;

exit — Завершить сеанс текущего пользователя;

passwd — Изменить пароль текущего пользователя;

shutdown -h now — Выключить сервер, компьютер (требует права суперпользователя root);

reboot — Перезагрузить систему (требует права суперпользователя root);

last reboot — Команда выводит на экран cтатистику перезагрузок;

exim -bpc — Проверить очередь писем на почтовом агенте Exim:

exipick -i | xargs -i exim -Mrm {} — Команда для очистки очереди писем почтового агента Exim на вашем сервере

exim -bP | grep message_size_limit — Проверка лимитов по отправке писем для exim

cat /etc/*release* — Отобразить релиз версию ОС Linux CentOS

Работа с файлами и директориями

cd  — Команда перехода в директорию

pwd  — Вывести на экран текущий путь директории в которой находитесь;

ls — Вывести на экран список файлов и каталогов по порядку;

ls -laX — Вывести на экран форматированный список всех файлов и директорий, включая скрытые;

cd ~ — Перейти в домашнюю директорию пользователя;

cd /var/log — Перейти в директорию /var/log ;

touch /home/fayl2 — Создать пустой файл по адресу /home/fayl2 (название файла fayl2) ;

cat /home/fayl2 — Вывести на экран содержимое файла /home/fayl2 ;

tail /var/log/messages — Вывести на экран только конец файла. Лучше всего использовать при работе с логами и большими файлами;

nano /home/fayl2 — Редактировать файл /home/fayl2;

cp /home/novall/log_file.txt /home/log_file.txt — Команда скопирует файл по адресу /home/novall/log_file.txt в файл по адресу /home/log_file.txt;

mkdir /home/novall/vds — Создать директорию с именем vds;

rmdir /home/novall/vps — Удалить директорию с именем vps;

rm -rf /home/novall/dedicated — Команда безвозвратно удалит директорию dedicated со всеми вложенными фалами (ОСТОРОЖНО ИСПОЛЬЗУЙТЕ ЭТУ КОМАНДУ!);

cp -la /papka1 /papka2 — Команда скопирует директорию papka1 в директорию с именем papka2;

mv /papka1 /papka2 —  Команда для переименования файлов и папок;

du -sh /var/log/  — Вывод на экран размера заданной директории. Можно использовать для определения размера файлов. Нужная команда для пользователей VPS и DEDICATED для определения папок и файлов, которые занимают больше всего места;

locate my.cnf — Ищет все файлы с именем my.cnf;

grep -lR ‘novall.net’ * — Найти все файлы которые содержат текст «novall.net» в текущей директории;

rsync -av /source/novall/old/ root@novall.net:/destination/novall.net/ — Команда синхронизирует файлы и папки между источником и конечной папкой, можно выполнять как на локальной машине так и с подключением по ssh к удаленной машине, причем удаленная машина может быть, как источником с которого будут синхронизироваться файлы так и конечной папкой. Нужная команда при переносе данных;

wget -r —no-parent ftp://login:password@ftp.novall.net/my-archive/ — Скачать все файлы, папки и подпапки вглубь иерархии каталогов не поднимаясь выше;

Привилегии и права доступа

chmod 0777 /home/ — Команда изменяет права доступа для папки /home. Права 0777 – разрешение на чтение/запись/исполнение для всех групп;

chmod -R 0777 /log/ — Рекурсивно изменить права доступа к директории /log. 777 – разрешение на чтение/запись/исполнение для всех групп. Все вложенные директории и файлы будут иметь права 0777;

chown novall:novall /var//log/log_file.txt — Изменение владельца и группы только для файла /var/log/log_file.txt;

chown -R novall /dev/ — Изменение владельца для всего содержимого директории /dev;

chattr — Команда изменяет атрибуты файлов на файловых системах ext2fs, ext3, ext4 и частично на других файловых системах ОС Linux;

chattr +ai — Команда изменяет атрибуты файла, после выполнения команды в файл можно добавлять данные но не изменять те данные, что уже внесены в файл;

Команды для работы с архиватором TAR в Linux

tar cf archive.tar /home/archive.txt — Создать tar-архив с именем archive.tar содержащий /home/archive.txt;

tar czf archive.tar.gz /home/archive.txt — Cоздать tar-архив с сжатием Gzip по имени archive.tar.gz;

tar cjf archive.tar.bz2 /home/archive.txt — Cоздать tar-архив с сжатием Bzip2 по имени archive.tar.bz;

tar xf archive.tar — Распаковка архива archive.tar в текущую папку;

tar xzf archive.tar.gz — Распаковать архив с Gzip-сжатием;

tar xjf archive.tar.bz — Распаковать tar-архив с Bzip2-сжатием;

Команды для мониторинга работы системы и нагрузки сервера

Все показания команд выводятся на экран в реальном времени. Цифра после команды означает интервал между обновлением информации.

top — Информация о системе в реальном времени. Текущие процессы, потребление ОЗУ;

htop  — Более расширенная утилита для просмотра статистики о текущих процессах (требует дополнительной установки);

dmesg — Отображает log-файл загрузки ОС Linux и подключения новых устройств;

mpstat 1 — Отображает на экране расширенную статистику потребления ресурсов системы в процентах ( иногда необходима установка пакета sysstat);

vmstat 2 — Отображает расширенную статистику по использованию виртуальной памяти;

iostat 2 — Отображает расширенную статистику прерываний по устройствам;

free -mКоманда выводит информацию об используемой и свободной ОЗУ, Swap-файле (-m указывает, что отображать нужно в Мегабайтах);

Команды (утилиты) для мониторинга работы сети и трафика

iftop — утилита для просмотра трафика в реальном режиме;

tcpdump — утилита для полного и детального анализа сетевого трафика;

bmon — консольная утилита для мониторинга по определенным параметрам сетевых интерфейсов;

iptraf — мощная утилита для просмотра трафика на сетевых интерфейсах

netstat — утилита для просмотра портов, активных соединений и сокетов, примеры:

netstat -nlp 

Примеры команды tcpdump

tcpdump -npi eth0 port domain — Команда показывает в реальном времени на какой домен идут запросы чаще всего. Где eth0 — это имя вашего сетевого интерфейса;

tcpdump -n -i eth0 -s 0 -w output.txt dst port 80 and host novall.net— Соснифферить трафик идущий на домен к примеру novall.net и записать результат в файл output.txt;

 

Команды и утилиты для работы с процессами

У каждого процесса есть свой PID (уникальный код, номер)

ps axjf — Выводит на экран все загруженные процессы;

ps axufS — Выводит на экран все процессы с отображением иерархии процессов и родительских процессов;

pgrep -l httpd — Выводит на экран  PID определенного процесса – httpd;

echo $$ — Выводит на экран PID вашей оболочки;

fuser -va 21/tcp — Выводит на экран PID процесса использующий порт 21;

fuser -va /var — Выводит на экран PID процесса имеющего доступ к /var;

lsof /var — Выводит на экран список процессов, которые используют директорию /var;

killall 0 exim — Команда Выводит на экран текущее состояние процесса exim;

kill -9 5639 — Завершает процесс с PID 5639;

killall TERM 5649 — Команда посылает процессу с PID-ом 5649 сигнал TERM — завершить процесс;

killall HUP proftpd — Команда посылает процессу с именем proftpd сигнал HUP — остановить процесс;

fuser -k -TERM -m /var/log — Команда завершает все процессы имеющие доступ к папке /var/log;

pidof — Узнать PID запущенной программы по имени;

strace -p 10475 -o log.txt — Команда делает трассировку системных вызовов и сигналов. Это средство может пригодится для отладки веб сервера или запуска скриптов;

Ключ -o filename : отвечает за вывод трассировки в файл это полезно так как трассировочной информации может быть довольно много;

Ключ -p PID : позволяет прикрепить stack trace к процессу по его ID. Пример strace -p 10475;

pmap -d PID — Данная команда выводит информацию о распределении памяти между процессами. Эта команда позволит вам отыскать причину утечки памяти;

Примеры команд для работы с процессами

lsof -p — Команда с ключом «-p» позволяет посмотреть файлы к которым обращался процесс;

lsof -i 4 -a -p 12234 — Команда с ключом «-i» позволяет  просмотреть все соединения по протоколу IPv4, открытые процессом с PID = 12234;

lsof -i tcp:80 — Команда с ключем «-i» и указанием протокола с портом позволяет просмотреть информацию о процессе, который прослушивает 80 TCP порт;

lsof /dev/hd4 — Данная команда выводит список открытых файлов на устройстве /dev/hd4;

lsof /dev/cdrom — Данная команда выводит список процессов, работающих с CD ROM;

lsof -c ssh — Данная команда выводит список подключений по ssh;

Команды для работы с базой данных

mysql -u db_login -p -h localhost database_name < dump_name.sql — Команда выполняет импорт дампа базы данных;

mysqldump -u db_login -p -h localhost database_name > dump_name.sql — Команда выполняет экспорт базы данных то есть создание дампа;

Дополнительные аргументы для команды mysqldump (уменьшают размер дампа и повышают скорость работы)

Пример команды:

mysqldump -Q -c -e -u db_login -p -h localhost database_name > /path/dump/name_dump.sql

-Q — Ключ оборачивает имена обратными кавычками;

-c — Ключ делает полную вставку, включая имена колонок;

-e — Ключ делает расширенную вставку.

Это весь список полезных и нужных команд, которые должен знать каждый пользователь ОС Linux. Если вы считаете, что я упустил какую-то команду или вам непонятна команда из списка приведённого выше - пишите в комментарии.

УжасноПлохоНормальноХорошоОтлично (1 голос(ов), средняя оценка: 5,00 из 5)
Загрузка...
Похожие записи:
Фильтр по
Post Page
Руководства Linux Софт Ошибки и Решения Хостинг
Сортировать

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *