Шпаргалки
December 30, 2020

Шпаргалка по Linux

SSH-ключи

Создать ключ:

ssh-keygen

Скопировать ключ:

cat ~/.ssh/id_rsa.pub

Прокинуть ключ на удаленный сервер:

ssh-copy-id -i ~/.ssh/id_rsa.pub user@remotehost

где:

user - имя пользователя
remotehost - IP или адрес сервера

Если SSH работает на нестандартном порту, например 2222:

 ssh-copy-id -i ~/.ssh/id_rsa.pub user@remotehost -p 2222

MC - midnight commander

Чтобы выбрать все файлы в папке: Option(Alt) + Shift + =
В появившееся окно - впечатать * и Нажать Enter

Tar

Создать архив из файлов

tar -zcvf /backup/archive.tar.gz /var/www/test

-zcvf - архивировать с сжатием (будет меньше весить)
-cvf - архивировать без сжатия (потом быстрее будет извлекаться)
/backup/archive.tar.gz - куда положить файл архива
/var/www/test - какую папку/файл положить в архив

Общее правило - лучше cvf, но если вдруг надо, чтобы архив занимал поменьше, тогда zcvf.

Извлечь архив:

tar -xf archive.tar.gz

GREP - поиск по содержимому в файлов

grep -Rli word /directory

word - что ищем
/directory - где ищем

Еще вариант:

grep -rn word /directory

Рекурсивный поиск внутри директориии directory слова word. Дополнительно в результате покажется еще и номер строки в файле, где найдено word.

WC - статистика файла

wc {filename}

{filename} - имя файла

Ответ будет в таком формате:

{строк} {слов} {символов} {имя_файла}

Создать/удалить пользователя

adduser {username} - добавить нового пользователя
userdel {username} - удалить пользователя, 
userdel {username} -f - удаляет даже если пользователь еще залогинен
userdel {username} -r - удалить домашнюю директорию пользователя и его файлы в системе.
userdel {username} -Z - удалить все SELinux объекты для этого пользователя.

Сделать пользователя sudo:

usermod -aG sudo {username}

Journalctl - журнал логов

Сами лохи хранятся в /var/log/journal

Вот как можно уменьшить размер логов:

# вот как можно посмотреть размер логов:
journalctl --disk-usage

# вот как уменьшить размер
journalctl --vacuum-time=1d
journalctl --vacuum-size=128M

Размер папок в этой папке

du --max-depth=1 -h

Покажет сколько весит каждая папка и все ее содержимое

Composer

Установить только блок require файла composer.json, пропустив require-dev

composer install --no-dev

Как игнорировать конфликт требований совместимости (наличия модулей), и все равно поставить пакет:

composer install --ignore-platform-reqs

Git

Изменить адрес внешнего репозитория

git remote set-url origin {полный адрес до репозитория}

Обновление Ubuntu

apt upgrade - устанавливает самые новые версии всех пакетов доступные 
в репозиториях

apt full-upgrade - тоже самое, только еще и разрешает зависимости "по-умному"

Создание симлинк (symlink) символической ссылки

ln опции файл_источник файл_ссылки
 
Какие бывают опции: 
-d - разрешить создавать жесткие ссылки для директорий суперпользователю;
-f - удалять существующие ссылки;
-i - спрашивать нужно ли удалять существующие ссылки;
-P - создать жесткую ссылку;
-r - создать символическую ссылку с относительным путем к файлу;
-s - создать символическую ссылку.

Пример создания:

ln -s /real/file/or/directory/path /symlink/path

Информация о процессорах

/proc/cpuinfo