Linux для чайника @os_linux_ru Channel on Telegram

Linux для чайника

@os_linux_ru


Linux
- Разбор утилит / инструментов
- Новости / факты
- Опросы для проверки знаний, навыков
и многое другое.

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

Номер заявления РКН 4821320893

Linux для чайника (Russian)

Добро пожаловать в канал 'Linux для чайника'! Если вы интересуетесь операционной системой Linux, но только начинаете свой путь в этом мире, то этот канал идеально подойдет для вас. Здесь вы найдете разбор утилит и инструментов, самые свежие новости и факты о Linux, а также опросы для проверки ваших знаний и навыков. Мы предлагаем обширный контент о Linux, который поможет вам освоить это мощное средство операционной системы. Наш канал открыт для всех, кто хочет расширить свои знания в области Linux и стать настоящим профессионалом. Для вопросов о сотрудничестве обращайтесь к администратору @altmainf. Менеджеры канала всегда готовы помочь вам и ответить на все ваши вопросы. Присоединяйтесь к нам прямо сейчас и станьте частью нашего сообщества Linux-энтузиастов!

Linux для чайника

21 Nov, 11:01


Копирование файлов по ssh

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

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

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

Чтобы скопировать с локального компьютера директорию ~/mydir на удаленный компьютер в директорию /home/mycomputer:
scp -r ~/mydir [email protected]:/home/mycomputer

Linux для чайника

21 Nov, 09:00


Открытый урок для разработчиков баз данных, системных администраторов, аналитиков и архитекторов ПО

📒Тема:
Что нового в PostgreSQL 17?

📕Рассмотрим:
- Новые функции и улучшения производительности
- Улучшения в области безопасности
- Изменения в принципах работы репликации
- Практические кейсы

📗Результат:
- Ознакомитесь с новыми возможностями и улучшениями PostgreSQL 17
- Разберетесь с практическим приминенеим новых возможностей
- Оцените новые функции, улучшения и изменения в работе экосистемы

📘Спикер:
Железной Алексей — опытный разработчик и преподаватель, Senior Data Engineer.

Встречаемся 25 ноября в 20:00 мск.

Всем участникам- скидка 15% на курс "Базы данных".

👉 Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок: https://otus.pw/fNRa/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Linux для чайника

18 Nov, 11:04


Поиск блочных устройств

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

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

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

Linux для чайника

18 Nov, 09:03


YADRO приглашает Software Engineer на SPRINT OFFER 🔍

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

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

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

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

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

Станьте частью YADRO!

Linux для чайника

18 Nov, 09:02


Получить всю информацию о компонентах компьютера можно с помощью команды 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

Linux для чайника

13 Nov, 11:59


Команда nl

Нумерация строк облегчает чтение и упрощает запоминание вашего места или указания на конкретный раздел.

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

Самый простой способ использования команды nl:
cat <file> | nl

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

Linux для чайника

11 Nov, 11:04


.IMG файл

Файл IMG представляет собой файл образа диска, созданный различными приложениями для работы с образами дисков, такими как H+H Software Virtual CD. Он хранит точную копию данных на CD или DVD и используется для резервного копирования и записи новых дисков.

Файлы IMG, созданные разными программами создания образа диска, могут использовать разные форматы. Например, файлы IMG, созданные SlySoft CloneCD, должны быть объединены в пару с соответствующими файлами .CCD и .SUB, прежде чем их можно будет использовать для создания диска.

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

Linux для чайника

08 Nov, 10:59


Инициализация физических томов

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

Команда инициализации /dev/sdd1, /dev/sde1 и /dev/sdf1 выглядит так:
pvcreate /dev/sdd1 /dev/sde1 /dev/sdf1

Для инициализации отдельных разделов применяется команда pvcreate. Следующий пример инициализирует /dev/hdb1 как физический том для дальнейшего включения в логический том LVM.

pvcreate /dev/hdb1

Linux для чайника

05 Nov, 13:59


Кроме bash в Linux существуют и другие оболочки: sh, csh, ksh, zsh, tcsh и пр. Все командные оболочки, установленные в системе, прописаны в файле /etc/shells.


Иногда в файле /etc/shells можно найти /bin/false и /bin/true, которые не являются оболочками. Это «заглушки», которые можно использовать, если вы хотите отключить ту или иную учетную запись пользователя.

Как известно, при входе пользователя в систему запускается установленная для него оболочка. Так вот, если для какого-либо пользователя задать оболочку /bin/false (или /bin/true), он не сможет войти в систему. Точнее, в систему-то он войдет, но и сразу выйдет из нее, поскольку сессия пользователя длится до завершения работы его оболочки, а обе заглушки ничего не делают, кроме того, что просто возвращают значение 0 (для false) или 1 (для true).

