Close

Общие команды 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 http://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/ [email protected]:/destination/novall.net/ — Команда синхронизирует файлы и папки между источником и конечной папкой, можно выполнять как на локальной машине так и с подключением по ssh к удаленной машине, причем удаленная машина может быть, как источником с которого будут синхронизироваться файлы так и конечной папкой. Нужная команда при переносе данных;

wget -r —no-parent ftp://login:[email protected]/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 — консольная утилита для мониторинга по определенным параметрам сетевых интерфейсов;

Примеры команды 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 — Ключ делает расширенную вставку.

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

Тут более подробно: https://itshaman.ru/articles/7