Skip to content

Instantly share code, notes, and snippets.

@kuzminT
Last active February 8, 2020 18:21
Show Gist options
  • Save kuzminT/f44da1e6cfcfa9db828a5b0998037af6 to your computer and use it in GitHub Desktop.
Save kuzminT/f44da1e6cfcfa9db828a5b0998037af6 to your computer and use it in GitHub Desktop.
Linux cheetsheet

Команды и их назначение

  • 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

Servers

Работа с логами linux

Файлы логов 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

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

Start linux in console mode

Локальная сеть

kpasswd userdomainname - сменить пароль пользователя домена

Посмотреть, какие порты заняты

sudo lsof -i -P -n | grep LISTEN

Data bases

Postgress

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment