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

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

Регистрация в перечне РКН https://clck.ru/3EpL9L
Download Telegram
Команда 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
sudo не всегда корректно работает с графическими приложениями, поэтому рано или поздно вы рискуете словить сообщение "Unable to read ICE authority file", и после этого вообще станет невозможным запуск графических программ с правами root. Печаль.

Если это все же произошло, поправить ситуацию можно, удалив файл .{ICE,X}authority из вашего домашнего каталога:
rm ~/.{iCE,x}authority (тильда здесь означает домашний каталог текущего пользователя).

Графические приложения с правами root проще запускать, используя главное меню. Но не все приложения есть в главном меню, и не все приложения вызываются с правами root, - к примеру, в главном меню есть команда вызова текстового редактора, но нет команды для вызова текстового редактора с правами root. Поэтому намного проще нажать Alt+F2 и ввести в соответствующее поле команду:
gksu что_нужно_запустить

Да, для графических программ с root правами желательно использовать команды sudo и su с префиксом: gksudo и gksu - для GNOME или kdesudo и kdesu -для КDЕ.
Пользователь root - пользователь с максимальными правами, имеет:

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

Право на изменение конфигурации системы - пользователь root может изменять конфигурацию систему посредством редактирования файлов в каталоге /etc, /proc, запуска конфигураторов системы.

Право на запуск любых программ - root может запустить любую программу, в каком бы каталоге она ни находилась.

Право на создание, удаление, изменение (в том числе изменение пароля) других учетных записей.

Право на установку и удаление программ.

Как вы понимаете, власть пользователя root неограниченна. Так было до определенного момента, пока не появились системы принудительного контроля доступа, которые могут ограничить даже самого root. Вот только беда SELinux, LIDS, Tomoyo и другие подобные системы по умолчанию неактивны или даже не установлены, поэтому пока их не активировать пользователь root будет все равно самым главным.
Debian — это ассоциация людей, общим делом которых является создание свободной ОС.

Созданная ОС называется Debian. Большая часть основных инструментов, которые наполняют ОС, взята из Проекта GNU. Эти инструменты также являются свободными. Debian содержит более 59 000 пакетов (скомпилированного заранее программного обеспечения в удобном для установки на компьютер формате), менеджер пакетов (АРT), а также другие утилиты, благодаря которым можно управлять тысячами пакетов на тысячах компьютеров так же просто, как установить одно-единственное приложение. И все это свободно.

Приведу цитату с сайта Debian, которая хорошо объясняет, что значит свободное ПО: «Вы можете спросить: если это программное обеспечение свободно, то почему я должен платить продавцу деньги за CD или платить провайдеру интернет за загрузку? Когда вы покупаете диск, то вы платите за время и работу по созданию этого диска, а также за риск (на случай, если диски не будут проданы все). Другими словами, вы платите за физический носитель, используемый для распространения программного обеспечения, а не за само ПО.
Когда мы говорим «free» (переводится как «свободный», так и «бесплатный»), мы говорим о свободе ПО, а не о том, что оно ничего не стоит»
Псевдофайловые системы sysfs (каталог /sys) и proc (каталог /proc) используются для настройки системы и получения различной информации о системе и процессах.

Свое название псевдофайловые системы получили из-за того, что они работают на уровне виртуальной файловой системы. В итоге оба эти средства (назовем их так) для конечных пользователей выглядят как обычная файловая система - вы можете зайти как в каталог /sys, так и в каталог /proc. В обоих этих каталогах будут файлы. Можно просмотреть эти файлы и даже изменить их содержимое.
Содержимое многих файлов псевдофайловой системы /proc формируется "на лету". Обратите внимание на размер любого файла в каталоге /proc - он равен нулю, но если открыть файл, то информация в нем будет. Например, в файле /proc/version находится информация о версии Linux. 
Для изменения прав владения файлом или каталогом, используется команда chown.
Формат такой:

chown пользователь файл/каталог

Здесь пользователь - это новый владелец файла. Чтобы подарить другому пользователю файл, вы должны быть или его владельцем, или пользователем root.
Пользователи и группы

Создать пользователя в Linux можно командой useradd. К примеру, чтобы пользователя vasya добавить в систему, введите:
sudo useradd -m vasya

Опция -m позволяет создать для пользователя домашний каталог, что в большинстве случаев приветствуется.

Скорее всего, вы также захотите определить для пользователя предварительный пароль. Это можно сделать с помощью команды passwd, за которой следует имя пользователя:
sudo passwd vasya

После выполнения этой команды вам будет предложено ввести новый пароль.

Группы создаются с помощью команды groupadd таким же образом:
sudo groupadd accounting

Чтобы убедиться в том, что новая группа успешно создана, просмотрите файл /etc/ group:
sudo grep accounting /etc/group

Добавить пользователя vasya в новую учетную группу можно таким образом:
sudo usermod -g accounting vasya

Чтобы просмотреть группы, к которым принадлежит vasya, используйте команду groups:
groups vasya
Команда chmod – изменение прав доступа.
 
Синтаксис команды: 
chmod [ключи] установка_прав имя_файла 
 
Устанавливать права можно двумя способами: с помощью буквенного обозначения прав (rwx) или числового в восьмеричной системе счисления.
Используемые в UNIX символы конца строки (\n) отличаются от тех, которые используются в MS-DOS/Windows (\r\n). Эти специальные символы текстового файла можно просмотреть, воспользовавшись командой od:
od -с -t x1 myfile.txt