Linux для чайника

04 Nov, 11:03


Контроль активности пользователя

Чтобы мониторить действий пользователей в системе, можно использовать два приложения — psacct или acct.

Они предоставляют отличный способ отслеживать, что делают пользователи, какие команды они запускают, сколько ресурсов они потребляют, как долго пользователи активны в системе. Еще одна замечательная особенность в том, что она дает общие ресурсы, потребляемые такими службами, как Apache, MySQL, FTP, SSH и т.д.

Команды для мониторинга действий процесса:
 ⁃ ac — выводит статистику пользовательских входов/выходов (время подключения) в часах.
 ⁃ lastcomm — печатает информацию о ранее выполненных командах пользователя.
 ⁃ accton — используются для включения/выключения процесса учета.
 ⁃ sa — суммирует информацию о ранее выполненных командах.
 ⁃ last и lastb — показывают список последних зарегистрированных пользователей.

Пакет psacct доступен только для дистрибутивов на основе rpm (RHEL, CentOS и Fedora), а acct — для Ubuntu, Debian и Linux Mint.

Linux для чайника

03 Nov, 10:59


Команда more

Утилита more предназначена для постраничного просмотра файлов в терминале Linux. Команда more — одна из самых примитивных команд для работы с текстом.

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

Для того, чтобы просмотреть текст из файла filename.txt:
more filename.txt

Также в команде можно перечислить несколько имён файлов одно за другим, разделяя их пробелом. Содержимое этих файлов будет выведено в том же порядке:
more file1.txt file2.txt

Порой необходимо вывести на экран не весь текст, а только его часть. Для таких случаев предусмотрены опции - (минус) и + (плюс), рядом с которыми указывается число строк. Чтобы увидеть содержимое файла, начиная с 8-й строки, следует добавить к команде опцию +8, а чтобы команда выводила результат, состоящий максимум из 5-ти строк, опцию -5:
more +8 -5 filename.txt

Также more умеет работать не только с выводами других команд:
locate bin | more -10

Linux для чайника

01 Nov, 10:59


Как сохранить изменения и выйти в текстовом редакторе nano

NANO простой текстовый редактор. Чтобы сохранить изменения нужно нажать сочетание клавиш Ctrl + O , после этого редактор попросит ввести имя файла для сохранение. И когда все готово, достаточно нажать Enter. Чтобы выйти — Ctrl+X

Однако, если вы попытаетесь сохранить данные в файл, к которому у вас нет доступа, то получите ошибку: "Ошибка записи /имя/файла: Отказано в доступе"

Проще всего, закрыть редактор, нажав Ctrl+X не сохраняя изменений. На вопрос редактора про сохранение буфера надо ответить No. А затем открыть редактор уже от имени суперпользователя.

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

Новый файл сохранится туда, потом вы сможете переместить его вместо старого в помощью команды mv уже используя sudo.

Linux для чайника

31 Oct, 11:00


Если необходимо использовать арифметические операторы в сценариях оболочки, поможет команда expr (которая выполняет даже некоторые операции со строками).

Например: expr 5 + 2 выводит результат 7.

Полный перечень операций: expr --help

expr
не хранит результат, а по умолчанию просто печатает ответ. Но никто не запрещает сохранять результат в переменные:
A=$( expr 12 - 7 )
echo $A # 5

Применение команды expr — это неуклюжий и медленный способ выполнения математических вычислений.

Если вам часто приходится заниматься ими, то, лучше использовать что-то вроде Python.

Linux для чайника

30 Oct, 10:59


Использование кавычек может привести к некоторым запутанным моментам.

Допустим, вы желаете напечатать строку $100 и для этого набираете следующее:
echo $100
Получаем: 00

Почему? Потому что оболочка увидела фрагмент $1, который является переменной оболочки.

Вы могли бы решить, что, если поместить текст в кавычки, оболочка не заметит фрагмент $1. Но это тоже не работает:
echo "$100"
Получаем: 00

Тогда вы спрашиваете об этом у приятеля, который отвечает, что необходимо вместо двойных кавычек использовать одинарные:
echo '$100'
Получаем: $100

Linux для чайника

29 Oct, 13:59


Команда awk не является простой командой с единственным способом применения; на самом деле это мощный C-подобный скриптовый язык построчного разбора и обработки входного потока по заданным шаблонам, которому посвящены целые книги.

К сожалению, искусство применения языка awk сейчас практически утрачено, поскольку его заменили более развитые языки, такие как Python.

