fa
Feedback
Linux для чайника

Linux для чайника

رفتن به کانال در Telegram

Linux - Разбор утилит / инструментов - Новости / факты - Опросы для проверки знаний, навыков и многое другое. Только по вопросам сотрудничества: @altmainf Регистрация в перечне РКН https://clck.ru/3EpL9L

نمایش بیشتر

📈 تحلیل کانال تلگرام Linux для чайника

کانال Linux для чайника (@os_linux_ru) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 19 643 مشترک است و جایگاه 6 545 را در دسته فناوری و برنامه‌ها و رتبه 33 514 را در منطقه روسيا دارد.

📊 شاخص‌های مخاطب و پویایی

از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 19 643 مشترک جذب کرده است.

بر اساس آخرین داده‌ها در تاریخ 30 اوت, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -55 و در ۲۴ ساعت گذشته برابر -1 بوده و همچنان دسترسی گسترده‌ای حفظ شده است.

  • وضعیت تأیید: تأیید نشده
  • نرخ تعامل (ER): میانگین تعامل مخاطب 15.23% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 7.62% واکنش نسبت به کل مشترکان کسب می‌کند.
  • دسترسی پست‌ها: هر پست به طور میانگین 2 991 بازدید دریافت می‌کند. در اولین روز معمولاً 1 497 بازدید جمع‌آوری می‌شود.
  • واکنش‌ها و تعامل: مخاطبان به‌طور فعال حمایت می‌کنند؛ میانگین واکنش به هر پست 0 است.
  • علایق موضوعی: محتوا بر موضوعات کلیدی مانند linux, скрипт, bash, grep, мониторинг تمرکز دارد.

📝 توضیح و سیاست محتوایی

نویسنده این فضا را محل بیان دیدگاه‌های شخصی توصیف می‌کند:
Linux - Разбор утилит / инструментов - Новости / факты - Опросы для проверки знаний, навыков и многое другое. Только по вопросам сотрудничества: @altmainf Регистрация в перечне РКН https://clck.ru/3EpL9L

به لطف به‌روزرسانی‌های پرتکرار (آخرین داده در تاریخ 31 اوت, 2026)، کانال همواره به‌روز و دارای دسترسی بالاست. تحلیل‌ها نشان می‌دهد مخاطبان به‌طور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامه‌ها تبدیل کرده‌اند.

19 643
مشترکین
-124 ساعت
-237 روز
-5530 روز
آرشیو پست ها
Запускаем процесс и отцепляем его от терминала Например: python3 server.py & Теперь сделай: disown После закрытия терминала процесс продолжит работать, даже без nohup.

Узнаем файловую систему (тип файловой системы) в Linux 1. Через команду df -T Вывод покажет список всех смонтированных файловых систем с указанием их типа. 2. Через команду mount или findmnt mount | grep '^/dev' или: findmnt -T / Эти команды покажут, какие устройства куда смонтированы и с каким типом ФС. 3. Используя lsblk lsblk -f Отображает информацию о блочных устройствах, включая тип файловой системы. 4. С помощью sudo blkid Выводит информацию о типе ФС, UUID и другом 5. Используя file на устройство sudo file -s /dev/sda1 Показывает тип содержимого устройства, включая файловую систему.

