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

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

Регистрация в перечне РКН https://clck.ru/3EpL9L
Download Telegram
Довольно интересен с практической точки зрения каталог /sys/power.
В файле state находится состояние питание. Изменив должным образом содержимое этого файла, можно изменить состояние питания.

Например, вот как можно перевести систему в состояние "Suspend to RAM", когда питание процессора отключается, но питание на память подается, благодаря чему ее содержимое не уничтожается:
sudo echo -n mem > /sys/power/state

При желании можно отправить систему в состояние "Suspend to Disk", когда содержимое памяти будет записано на жесткий диск, после чего питание будет отключено:
sudo echo -n disk > /sys/power/state
Traffic Control. Команда tc 

Это набор инструментов для управления сетевым трафиком внутри Linux. 

То, что вы можете сделать с помощью tc, одновременно впечатляет и вызывает отвращение. Это не для слабонервных, и настройка различных манипуляций с трафиком отнюдь не проста, но научитесь понимать это, и вы сможете использовать всю мощь управления трафиком в Linux.


Распространенным примером использования tc является применение некоторой задержки пакетов к сетевому соединению. 

Чтобы создать задержку 100мс с помощью tc:
sudo tc qdisc add dev eth0 root netem delay 100ms

Теперь вы можете это проверить, пиганув например на 8.8.8.8

Чтобы убрать задержку, которую вы только что установили, выполните:
sudo tc qdisc del dev eth0 root
Создаем пользовательский отчет

Скрипт создает отчет о текущих пользователях в системе и сохраняет его в файл 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" — получает информацию о последнем входе пользователя.
Команда pstree 

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

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

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

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

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

Его основная задача выполнять нужные процессы в нужное время.

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

В этих папках должны находиться скрипты, которые нужно выполнять с указанным интервалом. Скрипты должны иметь права на выполнение и их имя не должно содержать точки.
Автоматическая очистка временных файлов

Cкрипт будет удалять файлы из директории /tmp, которые не изменялись более 7 дней.

#!/bin/bash
find /tmp -type f -mtime +7 -exec rm {} \;


find /tmp — ищет файлы в директории /tmp.
-type f — ищет только файлы (не каталоги).
-mtime +7 — находит файлы, которые не изменялись более 7 дней.
-exec rm {} \; — удаляет найденные файлы.
Изменение прав доступа командой 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
Для проверки скорости записи/чтения можно использовать утилиту dd

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

Измеряем скорость чтения:
dd if=testfile of=/dev/null bs=1M
Команда прочитает содержимое файла testfile и измерит скорость чтения данных из него.
Смотрим общую информацию о жёстком диске

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

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

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

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

Многие учат Linux, чтобы попасть в IT, стать сисадмином, DevOps-инженером, работать с серверами или просто лучше понимать, как всё устроено под капотом

Но Linux можно использовать не только как навык для работы

На его базе можно поднимать свои сервисы, автоматизации, CRM, ботов и небольшие приложения, которые решают реальные задачи бизнеса

И сейчас для этого уже не обязательно быть senior-разработчиком или годами пилить стартап

ИИ сильно упростил путь:
ты задаёшь направление, описываешь задачу, собираешь архитектуру — и нейронка помогает быстрее написать код, собрать MVP и довести идею до рабочего продукта

Для этого мы открыли доступ к видео «Архитектор кода»

Внутри — видео-урок о том, как начать делать свои SaaS-приложения и зарабатывать на них, даже если ты пока не считаешь себя сильным программистом

В видео ты увидишь реальные примеры:
— как ребята заработали 150 000 ₽ на своём приложении в App Store
— как сделали 300 000 ₽ на продаже простой CRM под конкретную нишу
— как можно собирать такие решения с помощью ИИ, серверов, кода и правильной постановки задачи

Главная мысль простая:
Linux, код и нейронки — это не только про работу «на кого-то»

Это база, с помощью которой можно собирать свои инструменты, тестировать идеи и постепенно создавать дополнительный источник дохода

ПОЛУЧИТЬ ВИДЕО

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

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

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