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

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

Регистрация в перечне РКН https://clck.ru/3EpL9L
Download Telegram
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
Команда yes

Бесконечно выводит на экран заданную строку или y (да). Используется для автоматического подтверждения запросов других команд в командной строке.

Если выполнить команду yes без каких либо аргументов, то на экран бесконечно будет выводиться символ «y» (каждый символ на новой строке).
yes

Если для команды yes задать строку, то на экран будет бесконечно выводиться эта строка (каждая строка на новой строке).
yes строка
Как очистить терминал?

Существует несколько способов очистки терминала.

Самый простой способ очистить терминал - воспользоваться сочетанием клавиш Ctrl + L. После нажатия этих клавиш весь уже существующий вывод переместиться вверх, так, что текущее окно терминала будет пустым.

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

Чтобы полностью очистить вывод, воспользуйтесь командой clear.

Чтобы команда clear работала как Ctrl+L, передайте аргумент -x:
clear -x
Драйверы

(программы, или компоненты ядра ОС, обеспечивающие работу ОС со всеми компонентам ПК) могут присутствовать в составе ОС, но для самых новых материнских плат и внешних устройств, не совместимых со старыми, поставляются отдельно.

Касаемо ОС Linux, понятие драйвера в привычном смысле там отсутствует, поддержка нового железа сначала появляется в базовой ветке ядер на www.kernel.org, а оттуда перекочёвывает во все существующие дистрибутивы. Производители или отдают информацию разработчикам и забывают о проблемах совместимости, или регулярно выкладывают у себя на сайте готовые модули ядра, если не хотят делиться программным кодом.
Команда host 

Используется главным образом для диагностики серверов доменных имен.

Синтаксис:
host [параметры] имя-домена-или-ip-адрес 

Утилита поддерживает ряд параметров командной строки. Наиболее полезным параметром является параметр -t, позволяющий указать интересующий пользователя тип ресурсной записи.
В частности, поддерживаются следующие типы ресурсных записей: A, AAAA, CNAME, MX, NS, PTR, SOA, TXT 

Для получения IP-адреса сервера ресурса по имени его домена достаточно передать утилите имя домена без каких-либо параметров:
host google.com

Чтобы получить только IP-адресс:
host -t A google.com
Команда screen

Screen позволяет переключаться между терминалами, в которых выполняются процессы, не прерывая их. Это особенно эффективно, когда необходимо производить сборку/установку ПО и мониторить дисковое пространство или использовать аппаратные ресурсы.

Screen может разделять текущий терминал на меньшее количество окон с возможностью запуска в них того же или других терминалов.

Для запуска первого окна наберите в терминале:
screen

Все управляющие команды начинаются с комбинации клавиш Ctrl + a, затем следует буква или сочетание клавиш. Буквы разных регистров выполняют разные команды. 

Примеры:
Ctrl + a + c — создать новое окно
Ctrl + a + w — просмотр списка созданных окон
Ctrl + a + номер — переход в любое из созданных окон сессии
Ctrl + a + n — переход к следующему окну
Ctrl + a + p — переход к предыдущему окну
Ctrl + a + S — разделить экран по горизонтали
Ctrl + a + | — разделить экран по вертикали
Если применяете инструменты SSH для подключения к одним и тем же системам в течение всего дня, то введение своего пароля снова и снова может быстро надоесть. Вместо аутентификации на основе пароля SSH позволяет настроить аутентификацию на основе ключа. Вот как это работает:

- Создаете открытый и закрытый ключи.

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

- Когда ключ скопирован в нужное место, вы с помощью любых инструментов SSH подключаетесь к учетной записи пользователя на удаленном узле. Вместо того чтобы запрашивать пароль, удаленная служба SSH сравнивает открытый и закрытый ключи и разрешает доступ, если они совпадают
Команда pv

Терминальный инструмент, который позволяет отслеживать прогресс и ход выполнения операции. Использовании команды pv дает вам визуальное отображение следующей информации:
 • Сколько прошло времени.
 • Процент завершенной работы, включая индикатор выполнения.
 • Показывает текущую пропускную способность.
 • Общее количество переданных данных.
 • ETA – estimated time (расчетное время).

Примеры использования:

Скопировать файл opensuse.vdi в /tmp/opensuse.vdi:
pv opensuse.vdi> /tmp/opensuse.vdi

Сделать zip-файл из файла /var/log/syslog
pv /var/log/syslog | zip> syslog.zip

Подсчитать количество строк, слов и байтов в файле /etc/hosts, показывая только индикатор выполнения
pv -p /etc/hosts | wc