В этой статье мы будем вести записи о консольных командах, которые помогают нам в каждодневной работе с серверами и на личных машинах (компы, ноутбуки).


Отфильтровать процессы по пользователю

pgrep -u root

ps aux | grep root


"Убить" процессы пользователя

pkill -9 -u user


Смена пароля для пользователя

sudo passwd user

для текущего юзера

passwd


Генерация пароля

openssl rand -base64 32


Запустить скрипт в фоне

nohup php /var/www/path_to_script/script.php > /dev/null 2>&1 &


Архивы zip

zip -r -9 archive_name.zip /var/log/* /var/spool/* -x "/var/log/apt/*"

-r - архивировать рекурсивно.

-9 - степень сжатия от 1 до 9. 0 - без сжатия.

archive_name.zip - имя архива.

/var/log/* /var/spool/* - архивируемые директории через пробел.

-x "/var/log/apt/*" - опция, позволяющая исключить указанную папку или файл из архива.

-e - опция, позволяющая задать пароль на архив.

Вот готовый скрипт для полного бэкапа файлов с исключениями (cms bitrix). Файлу бэкапа будет дано имя по дате совершения действия. Именно такие скобки должны быть в названии, чтобы подставились замены (левая верхняя ковычка).

zip -r -9 /home/admin/backup/backup_‘date +%Y.%m.%d_%H_%M‘.zip ./* -x './bitrix/backup/*' './upload/iblock/*' './bitrix/cache/*' './bitrix/managed_cache/*' './bitrix/stack_cache/*'


Распаковка архива

unzip archive_name.zip -d ./

-d - указание директории для распаковки содержимого архива.


Просмотр zip архива

unzip -l archive_name.zip или less archive_name.zip


Размер файлов в удобочитаемом виде

ls -sh


Дамп базы данных

mysqldump -uroot -proot dbname > dump.sql


Удалить содержимое раздела. ВНИМАНИЕ!!! потенциально опасная команда

rm -r -f /home/path_to_folder/* -

-r - рекурсивно.

-f - без подтверждения.

примеры:

rm -rf /path/to/dir — удалит директорию вместе с содержимым

rm -rf /path/to/dir/* — удалит только содержимое


scp копирование

scp (-P если нужно указать порт) /full/path/to/file user@192.168.1.1:/path/to/put/here - копирование файлов на удаленный сервер

scp user@8.8.8.8:/full/path/to/file /path/to/put/here


Пробросить ssh ключ

ssh-copy-id root@192.168.1.1


Просмотр публичного ключа

cat ~/.ssh/id_rsa.pub


Перемещение файлов и папок

mv /full/path/to/file.txt /path/to/put/here/


Поиск файла по имени

find / -name ssl.conf

где / - путь, по которому будет осуществляться поиск. В данном случае это корень системы.


Поиск слов в файлах

grep -r 'word' /

где / - путь, по которому будет осуществляться поиск. В данном случае это корень системы.


Место на диске linux

df -h


Сгенерировать ключ

ssh-keygen


Анализ оперативной памяти

free

cat /proc/meminfo


Просмотр файлов раздела с сортировкой по размеру

du -sh /full/path/to/dir/* | sort -rh

-r - сортировка по размеру (в обратном порядке ключ -r)


Удаление хоста из known_hosts

ssh-keygen -R "host"


Копирование файлов утилитой rsync

rsync -av -e 'ssh -p2230' (если нужен порт) --exclude='dir1/dir2/' (исключение разделов, относительный путь) /path/to/source/file /path/to/put/dir/

Ниже рабочий пример копирования из раздела, который находится на уровень выше раздела источника и раздела, в который происходит копирование.

rsync -av --exclude 'local' --exclude 'images' --exclude 'bitrix' --exclude 'upload' source_dir/ destination_dir/


Работа с утилитой screen

screen -S screen_name - создание скрина

screen -r либо screen -ls - просмотреть список доступных screen`ов

screen -r id_screen - переход в скрин с id_screen

<ctrl> + <d> либо напечатайте exit. - для выходы из скрина, завершить его работу

<ctrl> + <a> - командный режим, а после <d> чтоб свернуть скрин


Символьные ссылки ln

unlink link_name - удаление ссылки

ln -s /path/to/source /path/to/link_name


Просмотр логов cron утилитой tail

tail -20 /var/log/cron - 20 последних записей


Проверка внешнего ip

wget -qO- eth0.me

wget -qO- ipinfo.io/ip

wget -qO- ipecho.net/plain

wget -qO- icanhazip.com

wget -qO- ipecho.net

wget -qO- ident.me

wget -qO- myip.gelma.net



Поиск измененных файлов

find /home/ -type f -mmin -30
найти файлы, которые были изменены за последние 30 минут в папке /home/

find /home/ -type d -mmin -30
изменили флаг на «-type d», теперь поиск разделов

find /home/ -type f -mtime -5 ! -mtime -1
например нужно найти измененные файлы за 5 дней, но не включать в поиск последний день

find /home/ -type f -mmin -30 -depth -3
чтобы ограничить уровень вложенности добавляем параметр «-depth». Например, поиск с уровнем вложенности не более 3 папок

find /home/ -type f -mmin -60 | xargs ls -l
поиск файлов в /home/ директории (и во всех ее подпапках) которые были изменены в течение последних 60 минут с выводом их атрибутов



Статья будет дополняться. Просим в комментарии сбрасывать ваших "помощников". Сделаем эту статью максимально полезной для всех!

Комментарии

Оценка:
Защита от автоматических сообщений
CAPTCHA
Введите слово на картинке