Чтобы эти символы правильно отображались после копирования из одной среды в другую, необходимо конвертировать файлы:

unix2dos < MyUnix.txt > MyWin.txt
cat MyWin.txt | dos2unix > MyUnix.txt

В первом примере команда (unix2dos) конвертирует файл открытого текста Linux или UNIX (MyUnix.txt) в текстовый формат DOS или Windows (MyWin.txt).

Команда из второго примера (dos2unix) осуществляет противоположную операцию - конвертирует файл DOS/Windows в файл Linux/ UNIX. Для использования данных команд должен быть установлен программный пакет tofrodos
Кроме стандартных и привилегированных, пользователи также бывают системными. Существуют учетные записи, под которыми нельзя войти в систему; они выделены для демонов, сервисов или приложений.
Системные пользователи обычно имеют маленький номер идентификатора UID, лишены пароля (чтобы учетная запись была заблокирована) и используют /usr/sbin/nologin, /sbin/nologin или /bin/false в качестве командной оболочки по умолчанию.
Есть десятки текстовых редакторов для Linux. Некоторые из них уже могут быть установлены в вашем дистрибутиве.

nano — популярный оптимизированный текстовый редактор, который используется со многими системами Linux и другими ее средами, в которых пространство ограничено. Например, он позволяет редактировать текстовые файлы в процессе установки Gentoo Linux.

gedit — текстовый редактор с поддержкой интерфейса GNOME.

jed — текстовый редактор с графическим интерфейсом, созданный специально для программистов. Он подсвечивает код различными цветами и выделяет в нем синтаксические ошибки. Клавиша Alt применяется для управления текстом.

joe — редактор joe похож на многие текстовые редакторы для ПК. Используйте клавишу Ctrl и стрелки для перемещения. Нажмите сочетание клавиш Ctrl+C для выхода без сохранения или Ctrl+X для сохранения при выходе.

kate — приятный на вид редактор включен в пакет kdebase. Имеет множество наворотов, таких как подсветка синтаксиса для различных типов языков программирования и элементы управления для переноса слов. 

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

mcedit — в этом редакторе функциональные клавиши помогают перемещаться по тексту, сохранять, копировать, перемещать и удалять его. Как jed и joe, это экранный редактор. Он задействуется в пакете mc для RHEL и Fedora.

ncdit — отличный редактор для программистов. Для его установки необходимо установить дополнительный пакет nedit.
Ubuntu по умолчанию поставляется с отключенной учетной записью root, и весь административный доступ осуществляется через программу sudo или ее эквивалент с графическим пользовательским интерфейсом.

Если хотите, можете установить пароль root на Ubuntu, а затем разблокировать учетную запись с помощью команды:
sudo passwd -u root
Команда ss

ss — это инструмент, который используется для вывода сетевой статистики в виде, похожем на тот, который выдаёт команда netstat. Однако, ss делает это проще и быстрее.

Если запустить ss без аргументов командной строки или опций, она выведет полный список работающих соединений.

Чтобы записать вывод этой команды в файл:
ss > some_file_log

Чтобы получить список, в котором присутствуют лишь сокеты, находящиеся в режиме прослушивания сети:
ss -l

Для того чтобы ещё немного сузить диапазон выводимых этой командой данных, есть опция -t, которая показывает сведения по TCP-соединениям, опция -u — по UDP-соединениям и опция -x — Unix-соединения.
Команда strace

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

Синтаксис:
strace опции команда аргументы

Опции:
 • -i - выводить указатель на инструкцию во время выполнения системного вызова;
 • -k - выводить стек вызовов для отслеживаемого процесса после каждого системного вызова;
 • -o - выводить всю информацию о системных вызовах не в стандартный поток ошибок, а в файл;
 • -q - не выводить сообщения о подключении о отключении от процесса;
 • -r - выводить временную метку для каждого системного вызова;
Команда dig

Многофункциональный инструмент для опроса DNS-серверов. Она позволяет получить больше информации о конкретном домене (например, узнать используемые им IP-адреса).

Синтаксис:
dig @сервер доменное.имя тип записи флаги

Примеры использования:
Получение информацию о домене:
dig google.com

По умолчанию утилита выводит много лишней информации. Для получения только основных данных используйте запрос с флагом +short. 
dig google.com +short

Если использовать команду dig вместе с +noall, вы ничего не увидите, поскольку этот флаг отключает вывод всех секций.
dig google.com +noall

Если вместе с флагом +noall использовать флаг +answer, dig выведет только ту информацию, которая есть в секции ANSWER (IP-адрес, тип записи и пр.).
Вместо того чтобы редактировать конфиг. файлы с помощью редактора vi, используйте редактор vim. Он помогает находить ошибки в файле конфигурации прямо во время редактирования.

vim распознает форматы многих файлов конфигурации (passwd, httpd.conf, fstab и др.). Если вы сделаете ошибку, введете недопустимый термин или параметр в один из этих файлов или каким-либо образом измените формат, изменится цвет текста. Например, если в файле /etc/fstab изменить параметр defaults на default, цвет слова изменится.
Команда convert

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

Синтаксис:
convert infile.jpg [действия] outfile.png

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

Например:
уменьшить JPG файл infile.jpg в два раза и запишет результат в виде JPG файла outfile.jpg:
convert infile.jpg -resize 50% outfile.jpg

смасштабировать изображение в файле infile.jpg в два раза, применить фильтр резкости, и записать результат под тем же именем, удалив предыдущий файл.
convert infile.jpg -resize 50% -sharpen 3 infile.jpg