- 
      
 - 
        
Save kuzminT/f44da1e6cfcfa9db828a5b0998037af6 to your computer and use it in GitHub Desktop.  
Команды и их назначение
- 
type — сообщает, как интерпретируется имя указанной команды.
 - 
which — сообщает, какая программа будет выполнена.
 - 
man — выводит страницу справочного руководства с описанием команды.
 - 
apropos — выводит список подходящих команд.
 - 
info — выводит запись из справочного руководства Info с описанием команды.
 - 
whatis — выводит краткое описание команды.
 - 
alias — создает псевдоним для команды
 - 
cat — объединяет файлы.
 - 
sort — сортирует строки текста.
 - 
uniq — сообщает о повторяющихся строках или удаляет их.
 - 
wc — выводит число символов перевода строки, слов и байтов в каждом указанном файле.
 - 
grep — находит и выводит строки, соответствующие шаблону.
 - 
head — выводит первые строки из файла.
 - 
tail — выводит последние строки из файла.
 - 
tee — читает данные со стандартного ввода и записывает в стандартный вывод и в файлы.
 - 
identify filepath- пакет из библиотеки imagemagick, выводит размеры изображения, ширину/высоту и другие параметры. 
find . -type f | wc -l - вывести количество всех файлов в директории.
sudo usermod -aG www-data $(whoami) # добавить пользователя в группу
groups $whoami # show list of groups
sudo adduser user group 
sudo deluser user group
Кастомизация оболочки и настроек ubuntu
Minimize window on click in dash:
$ gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize'
Удобней всего кастомизировать, установив Dconf Editor.
Сервера - apache и nginx
$ sudo update-rc.d apache2 disable # отключить автозагрузку apache2, но не удалять сам скрипт
$ sudo update-rc.d -f  apache2 remove # удалить из автозагрузки
$ systemctl start apache2.service
## Stop command ##
$ systemctl stop apache2.service
## Restart command ##
$ systemctl restart apache2.service
- Example Nginx configuration for adding cross-origin resource sharing (CORS) support to reverse proxied APIs
 - How To Create a Self-Signed SSL Certificate for Nginx in Ubuntu 16.04
 - Настройка HTTPS-серверов - https configuration.
 
Файлы логов linux
- /var/log/messages — содержит глобальные системные логи Linux, в том числе те, которые регистрируются при запуске системы. В этот лог записываются несколько типов сообщений: это почта, cron, различные сервисы, ядро, аутентификация и другие.
 - /var/log/dmesg — содержит сообщения, полученные от ядра. Регистрирует много сообщений еще на этапе загрузки, в них отображается информация об аппаратных устройствах, которые инициализируются в процессе загрузки. Можно сказать это еще один лог системы Linux. Количество сообщений в логе ограничено, и когда файл будет переполнен, с каждым новым сообщением старые будут перезаписаны. Вы также можете посмотреть сообщения из этого лога с помощью команды dmseg.
 - /var/log/auth.log — содержит информацию об авторизации пользователей в системе, включая пользовательские логины и механизмы аутентификации, которые были использованы.
 - /var/log/boot.log — Содержит информацию, которая регистрируется при загрузке системы.
 - /var/log/daemon.log — Включает сообщения от различных фоновых демонов
 - /var/log/kern.log — Тоже содержит сообщения от ядра, полезны при устранении ошибок пользовательских модулей, встроенных в ядро.
 - /var/log/lastlog — Отображает информацию о последней сессии всех пользователей. Это нетекстовый файл, для его просмотра необходимо использовать команду lastlog.
 - /var/log/maillog /var/log/mail.log — журналы сервера электронной почты, запущенного в системе.
 - /var/log/user.log — Информация из всех журналов на уровне пользователей.
 - /var/log/Xorg.x.log — Лог сообщений Х сервера.
 - /var/log/alternatives.log — Информация о работе программы update-alternatives. Это символические ссылки на команды или библиотеки по умолчанию.
 - /var/log/btmp — лог файл Linux содержит информацию о неудачных попытках входа. Для просмотра файла удобно использовать команду last -f /var/log/btmp
 - /var/log/cups — Все сообщения, связанные с печатью и принтерами.
 - /var/log/anaconda.log — все сообщения, зарегистрированные при установке сохраняются в этом файле
 - /var/log/yum.log — регистрирует всю информацию об установке пакетов с помощью Yum.
 - /var/log/cron — Всякий раз когда демон Cron запускает выполнения программы, он записывает отчет и сообщения самой программы в этом файле.
 - /var/log/secure — содержит информацию, относящуюся к аутентификации и авторизации. Например, SSHd регистрирует здесь все, в том числе неудачные попытки входа в систему.
 - /var/log/wtmp или /var/log/utmp — системные логи Linux, содержат журнал входов пользователей в систему. С помощью команды wtmp вы можете узнать кто и когда вошел в систему.
 - /var/log/faillog — лог системы linux, содержит неудачные попытки входа в систему. Используйте команду faillog, чтобы отобразить содержимое этого файла.
 - /var/log/mysqld.log — файлы логов Linux от сервера баз данных MySQL.
 - /var/log/httpd/ или /var/log/apache2 — лог файлы linux11 веб-сервера Apache. Логи доступа находятся в файле access_log, а ошибок в error_log
 - /var/log/lighttpd/ — логи linux веб-сервера lighttpd
 - /var/log/mail/ — в этом каталоге содержатся дополнительные логи почтового сервера
 - /var/log/prelink/ — Программа Prelink связывает библиотеки и исполняемые файлы, чтобы ускорить процесс их загрузки.
 - /var/log/prelink/prelink.log содержит информацию о .so файлах, которые были изменены программой.
 - /var/log/audit/— Содержит информацию, созданную демоном аудита auditd.
 - /var/log/setroubleshoot/ — SE Linux использует демон setroubleshootd (SE Trouble Shoot Daemon) для уведомления о проблемах с безопасностью. В этом журнале находятся сообщения этой программы.
 - /var/log/samba/ — содержит информацию и журналы файлового сервера Samba, который используется для подключения к общим папкам Windows.
 - /var/log/sa/ — Содержит .cap файлы, собранные пакетом Sysstat.
 - /var/log/sssd/ — Используется системным демоном безопасности, который управляет удаленным доступом к каталогам и механизмами аутентификации.
 
