Отфильтровать процессы по пользователю
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 минут с выводом их атрибутов
Статья будет дополняться. Просим в комментарии сбрасывать ваших "помощников". Сделаем эту статью максимально полезной для всех!
Комментарии