Linux для новичков
125 subscribers
57 photos
1 video
38 links
- Разбор утилит / инструментов
- Новости / факты
- Опросы для проверки знаний, навыков
и многое другое.
Download Telegram
Получить всю информацию о компонентах компьютера можно с помощью команды lshw

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

Поэтому следует немного отфильтровать поток, запустив: sudo lshw -short или sudo lshw -businfo, чтобы увидеть список классов устройств, которые дальше можно передать утилите.

Пример вывода информации с конкретными классами:
sudo lshw -short -class bus -class cpu 

Вывод можно преобразовать в форматы HTML, XML или JSON, к примеру:
sudo lshw -html -class storage > log.html 

Чтобы убрать из вывода информацию, такую как IP адреса и серийные номера, можно добавить параметр -sanitize
YADRO приглашает Software Engineer на SPRINT OFFER 🔍

Компания-лидер инженерной индустрии в России YADRO проводит SPRINT OFFER для Software Engineer в двух направлениях — Linux-based и Android.

🔵 Оффер в команду KVADRA, которая разрабатывает собственную операционную систему kvadraOS, можно получить всего за 3 дня!

→ На направлении Linux-based вам предстоит адаптировать исходный код Chromium для компьютеров и ноутбуков с нашими аппаратными платформами и вносить изменения в поведение устройств, учитывая продуктовые требования.

→ На направлении Android вы будете заниматься подготовкой unit-тестов своего кода. Разрабатывать собственные и адаптировать чужие приложения, если они входят в базовую поставку ОС.

Чтобы принять участие, до 24 ноября подайте заявку на сайте.

Станьте частью YADRO!
Поиск блочных устройств

Блочное устройство (block device) — вид файла устройств в UNIX/Linux-системах, обеспечивающий интерфейс к устройству, реальному или виртуальному, в виде файла в файловой системе.

Типичные примеры блочных устройств: жёсткий диск, CD-ROM, НГМД.

Чтобы выполнить поиск блочных устройств для создания физических томов на их основе, можно воспользоваться командой lvmdiskscan.
Копирование файлов по ssh

Чтобы скопировать локальный файл myfile.txt на компьютер с IP адресом 192.168.12.124 в директорию /home/mycomputer:
scp myfile.txt mycomputer.168.12.124:/home/mycomputer

А наоборот, скопировать файл с удаленного компьютера в текущую директорию:
scp mycomputer.168.12.124:/home/mycomputer

Также копировать можно не только файлы, но и и целые директории.

Чтобы скопировать с локального компьютера директорию ~/mydir на удаленный компьютер в директорию /home/mycomputer:
scp -r ~/mydir mycomputer.168.1.17:/home/mycomputer
Inxi — утилита командной строки для отображения подробной информации о системе в Linux и других Unix-подобных ОС. Она предоставляет обширные данные о конфигурации системы, включая информацию о железе, сети, процессах и многом другом.

Для получения подробной информации о системе, можно запустить команду: inxi -F (Параметр -F (или --full) выводит полную информацию о системе, включая аппаратные и программные компоненты).
inxi -x: выводит более подробную информацию о процессоре и памяти.
inxi -S: показывает информацию только о системе, такой как дистрибутив, версия ядра и архитектура.
inxi -G: отображает только информацию о графической карте.

Для большинства дистрибутивов Inxi доступен через стандартные репозитории:
В Ubuntu/Debian: sudo apt install inxi
В Fedora:
sudo dnf install inxi
В Arch Linux:
sudo pacman -S inxi
httpie

Инструмент командной строки, который упрощает взаимодействие с веб-API, предоставляя более человекочитаемый вывод по сравнению с curl. Он предоставляет удобный синтаксис для отправки HTTP-запросов.

Из преимуществ:
- Удобный формат вывода (JSON, HTML).
- Автоматическая обработка ошибок.
- Легкость в отправке запросов с JSON-данными.

Debian, Ubuntu: sudo apt install httpie
AlmaLinux, CentOS: sudo yum install httpie
Fedora: sudo dnf install httpie

Пример использования: http GET https://example.com
Для отправки POST-запроса: http POST https://example.com key=value
Свободные лицензии

Выделяют две группы:

Взаимные лицензии — они обязуют пользователя распространять модифицированную программу на тех же условиях, что и исходную. К таким лицензиям относятся все виды GPL, LGPL и AGPL.

Разрешительные лицензии — содержат минимум пользовательских требований и разрешают создавать проприетарный софт на основе исходной программы. С другой стороны, разрешительные лицензии не позволяют автору исходного кода контролировать судьбу модифицированной версии ПО. К ним относятся: BSD, MIT и Apache.

Совместимость лицензий означает, что программы, распространяемые под этими лицензиями, могут быть объединены или код одной программы может быть использован в другой. Разрешительные лицензии в основном совместимы между собой, а вот версии GPL — нет.
Команда modinfo

Выводит информации о модуле: файл модуля, краткое описание, авторы, лицензия, параметры. 

modinfo <опция> <имя_модуля|имя_файла>
Если имя модуля не является именем файла, то будет выполнен поиск в каталоге /lib/modules/версия

Опции:
-V либо --version — Вывести версию modinfo.
-F либо --field — Вывести только значение этого поля, по одному в строке. 
-k — Предоставить информацию о другом ядре, а не о используемом в настоящее время. Эта возможность может потребоваться для извлечения информации из недавно установленного набора модулей.
Процесс загрузки Linux

Как только ядро Linux получает контроль над системой, оно подготавливает свои области памяти и драйвера. Затем оно передает управление init, чьей задачей является дальнейшая подготовка системы и проверка того, что в конце процесса загрузки, все необходимые сервисы запущены и пользователь способен войти в систему.

Init делает это с помощью запуска демона udev, Когда udev запущен, все оставшиеся файловые системы, которые не были примонтированы, монтируются, и запускаются остальные сервисы.

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

Но когда определены множественные файловые системы , этот процесс может стать немного более усложненным, но с давних пор решением для этой проблемы является использование "initrd" (initial root device).
Команда pstree 

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

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

Чтобы отключить объединение идентичных веток, примените:
pstree -c

Если в качестве аргумента указано имя пользователя, pstree отображает только процессы, принадлежащие этому пользователю:
pstree username

pstree также позволяет выделить процессы для лучшего визуального представления. Аргумент -h выделит текущий процесс и все его предки:
pstree -h
Смотрим общую информацию о жёстком диске

Для регулировки и просмотра параметров жёстких дисков с интерфейсом ATA существует утилита hdparm.

Утилита может установить такие параметры как объём кеш-памяти накопителя, спящий режим, управление питанием, управление акустикой и настройки DMA.

hdparm имеет очень серьёзный недостаток: утилита может привести к сбою компьютера и сделать данные на жёстком диске недоступными, после применения сочетания некоторых параметров.

Для просмотра общей информации о жёстком диске используется команда: hdparm -i /dev/sd<буква>
Найти и заменить строку с помощью sed

Sed — это неинтерактивный строчный редактор. С помощью sed вы можете искать, находить и заменять, вставлять и удалять слова и строки.

Общая форма поиска и замены текста с помощью sed имеет следующий вид:
sed -i 's/SEARCH_REGEX/REPLACEMENT/g' INPUTFILE

где -i — опция, указывающая sed редактировать файлы на месте.
s — заменяющая команда
/ — Символ-разделитель
SEARCH_REGEX — обычная строка или регулярное выражение для поиска
REPLACEMENT — строка замены
g — Флаг глобальной замены
INPUTFILE — имя файла, для которого вы хотите запустить команду