Очень многие пользователи используют команду awk с единственной целью: чтобы выбрать отдельное поле из потока ввода, например:

ls -l | awk '{print $5}'

Эта команда выводит пятое поле из отчета команды ls (размер файла). В результате получится список, содержащий размеры файлов.

Linux для чайника

28 Oct, 12:02


Ограничение дискового I/O с помощью cgroups

Control Groups (cgroups) в Linux позволяют ограничивать дисковое I/O для группы процессов.

Для начала необходимо создать группу для ограничения:
sudo cgcreate -g blkio:/mygroup


Далее настраивается ограничение на использование дискового I/O для группы mygroup. Например, ограничение на 1 MB/s:
echo "8:0 1048576" | sudo tee /sys/fs/cgroup/blkio/mygroup/blkio.throttle.read_bps_device

echo "8:0 1048576" | sudo tee /sys/fs/cgroup/blkio/mygroup/blkio.throttle.write_bps_device


Добавьте процесс в группу cgroups, указав его PID:
sudo cgclassify -g blkio:/mygroup <PID>


Либо запустите процесс непосредственно в группе cgroups:
sudo cgexec -g blkio:/mygroup <command>


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

Linux для чайника

25 Oct, 16:05


Ограничение памяти с помощью cgroups

Control Groups (cgroups) позволяют ограничивать объем памяти, доступной для группы процессов.

Для начала необходимо создать группу для ограничения памяти:
sudo cgcreate -g memory:/mygroup


Далее настраиваются ограничение на использование памяти для группы mygroup. Например, ограничение на 512 MB:
echo 512M | sudo tee /sys/fs/cgroup/memory/mygroup/memory.limit_in_bytes



Добавьте процесс в группу cgroups, указав его PID:
sudo cgclassify -g memory:/mygroup <PID>


Либо запустите процесс непосредственно в группе cgroups:
sudo cgexec -g memory:/mygroup <command>


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

Linux для чайника

25 Oct, 11:00


Ограничение процессорного времени с помощью cgroups

Control Groups (cgroups) позволяют ограничивать процессорное время для группы процессов. Это полезно для предотвращения от чрезмерного использования CPU одного процесса, что может повлиять на производительность других процессов.

Для начала создайте группу:
sudo cgcreate -g cpu:/mygroup


Далее настраивается ограничение на использование процессора для группы mygroup. Например, чтобы ограничить использование до 50% процессорного времени:
echo 50000 | sudo tee /sys/fs/cgroup/cpu/mygroup/cpu.cfs_quota_us

echo 100000 | sudo tee /sys/fs/cgroup/cpu/mygroup/cpu.cfs_period_us


Добавьте процесс в группу cgroups, указав его PID:
sudo cgclassify -g cpu:/mygroup <PID>


Либо запустите процесс непосредственно в группе cgroups:
sudo cgexec -g cpu:/mygroup <command>


Теперь процесс будет ограничен в использовании процессорного времени, что обеспечит более равномерное распределение ресурсов.

Linux для чайника

24 Oct, 11:05


diff и cmp — сравнение файлов

Команда diff
служит для сравнения двух файлов. Формат вызова команды:
diff параметры файл1 файл2

В выводе команды отличающиеся строки помечаются символами:
□ строка из первого файла помечается символом <;
□ строка из второго файла — символом >.

полезные параметры команды diff:
-b Игнорируются пробельные символы в конце строки
Игнорируются пустые строки
Используется при создании сценария для редактора ed. Этот сценарий пре вращает первый файл во второй
-w Игнорируются пробельные символы
Вывод в два столбца
-r Используется для сравнения файлов в подкаталогах. Вместо первого файла указывается первый каталог, вместо второго файла — соответственно, второй каталог.


Команда cmp также служит для сравнения двух файлов: если файлы идентичны, то ничего не выводит, а вот если файлы отличаются, то cmp выводит номер строки и номер символа в строке, откуда начинается различие.

Команда cmp более универсальна, поскольку она может использоваться для сравнения как текстовых, так и двоичных файлов. В отличие от нее, команда diff и ее аналоги умеют сравнивать только текстовые файлы.
Формат вызова команды сmp следующий:
cmp [параметры] файл1 файл2

полезные параметры команды cmp
:
Вывод отличающихся символов
-i n Игнорировать первые n символов
-l Вывод позиций всех отличий, а не только первого
-s Не выводить информацию на экран, при этом код возврата будет следующим:
0 — файлы одинаковые;
1 — файлы отличаются;
2 — ошибка при открытии одного из файлов