Linux для чайника – Telegram
Linux для чайника
20K subscribers
89 photos
4 files
80 links
Linux
- Разбор утилит / инструментов
- Новости / факты
- Опросы для проверки знаний, навыков
и многое другое.

Только по вопросам сотрудничества: @altmainf

Регистрация в перечне РКН https://clck.ru/3EpL9L
Download Telegram
Для получения информации о пользователях - достаточно знать три родственные команд: w, who и whoami

 Выводят следующую информацию:

команда w — список пользователей, подключенных к системе; виртуальный терминал, с которого работает пользователь; время входа в систему для каждого пользователя; статистику использования системы (IDLE — время простоя, JCPU — использование процессора); выполняемые каждым пользователем за дачи;

команда who — список пользователей, подключенных к системе; время и дату входа каждого пользователя;

команда whoami — имя пользователя, который ввел команду.
Команда su

Команда su позволяет получить доступ к консоли с правами root любому пользователю (даже если пользователь не внесен в файл /etc/sudoers) при условии, что он знает пароль root.
Понятно, что в большинстве случаев этим пользователем будет сам пользователь root, — не станете же вы всем пользователям доверять свой пароль? Поэтому команда su предназначена, в первую очередь, для администратора системы, a sudo — для остальных пользователей, которым иногда нужны права root (чтобы они меньше отвлекали администратора от своей работы). Использовать команду su просто:
su
После этого нужно будет ввести пароль пользователя root, и вы сможете работать в консоли как обычно. Использовать su удобнее, чем sudo, потому что вам не потребуется вводить su перед каждой командой, которая должна быть выполнена с правами root.
Чтобы закрыть сессию su, нужно или ввести команду exit, или просто закрыть окно терминала.
SYSLINUX — это еще один загрузчик для систем Linux. Обычно он не используется для установленных систем Linux. Однако применяется в качестве загрузчика для установочных CD и DVD Linux. SYSLINUX особенно хорошо подходит для загрузки образов CD ISO9660 (isolinux) и USB-накопителей (syslinux), а также для работы на старом оборудовании или загрузки PXE (pxelinux) системы по сети.
​​Обычно команды kill и killall применяются для завершения запущенного процесса, однако они могут отправлять запущенному процессу любую допустимую инструкцию. Помимо отправки сигнала завершения, команда может сообщить процессу о необходимости пересмотреть файлы конфигурации, приостановиться (остановиться) или продолжить выполнение после приостановки, и это еще не все варианты. Сигналы представляются как числами, так и именами.

Примеры некоторых сигналов.
Система SELinux

Fedora, Red Hat Enterprise Linux и другие дистрибутивы Linux поставляются с подключенной функцией Security Enhanced Linux (SELinux) в принудительном режиме (Enforcing).

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

Основная функция SELinux заключается в защите содержимого системы Linux от процессов, запущенных в системе. Другими словами, SELinux гарантирует, что веб-сервер, FTP-сервер, сервер Samba или DNS-сервер могут получить доступ только к ограниченному набору файлов в системе (определяется содержимым файлов), и разрешает лишь ограниченный набор функций (определяется логическими значениями и ограниченным доступом к порту).
Горячие клавиши терминала в Linux

Управление процессами
Ctrl + C - прервать процесс (послать сигнал Interrupt).
Ctrl + Z - приостановить процесс (послать сигнал Stop).

Перемещение курсора
Ctrl + A - переместить курсор в начало строки.
Ctrl + E - переместить курсор в конец строки (E - End).
Alt + F - переместить курсор на одно слово вперед (F - Forward).
Alt + B - переместить курсор на одно слово назад (B - Back).
Ctrl + F - переместить курсор на один символ вперед (F - Forward).
Ctrl + B - переместить курсор на один символ назад (B - Back).

Редактирование текста
Ctrl + L - очистить экран. Аналог команде clear.
Ctrl + D - удалить символ под курсором (D - Delete).
Alt + T - поменять местами два слова. Слово под курсором меняется со словом слева от курсора (T - Translocate)
Ctrl + T - поменять местами два символа. Символ под курсором меняется с символом слева от курсора (T - Translocate).
Alt + L - перевести символы в нижний регистр, начиная с символа под курсором и до конца слова (L - Lowercase).
Alt + U - перевести символы в верхний регистр, начиная с символа под курсором и до конца слова (U - Uppercase).

Вырезание и вставка текста
Ctrl + K - вырезать текст от курсора до конца строки (K - Kill).
Ctrl + U - вырезать текст от курсора до начала строки.
Alt + D - вырезать слово от курсора до его конца (D - Delete).
Alt + Backspace - вырезать слово от курсора до его начала. Если курсор находится на начале слова, то удаляется предыдущее слово.
Ctrl + Y - вставить вырезанный текст из буфера обмена на место курсора.

Дополнение команды
Tab - дополнить текст команды. (ls essa => ls essay.txt)
Alt + ? - вывести все варианты дополнения (тоже если нажать Tab дважды).
Alt + * - вставить все варианты дополнения в аргументы команды.

Поиск команд в истории
Ctrl + R - начать поиск команд в истории. Нажмите еще раз чтобы двигаться вверх по истории. Нажмите Enter чтобы выполнить найденную команду.
Ctrl + J - вставить найденную команду в терминал, без выполнения.
Ctrl + G - прекратить поиск команд в истории.
Ctrl + P - показать предыдущую запись в истории. Аналог клавише со стрелкой вверх. (P - uP).
Ctrl + N - показать следующую запись в истории. Аналог клавише со стрелкой вниз. (N - dowN).
Alt + < - перейти к первой записи в истории.
Alt + > - перейти к последней записи в истории.
Alt + N - поиск в прямом порядке (ввести команду и нажать Enter).
Alt + P - поиск в обратном порядке (ввести команду и нажать Enter).
Ctrl + O - выполнить команду из истории и перейти к выполнению следующей по списку. Работает только в поиске Ctrl+R.
Разложение на простые множители 

Команда factor в Linux дает простые множители числа.
Синтаксис 
factor [число]

Пример:
factor 20
Получим:
20: 2 2 5

Также можно передать несколько чисел в качестве аргумента:

factor 20 30 40

Получим:                                                                
20: 2 2 5
30: 2 3 5
40: 2 2 2 5
Команда w

w - это утилита, которая отображает информацию о пользователях, вошедших в систему в данный момент, и о том, что каждый из них делает. Также дает информацию о том, как долго работает система, текущее время и среднюю загрузку системы.

Синтаксис:
w [OPTIONS] [USER]

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

Аргументы:
-h - указывает w не печатать заголовок, выводится только информация о авторизованных пользователях
-f - переключает поле FROM(Имя хоста или IP-адрес, с которого пользователь вошел в систему). Отображение или скрытие этого поля по умолчанию зависит от используемого вами дистрибутива.
-o - вывод в старом стиле 
-s - вывод в коротком стиле
-i - всегда показывает IP-адрес вместо имени хоста в поле FROM .
deb-пакеты 
 
Программы для Ubuntu поставляются в виде так называемых deb-пакетов. Это обычный архив, содержащий файлы устанавливаемого приложения и различную вспомогательную информацию. Начиная с Debian версии 0.93 deb файл представляет собой архив формата ar
 
Обычно архив содержит 3 файла: 
- debian-binary - текстовый файл, содержащий версию формата deb-пакета 
- control.tar - tar-архив, содержащий информацию и скрипты установки пакета 
- data.tar - tar-архив, содержащий дерево устанавливаемых файлов пакета 
 
Стандартная программа для управления — dpkg
Команда du

Позволяет вывести размер всех файлов в определённой папке в байтах или в более удобном формате.

Синтаксис:
du [параметр] /путь/к/папке

Параметры:
 • -a - выводит размер для всех файлов, а не только для директорий
 • -c - выводить в конце общий размер всех папок;
 • -d - максимальная глубина вложенности директорий;
 • -h - выводит размер в единицах измерения удобных для человека(мегабайты, килобайты и байты);
 • -S - не включает размер подпапок в размер папки;
 • -s - выводить только общий размер;
 • -t - не учитывать файлы и папки с размером меньше указанного;
 • --time - отображать время последней модификации для файла или папки, вместо времени модификации можно выводить такие метки: atime, access, use, ctime;
 • -X - исключить файлы из подсчёта;
 • --version - вывести версию утилиты.
Команда tac

Команда cat в основном используется для отображения [ содержимого файла ].

Однако существует команда, которая точно противоположна тому, что делает cat - tac. Противоположна в том смысле, что вывод, который она производит, представлен таким образом, что последняя строка отображается первой, затем следует предпоследняя строка и так далее.
AlterOS, RedOS, Astra, Alt, Rosa: Яндекс обновил свой корпоративный браузер, который можно настроить под ОС на базе Linux, а также Windows.

Теперь можно быстро настраивать и конфигурировать компьютеры сотрудников под разные задачи — Яндекс добавил в браузер в два раза больше групповых политик, среди них: выбор каталога кеша на диске, настройка белого списка расширений, запрет перехода со страницы предупреждения безопасного просмотра. К тому же, теперь работает специальная линия поддержки для сисадминов.

Для систем на Linux работает поддержка Ansible и Puppet. Браузер также работает с сайтами с шифрованием по ГОСТ TLS – позволяет заходить на ресурсы в домене .gov и тендерные площадки, работает с международными и национальными сертификатами безопасности сайтов.
Команда TIME

Утилита запускает заданную пользователем команду и после этого выводит информацию о времени ее выполнения.

Синтаксис:
time [параметр] команда_для_выполнения аргументы

 • -o – сохранять данные в выбранный файл вместо стандартного вывода в терминале.
 • -a – добавлять в файл новую информацию, а не перезаписывает старую (опция полезна только в сочетании с -o)
 • -f – выбрать определенный формат вывода. 
 • -v – выводить подробную информацию о выполнении программы.
 • -V – вывести версию утилиты time.
Вывод календаря в терминал с помощью cal
Синтаксис: cal [параметр]

Параметры:
-A - вывода календаря для нескольких месяцев после текущего месяца 
-B - вывода календаря для нескольких месяцев до текущего месяца
-j - вывод чисел в Юлианском стиле
-d - вывод календаря для заданной даты 
(cal -d 01 01 2014)
Dpkg - основная программа управления пакетами в Debian linux и производных дистрибутивах. Он используется для установки, сборки, удаления и управления пакетами.

Для получения списка пакетов, установленных в системе:
dpkg -l

Можно пропустить выходной поток через grep чтобы увидеть установлен ли определенный пакет:
dpkg -l | grep apache
Замените apache на любое имя пакета, часть имени или иное регулярное выражение.

Для получения списка файлов, установленных пакетом (в нашем случае pack):
dpkg -L pack

Для установки локального .deb файла:
sudo dpkg -i имя_пакета.deb

Удаление пакета:
sudo dpkg -r pack
Удаление пакетов с использованием dpkg в большинстве случаев не рекомендуется. Команда удалит пакет, однако пакеты, зависящие от него, останутся установленными и более не смогут работать правильно.
CMATRIX 

Программа нарисует матрицу, такую же как в одноименном фильме в вашем терминале.

Запустить: cmatrix 
 
Для установки в Ubuntu выполните: 
sudo apt-get install cmatrix
Команда alias

Позволяет пользователю запускать любую команду или даже группу команд, в том числе с опциями, параметрами и файлами, вводом одного слова или даже символа.

Полезные алиасы, которые must have в каждой системе:

Цветной вывод
alias ls='ls --color=auto'

Запускать калькулятор с поддержкой стандартной библиотеки mathlib:
alias bc='bc -l'

Сделаем вывод mount читаемым:
alias mount='mount | column -t'

alias команд linux для использования редактора vim по умолчанию:
alias vi=vim
SL 

Если неверно ввести команду ls, вместо нее sl - то в терминале справа налево проедет паровоз.  

Для установки в Ubuntu наберите: 
sudo apt-get install sl 
 
Запуск: 
sl 
 
Опция -F заставит поезд взлетать
Фреймворк userver 

Вы наверняка слышали о фреймворке userver, который используют в сервисах Яндекса. Сейчас бета версия появилась в опенсорсе. 

В статье на Хабре подробно рассказывают о userver со ссылками и примерами, там же есть сервис шаблон с PostgreSQL, чтобы делать свои микросервисы.
Очереди сообщений 
 
Message Queues - это средство, с помощью которого процессы обмениваются данными в форме сообщений для выполнения своих задач. Они позволяют процессам синхронизировать операции чтения и записи для ускорения процессов. Linux предоставляет два варианта очередей сообщений — System V(для серверных приложений) и POSIX(для приложений реального времени). 
 
POSIX MQ имеет несколько преимуществ по сравнению с System V MQ: 
- поскольку это файловый интерфейс, мы можем установить приоритет для каждого сообщения 
- асинхронное уведомление о поступлении сообщений может быть выполнено с помощью сигналов или создания потока 
- установка параметра тайм-аута позволит избежать неопределенного ожидания отправки или получения сообщений
AAFIRE 

Устроим пожар в терминале?

зажигаем огонь с помощью команды: 
aafire 
 
Для установки в Ubuntu выполните: 
sudo apt-get install libaa-bin