Работа с логами ubuntu через journalctl
- Полезная статья: https://sysadmin.pm/journald-journalctl/
 - How To Use Journalctl to View and Manipulate Systemd Logs
 
sudo kill -9 $(lsof -t -i :443) - kill app process on 443 port if it is busy.
sudo netstat -tulpn - show all active connections.
journalctl --disk-usage # Посмотреть общий размер логов
journalctl --vacuum-size=1G # Ограничить размер логов
# отфильтровать по дате и времени:
journalctl --since "2017-05-05 00:01" --until "2017-05-06 01:40"
journalctl --since "yesterday" --until "2017-05-06 01:40"
journalctl --since "10 hours ago"
journalctl --since "1 minute ago"
journalctl --since "50 minute ago" --until "5 minute ago"
Полезные ссылки
ШПАРГАЛКА. Команды Unix - Linux
Работа с базами
# Достать одну таблицу из общего дампа:
sed -n -e '/DROP TABLE.*`mytable`/,/UNLOCK TABLES/p' mydump.sql > tabledump.sql
tar -czvf archive.tar.gz /home/ubuntu --exclude=/home/ubuntu/Downloads --exclude=/home/ubuntu/.cache - архивация папки с исключением директории
# tar -zcvf archive_name.tar.gz directory_to_compress - создать gz-архив из папки
# tar -zxvf archive_name.tar.gz - распаковать gz-архив
# unzip -l zipfile - вывод списка файлов в архиве
# `vim zipfile - просмотр списка файлов с помощью vim. Альтернативная команда с редактором по умолчанию - `view zipfile`
    # update-rc.d allows setting init script links on Ubuntu and Debian Linux systems to control what services are run 
    # by init when entering various runlevels. It should be able to add mysql to the list of services to run at boot:
    
    sudo update-rc.d mysql defaults 
    
    # If you later want to disable running mysql on bootup:
    sudo update-rc.d mysql remove
# show list of disks
df -h
fdisk -l
# format disk in ntfs
sudo mkfs.ntfs  /dev/sdd
kpasswd userdomainname - сменить пароль пользователя домена
sudo lsof -i -P -n | grep LISTEN
- Настройка postgresql в линуксе: https://info-comp.ru/sisadminst/598-install-postgresql-10-on-ubuntu-server.html