🔍Тестовое собеседование с Head of DevOps уже завтра 28 июля(уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседов
🔍Тестовое собеседование с Head of DevOps уже завтра 28 июля(уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle DevOps-разработчика. Как это будет: 📂 Александр Хренников, Head of DevOps в KTS с опытом 14+ лет, будет задавать реальные вопросы и задачи разработчику-добровольцу 📂 Александр будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью 📂 В конце можно будет задать любой вопрос Александру Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для DevOps-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_devops_bot Реклама. О рекламодателе.

Поиск файлов с определенными настройками доступа Команда find в сочетании с флагом -perm позволяет искать файлы на основе их настроек разрешений. Чтобы найти файлы, у которых есть разрешения на чтение (r), запись (w) и выполнение (x) для владельца: find /path/to/search -type f -perm -700 Поиск файлов по разрешению и режиму доступа: find /path/to/search -type f -perm mode Чтобы найти файлы, у которых нет прав на запись для группы и других: find /path/to/search -type f ! -perm /go+w

Поиск файлов по нескольким расширениям С помощью команды find вместе с флагом -o (логическое ИЛИ) можно искать файлы по нескольким расширениям: find /path/to/search -type f \( -name "*.txt" -o -name "*.log" \) /path/to/search — это каталог, в котором вы хотите начать поиск. -type f указывает, что вы ищете файлы (а не каталоги). -name "*.txt" и -name "*.log" — это два условия, разделенные оператором -o. При этом выполняется поиск файлов с расширением .txt или .log.

Модуль ядра Linux — это точка входа в системную разработку Здесь уже недостаточно знать команды ОС, важно понимать архитектур
Модуль ядра Linux — это точка входа в системную разработку Здесь уже недостаточно знать команды ОС, важно понимать архитектуру ядра, сборку, загрузку и отладку на низком уровне. 🔔 3 августа в 20:00 МСК приглашаем вас на открытый урок, где мы разберём, зачем нужны модули ядра, как они встраиваются в работу операционной системы и какую роль играют в расширении её возможностей. На занятии вы: - узнаете, как создать собственный модуль, собрать его, запустить и отладить с помощью буфера сообщений ядра dmesg. - получите практические инструкции, с которых можно начать разработку под ядро Linux. Открытый урок проходит в преддверии старта курса «Разработка ядра Linux». Зарегистрируйтесь, если хотите сделать первый уверенный шаг от обычной работы с Linux к системному программированию: https://otus.pw/JlC0/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Задача: Сервер отвечает очень медленно CPU почти не загружен. RAM свободна. Но приложения работают крайне медленно. Что проверить I/O: iostat -x 1 Получаем:
util 100% await 1500 ms
Диск перегружен. Проверить процессы: iotop Видим:
backup.sh
который читает весь диск. Решение: Перенести backup. Используя ionice или nice

Задача: На сервере неожиданно закончилось место Условие: Команда df -h показывает
Filesystem Use% /dev/sda2 100%
Однако du -sh /* дает всего около 40 ГБ. Куда исчезло место? Решение: Такое происходит, когда удалили большой файл, но процесс продолжает его использовать. Проверяем: lsof | grep deleted Например:
java logfile deleted 30G
Процесс продолжает держать файл открытым. Освободить место Можно через: systemctl restart java или kill PID После завершения процесса место сразу освободится.

Задача: Сервер перестал загружаться после обновления ядра Условие: На сервере Ubuntu 24.04 после выполнения: apt update apt upgrade reboot сервер больше не загружается. На экране:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Требуется: • определить причину; • восстановить загрузку; • сохранить данные; • сделать так, чтобы проблема не повторилась. Что должен сделать администратор 1. Загрузиться со старого ядра В меню GRUB выбрать: Advanced options и загрузить предыдущую версию ядра. 2. Проверить наличие initramfs ls /boot Например: vmlinuz-6.8.0 initrd.img-6.8.0 Если initramfs отсутствует: update-initramfs -u 3. Проверить UUID blkid cat /etc/fstab Если UUID изменился — исправить. 4. Проверить драйверы Например RAID-контроллер требует модуль megaraid_sas Проверяем: lsinitramfs /boot/initrd.img | grep megaraid Если нет echo megaraid_sas >> /etc/initramfs-tools/modules update-initramfs -u 5. Переустановить GRUB grub-install /dev/sda update-grub Итог: Сервер успешно загружается.

Авария: Во время работы отказал диск /dev/sdb. После замены диска сервер необходимо полностью восстановить. Исходные условия: • Имеется сервер Ubuntu Server 24.04. Конфигурация: • два SSD по 1 ТБ (/dev/sda, /dev/sdb) • программный RAID1 (mdadm) • LVM поверх RAID • файловая система XFS • сервер предоставляет NFS • на сервере работает PostgreSQL • загрузчик GRUB установлен на оба диска Шаг 1. Проверяем состояние RAID: cat /proc/mdstat Получаем: md0 : active raid1 sda1[0] 976630336 blocks [2/1] [U_] U = диск исправен _ = диск отсутствует Также mdadm --detail /dev/md0 Вывод State : clean, degraded Active Devices : 1 Working Devices : 1 Failed Devices : 1 RAID работает в деградированном режиме. Шаг 2. Определяем неисправный диск: smartctl -a /dev/sdb Типичный вывод: SMART overall-health self-assessment test result: FAILED или I/O error Шаг 3. Исключаем диск из RAID Если он еще виден системой: mdadm /dev/md0 --fail /dev/sdb1 После этого mdadm /dev/md0 --remove /dev/sdb1 Теперь RAID использует только один диск. Шаг 4. Замена физического диска После замены сервер обнаружил новый диск. lsblk Получаем: sda sdb Но новый диск пустой. Шаг 5. Копируем таблицу разделов sgdisk -R=/dev/sdb /dev/sda Проверяем: fdisk -l Шаг 6. Меняем GUID разделов Если GPT: sgdisk -G /dev/sdb Иначе возникнет конфликт одинаковых UUID GPT. Шаг 7. Добавляем диск обратно в RAID mdadm /dev/md0 --add /dev/sdb1 Проверяем: cat /proc/mdstat Будет md0 : active raid1 sdb1[2] sda1[0] recovery Шаг 8. Следим за синхронизацией watch cat /proc/mdstat Ждем 100% После окончания: [UU] Шаг 9. Проверяем состояние RAID mdadm --detail /dev/md0 Получаем: State : clean Active Devices : 2 Шаг 10. Проверяем LVM pvdisplay vgdisplay lvdisplay Все тома должны быть доступны. Шаг 11. Проверяем файловую систему Для XFS: xfs_repair -n /dev/vg_data/lv_pg Параметр: -n означает только проверку без изменений. Если ext4: fsck -f Шаг 12. Проверяем точки монтирования mount или df -h Получаем: /dev/mapper/vg_data-lv_root /dev/mapper/vg_data-lv_pg /dev/mapper/vg_data-lv_nfs Шаг 13. Проверяем PostgreSQL systemctl status postgresql или pg_isready Должно быть: accepting connections Проверяем базы: sudo -u postgres psql SELECT now(); Шаг 14. Проверяем NFS systemctl status nfs-server showmount -e localhost Экспорт должен отображаться. Шаг 15. Восстанавливаем GRUB После замены диска загрузчик отсутствует. Устанавливаем: grub-install /dev/sdb Потом: update-grub Проверяем: efibootmgr -v (для UEFI) или grub-install /dev/sda grub-install /dev/sdb для BIOS. Шаг 16. Проверяем mdadm.conf cat /etc/mdadm/mdadm.conf Если UUID изменился mdadm --detail --scan >> /etc/mdadm/mdadm.conf Затем update-initramfs -u Шаг 17. Контрольная проверка cat /proc/mdstat [UU] lsblk mdadm --detail /dev/md0 systemctl status postgresql systemctl status nfs-server reboot После перезагрузки: cat /proc/mdstat Должно быть: [UU]

Кроме bash в Linux существуют и другие оболочки: sh, csh, ksh, zsh, tcsh и пр. Все командные оболочки, установленные в системе, прописаны в файле /etc/shells. Иногда в файле /etc/shells можно найти /bin/false и /bin/true, которые не являются оболочками. Это «заглушки», которые можно использовать, если вы хотите отключить ту или иную учетную запись пользователя. Как известно, при входе пользователя в систему запускается установленная для него оболочка. Так вот, если для какого-либо пользователя задать оболочку /bin/false (или /bin/true), он не сможет войти в систему. Точнее, в систему-то он войдет, но и сразу выйдет из нее, поскольку сессия пользователя длится до завершения работы его оболочки, а обе заглушки ничего не делают, кроме того, что просто возвращают значение 0 (для false) или 1 (для true).

👻 Заставь Linux зарабатывать деньги Многие учат Linux, чтобы попасть в IT, стать сисадмином, DevOps-инженером, работать с се
👻 Заставь Linux зарабатывать деньги Многие учат Linux, чтобы попасть в IT, стать сисадмином, DevOps-инженером, работать с серверами или просто лучше понимать, как всё устроено под капотом Но Linux можно использовать не только как навык для работы На его базе можно поднимать свои сервисы, автоматизации, CRM, ботов и небольшие приложения, которые решают реальные задачи бизнеса И сейчас для этого уже не обязательно быть senior-разработчиком или годами пилить стартап ИИ сильно упростил путь: ты задаёшь направление, описываешь задачу, собираешь архитектуру — и нейронка помогает быстрее написать код, собрать MVP и довести идею до рабочего продукта Для этого мы открыли доступ к видео «Архитектор кода» Внутри — видео-урок о том, как начать делать свои SaaS-приложения и зарабатывать на них, даже если ты пока не считаешь себя сильным программистом В видео ты увидишь реальные примеры: — как ребята заработали 150 000 ₽ на своём приложении в App Store — как сделали 300 000 ₽ на продаже простой CRM под конкретную нишу — как можно собирать такие решения с помощью ИИ, серверов, кода и правильной постановки задачи Главная мысль простая: Linux, код и нейронки — это не только про работу «на кого-то» Это база, с помощью которой можно собирать свои инструменты, тестировать идеи и постепенно создавать дополнительный источник дохода ПОЛУЧИТЬ ВИДЕО Доступ к видео открыт на 24 часа Кликай по тексту выше и посмотри, как начать делать свои приложения и сервисы

Смотрим общую информацию о жёстком диске Для регулировки и просмотра параметров жёстких дисков с интерфейсом ATA существует утилита hdparm. Утилита может установить такие параметры как объём кеш-памяти накопителя, спящий режим, управление питанием, управление акустикой и настройки DMA. hdparm имеет очень серьёзный недостаток: утилита может привести к сбою компьютера и сделать данные на жёстком диске недоступными, после применения сочетания некоторых параметров. Для просмотра общей информации о жёстком диске используется команда: hdparm -i /dev/sd<буква>

Для проверки скорости записи/чтения можно использовать утилиту dd Измеряем скорость записи: dd if=/dev/zero of=testfile bs=1M count=1000 conv=fdatasync Команда создаст файл testfile размером 1000 МБ, заполненный нулями, и измерит скорость записи данных в этот файл. Измеряем скорость чтения: dd if=testfile of=/dev/null bs=1M Команда прочитает содержимое файла testfile и измерит скорость чтения данных из него.

Изменение прав доступа командой chmod с помощью чисел. Чтобы изменить права доступа к файлу, можно воспользоваться командой chmod. В таком случае каждому праву доступа (чтение, запись и выполнение) присваивается номер — r=4, w=2 и x=1 соответственно, то есть для задания прав доступа используются наборы чисел. Например, чтобы установить полные права доступа для себя как владельца, необходимо определить первое число — 7 (4 + 2 + 1), а затем дать группе и другим пользователям право только на чтение, указав второе и третье числа — 4 (4 + 0 + 0), чтобы в итоге получилось число 744. Любая комбинация прав доступа включает числа от 0 (нет прав доступа) до 7 (полные права доступа). Примеры того, как изменить права доступа к файлу (с именем some_file) и как это будет выглядеть: Установим права доступа rwxrwxrwx: chmod 777 some_file Установим права доступа rwxr-xr-x: chmod 755 some_file Установим права доступа rw-r--r--: chmod 644 some_file Установим права доступа ---------: chmod 000 some_file

Автоматическая очистка временных файлов Cкрипт будет удалять файлы из директории /tmp, которые не изменялись более 7 дней.
#!/bin/bash
find /tmp -type f -mtime +7 -exec rm {} \;
find /tmp — ищет файлы в директории /tmp. -type f — ищет только файлы (не каталоги). -mtime +7 — находит файлы, которые не изменялись более 7 дней. -exec rm {} \; — удаляет найденные файлы.

Как работает cron Его основная задача выполнять нужные процессы в нужное время. Существует конфигурационный файл /etc/crontab, из которых он берет информацию о том что и когда нужно выполнять. Часто, в современных дистрибутивах там прописан запуск утилиты run-parts, которая запускает нужные скрипты из следующих папок: /etc/cron.minutely - каждую минуту /etc/cron.hourly - каждый час /etc/cron.daily - каждый день /etc/cron.weekly - каждую неделю /etc/cron.monthly - каждый месяц В этих папках должны находиться скрипты, которые нужно выполнять с указанным интервалом. Скрипты должны иметь права на выполнение и их имя не должно содержать точки.

Команда pstree  Похожа на ps, но вместо перечисления запущенных процессов, она показывает их в виде дерева. В простейшей форме, когда pstree вызывается без какой-либо опции или аргументов, она отображает иерархическую древовидную структуру всех запущенных процессов. Чтобы отключить объединение идентичных веток, примените: pstree -c Если в качестве аргумента указано имя пользователя, pstree отображает только процессы, принадлежащие этому пользователю: pstree username pstree также позволяет выделить процессы для лучшего визуального представления. Аргумент -h выделит текущий процесс и все его предки: pstree -h

⚠️ Хватит плодить хрупкие скрипты и оставлять дыры для троянов. Пора писать пуленепробиваемый инфраструктурный код. 🎥 Пригла
⚠️ Хватит плодить хрупкие скрипты и оставлять дыры для троянов. Пора писать пуленепробиваемый инфраструктурный код. 🎥 Приглашаем на вебинар - Продвинутый Bash На вебинаре вы узнаете: - Связка set -euo pipefail навсегда исключит тихое проглатывание ошибок и потерю данных в конвейерах. - Нативные подстановки Bash заменят тысячи ресурсоемких вызовов sed и сэкономят CPU. - Регулярный мониторинг системных профилей защитит продакшен от перехвата команд троянами. - Грамотный перехват сигналов через trap обеспечит безопасное сворачивание процессов при сбоях. В результате вебинара вы: - Замените многоуровневые костыли лаконичной логикой на базе ассоциативных массивов. - Исключите утечки глобальных переменных через жесткую изоляцию областей видимости в функциях. - Внедрите нативную построчную трассировку скриптов вместо примитивного дебага echo-принтами. - Начнете напрямую пробрасывать переменные окружения в SystemD-юниты для надежного старта сервисов. 🧠 Открытый урок проходит в преддверии старта курса «Администратор Linux. Продвинутый уровень» 👉 Для участи зарегистрируйтесь: https://otus.pw/fiOO/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Создаем пользовательский отчет Скрипт создает отчет о текущих пользователях в системе и сохраняет его в файл user_report.txt. (Отчет  содержит имя пользователя, его UID и время последнего входа).
#!/bin/bash
output_file="user_report.txt"
echo "User  Report" > "$output_file"
echo "===================" >> "$output_file"
cut -d: -f1,3,6 /etc/passwd | while IFS=: read user uid home; do
    last_login=$(last -n 1 "$user" | head -n 1 | awk '{print \$4, \$5, \$6, \$7}')
    echo "$user (UID: $uid) - Last login: $last_login" >> "$output_file"
done
cut -d: -f1,3,6 /etc/passwd — извлекает имя пользователя, UID и домашнюю директорию из файла /etc/passwd. last -n 1 "$user" — получает информацию о последнем входе пользователя.