Общие команды 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