Linux Skill - Освой Linux c нуля до DevOps – Telegram
Linux Skill - Освой Linux c нуля до DevOps
11.3K subscribers
68 photos
103 videos
500 links
Освой Linux c нуля до DevOps
Подробный гайд по Linux и море других уроков для системных администраторов

📩 По всем вопросам: @chorapov

РКН https://vk.cc/cMUwm4
Download Telegram
Media is too big
VIEW IN TELEGRAM
🚀 Урок 10 — Bash: как красиво выводить большие числа

Привет, цифровой эстет! 👋
Сегодня разберёмся, как сделать числа в Bash удобными для чтения: добавим разделители тысяч, обработаем дробную часть и научимся кастомизировать вывод. Да, красиво — тоже по-админски.

Зачем смотреть?
Научишься форматировать числа по разрядам без боли
Освоишь работу с cut, while, getopts, shift и флагами
Сделаешь свой скрипт гибким — под любые региональные форматы

Таймкоды:
00:03 — Зачем нормализовать числа
00:57 — Переменные и функция Nice number
01:52 — Деление числа на целую и дробную часть
03:20 — Учет дробной части
04:56 — Обработка больших чисел через цикл
06:43 — Добавление нулей и финальная сборка
09:08 — Итоговый вывод результата
12:23 — Обработка флагов через getopts
15:21 — Параметры и вывод
18:05 — Смещение аргументов (shift)
20:33 — Проверка параметров и пример
23:46 — Обработка дробной части и тысяч
25:06 — Сборка итогового значения
30:15 — Финальные штрихи
32:09 — Заключение и прощание

🌐 Источник: https://www.youtube.com/watch?v=WOAfSn5HbmM&t

📩 Завтра: Вопрос №34 из теста Linux Essentials Certification
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Как управлять iptables на лету — без sudo, без потерь
🧠 - DNS — самая недооценённая технология, без которой интернет не работает
🧠 - Подними свой DNS-сервер и забудь про Google DNS

#Linux_youtube #bash #linux #bashскрипты #обучение #Linux\_youtube
👍7
Вопрос №34 из теста Linux Essentials Certification: Which of the following file systems is most commonly used for Linux distributions? | Какая из следующих файловых систем наиболее часто используется в дистрибутивах Linux?
Anonymous Quiz
93%
Ext4
4%
FAT32
1%
HFS+
2%
NTFS
👍2
Media is too big
VIEW IN TELEGRAM
🚀 Урок 11 — Проверка чисел в диапазоне на Bash: строго, по правилам

Привет, линуксоид с инженерной строгостью! 👋
Сегодня научимся проверять, попадает ли введённое пользователем число в допустимый диапазон. Безопасность и валидация — наше всё, особенно в автоматизированных скриптах.

Зачем смотреть?
Напишешь Bash-функцию для проверки чисел с границами
Узнаешь, как удалять символы и подстроки из строки
Освоишь практику обработки отрицательных чисел и ошибок ввода

Таймкоды:
00:05 — Введение: зачем нужна проверка диапазона
00:30 — Работа со строками: удаление символов и подстрок
03:36 — Основная функция: параметры, валидация, подготовка
05:30 — Отрицательные числа и символы: защита от "мусора"
10:30 — Сравнение с границами диапазона
14:42 — Вызов функции и вывод результата
19:05 — Тесты: проверка на крайние значения
19:58 — Заключение и прощание

🌐 Источник: https://www.youtube.com/watch?v=_cBwZs7SXUA&t

📩 Завтра: Как можно случайно сломать систему, установив ПО вручную?
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Как работает export в bash и когда он реально нужен?
🧠 - Прокачай свой namei: секретная опция для идеального вывода!
🧠 - BTRFS: Твой ключ к суперсиле файловых систем!

#Linux_youtube #bash #linux #bashскрипты #обучение #Linux\_youtube
👍8🔥1
💣 Как можно случайно сломать систему, установив ПО вручную?

Привет, линуксоид! 👋

Кажется, что скачать программу с сайта и установить её вручную — это быстро и удобно. Но в Linux это может стоить работоспособности всей системы.

Когда ты устанавливаешь программы через:
- curl | sh
- компиляцию из исходников
- .deb файлы вне репозиториев

ты обходишь пакетный менеджер (apt, dnf), и:
- система не отслеживает установку
- обновления и удаление могут стать проблемой
- легко получить конфликт версий библиотек

Как безопасно устанавливать ПО:
- Использовать apt или официальные репозитории.
- Для .deb-файлов — sudo apt install ./file.deb (а не dpkg -i).
- Избегать скриптов curl | sh без проверки кода.
- Размещать ручные установки в /usr/local/ или $HOME/.local.

Помни: пакетный менеджер — это твой друг в Linux. 🛡

🌐 Источник: https://unix.stackexchange.com/questions/782971/is-it-safe-to-install-programs-other-than-with-a-distros-package-manager

📩 Завтра: Как etckeeper спасает сервер от криворуких админов!
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Линус Торвальдс — Человек, который придумал Linux [TED]
🧠 - Карта развития Linux-специалиста
🧠 - Операционная система - общие сведения

#stackoverflow #linux #security #package_manager #apt #bash #linuxskill
👍18🔥3
🔥 Как etckeeper спасает сервер от криворуких админов!

Привет, архитекторы серверов!

Когда из твоего /etc внезапно исчезают изменения — это тревожный звоночек.
Сегодня делюсь реальным кейсом, как на сервере внезапно пропали локейшены в nginx.conf. Всё оказалось банально: в /etc была спрятана .git-папка, а на сервере стоял etckeeper.

Что делает etckeeper?
🛡️ Он автоматически отслеживает любые изменения в /etc через git.
Если кто-то что-то сломал — ты сразу увидишь все изменения и сможешь откатить систему за пару команд.

Как установить и настроить:

sudo apt install etckeeper git
cd /etc
git remote add origin git@github.com:your-repo/etc.git
git push -u origin master


Перед пушем обязательно почисти .gitignore, убрав чувствительные файлы!

✔️ Чтобы зафиксировать изменения:

etckeeper commit "комментарий" && git push


✔️ Чтобы откатить только один файл:

etckeeper vcs checkout <commit_id> /etc/fstab


🎯 Теперь никакие магниты Марса и криворукие тестировщики не навредят твоему серверу!

📩 Завтра: Почему в Linux нужно запускать скрипты через ./ ?
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Управление процессами: Часть 2
🧠 - Docker с 0 до 100%. Всё, что нужно знать
🧠 - Управление процессами: Перенаправление ввода/вывода и конвейеры

#Linux_Mastery #linux #utils #devops #server
👍13
🔥 Почему в Linux нужно запускать скрипты через ./ ?

Доброе утро, мастера консоли! ☕️

Каждый в начале пути сталкивается с ошибкой:

noscript.sh: command not found


Вроде скрипт есть, права +x есть… а запустить нельзя.
В чём подвох?

💡 Всё просто: оболочка ищет команды только в каталогах, прописанных в $PATH.
Текущая директория (.) туда по умолчанию не входит — из соображений безопасности!

Чтобы запустить скрипт из текущей папки, нужно указать явно:

./noscript.sh


Тем самым ты говоришь системе: "Запусти ЭТОТ конкретный файл, а не ищи его где-то в системных каталогах".

Почему это важно для безопасности:

Представь, ты работаешь под рутом и влетаешь в папку пользователя. А там злой скрипт с именем ls. Без ./ ты бы случайно его запустил вместо нормального ls. Результат: потеря контроля над сервером.

✔️ Для надёжной работы cron-джобов или скриптов в автоматизации всегда указывай полные пути:

/bin/bash /home/user/noscript.sh


Или определяй команды явно:

CAT=$(which cat)
$CAT noscript.sh


И помни — добавлять . в $PATH крайне не рекомендуется! Это открывает брешь для атак.

📩 Завтра: Вопрос №35 из теста Linux Essentials Certification
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Управление процессами: Конвейер (pipeline)
🧠 - Управление процессами: Создание и выполнение скриптов командной строки
🧠 - Установка Docker

#Linux_Mastery #bash #linux #security
👍23
Вопрос №35 из теста Linux Essentials Certification: Where is the BIOS located? | Где находится BIOS?
Anonymous Quiz
89%
Motherboard
7%
RAM
3%
Hard drive
1%
LCD Monitor
👍5👀5
Media is too big
VIEW IN TELEGRAM
🚀 Урок 12 — Проверка вещественных чисел в Bash + подключение сценариев

Привет, мастер точности! 👋
Сегодня разберёмся, как корректно валидировать вещественные числа в Bash и подключать сторонние сценарии без ошибок. Урок для тех, кто хочет чистого кода даже в дробях!

Зачем смотреть?
Узнаешь, как отличать валидные вещественные числа от некорректных
Освоишь технику подключения внешних сценариев (source .sh)
Поймёшь, как строить функции валидации и повторно использовать код

Таймкоды:
00:03 — Введение: что считаем вещественным числом
01:13 — Подключение внешнего bash-сценария
02:01 — Основная функция: делим число на части
07:24 — Проверка целой части
09:15 — Проверка дробной части: никаких минусов!
13:47 — Обработка чисел без точки
15:22 — Блок тестирования и коды возврата
20:01 — Заключение и демонстрация на практике

🌐 Источник: https://www.youtube.com/watch?v=AC0HidtKpoU

📩 Завтра: Вопрос №36 из теста Linux Essentials Certification
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Terraform с нуля: как автоматизировать инфраструктуру за пару часов!
🧠 - Terraform: Модули, кластеры и магия автоматизации
🧠 - Почему set -e в bash может сломать тебе всё!

#Linux_youtube #bash #linux #bashскрипты #обучение #Linux\_youtube
👍4
Вопрос №36 из теста Linux Essentials Certification: How can the current directory and its subdirectories be searched for the file name MyFile.xml? | Как найти файл с именем MyFile.xml в текущем каталоге и его подкаталогах?
Anonymous Quiz
22%
grep -r MyFile.xml
13%
search MyFile.xml ./
4%
grep MyFile.xml | find
59%
find . -name MyFile.xml
2%
less MyFile.xml
👍13🔥3
Media is too big
VIEW IN TELEGRAM
🚀 Урок 13 — Проверка введённой даты в Bash: с учётом високосных годов

Привет, хранитель временных данных! 👋
Сегодня научимся проверять правильность введённой даты в Bash — с учётом месяцев, дней и даже високосных годов. Да, февраль — не такой простой, как кажется.

Зачем смотреть?
Узнаешь, как обрабатывать ввод даты и исключать ошибки
Научишься определять високосный год и проверять 29 февраля
Подключишь уже написанные сценарии и повторно используешь функции

Таймкоды:
00:03 — Введение и правила високосного года
00:59 — Импорт нормализации даты
02:15 — Первая функция: дни в месяце
04:05 — Проверка дня и месяца
05:59 — Определение високосного года
09:03 — Основной сценарий и импорт
11:53 — Переменные и запуск проверок
15:35 — Условия для 29 февраля
17:36 — Обработка некорректных дат
19:40 — Разбор функций и сценариев
21:34 — Повторная нормализация
22:28 — Финальная проверка дня и месяца
23:59 — Валидация даты и результат
24:48 — Тестирование на реальных примерах
26:35 — Заключение и прощание

🌐 Источник: https://www.youtube.com/watch?v=OymBqzuOMfY&t

📩 Завтра: Как скопировать только изменённые файлы с помощью rsync?
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - BTRFS: Продвинутые техники для настоящих гуру!
🧠 - LinPEAS: Твой помощник в поиске уязвимостей на Linux
🧠 - 10 возможностей Nginx, о которых ты точно не знал

#Linux_youtube #bash #linux #bashскрипты #обучение #Linux\_youtube
👍5
Как скопировать только изменённые файлы с помощью rsync?

Салют! Сегодня разберём одну крутую задачку! Когда работаешь с большими каталогами, часто возникает задача: обновить только изменённые файлы, не трогая новые.

И тут идеально подходит rsync!

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

rsync --checksum --existing -av source/ dest/


Расшифруем:
- --checksum — сравнивать файлы по содержимому, а не по дате или размеру.
- --existing — копировать только те файлы, которые уже есть в dest, новые не создавать.
- -a — режим архивации (права, симлинки и т.д.).
- -v — подробный вывод.

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

🌐 Источник: https://unix.stackexchange.com/questions/792314/using-rsync-to-copy-only-files-that-have-changed-not-files-that-are-new

📩 Завтра: ТОП-скрипты для автоматизации Linux задач
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - История UNIX. Часть 1
🧠 - История UNIX. Часть 2
🧠 - Установка и настройка Linux-системы: Astra

#stackoverflow #linux #rsync #bash #файлы #linuxskill
👍9🔥1
🚀 ТОП-скрипты для автоматизации Linux задач

Привет, искатель эффективности! 👨‍💻

Если хочешь меньше тратить время на рутину в Linux — тебе нужны правильные скрипты.

Сегодня делюсь отличной находкой: на GitHub лежит коллекция полезных bash-скриптов для автоматизации повседневных задач.
Проект развивается в духе "всё для жизни", без лишнего хлама.

🔹 Что можно найти:
- Скрипты для резервного копирования и восстановления
- Мониторинг состояния серверов
- Автоматическая очистка мусора и логов
- Сканирование сети
- Управление Docker-контейнерами
- Базовые операции с системными сервисами

💡 Особенно понравилась идея делать скрипты простыми, легко модифицируемыми под свои нужды.

Почему стоит заглянуть:
- Сэкономишь время на написание велосипедов
- Быстро расширишь свой арсенал инструментов
- Подчистишь и оптимизируешь свои сервера без лишних усилий

🌐 Репозиторий: https://github.com/ggeorgovassilis/linuxnoscripts

Забирай в закладки и используй на практике!

📩 Завтра: Секретная книга знаний для Linux и DevOps
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Управление пользователями и группами
🧠 - Управление файловой системой и разрешениями доступа
🧠 - Права Доступа и владения файлами и директориями

#Linux_Mastery #linux #bash #devops #automation #github
👍11👎3
📚 Секретная книга знаний для Linux и DevOps

Привет, цифровой исследователь! 🌍

Если ты искал идеальную подборку ресурсов для обучения, автоматизации и развития в Linux, DevOps и кибербезопасности — поздравляю, ты её нашёл!

The Book of Secret Knowledge — это огромная коллекция:
- ⚙️ Bash-скрипты и трюки
- 🛡️ Инструменты для тестирования безопасности
- 🖥️ Гайды по DevOps, CI/CD, облакам
- 🔍 Лучшие источники для быстрого поиска информации
- 🚀 Полезные утилиты для работы с сетью, файлами и системами

Каждая ссылка проверена временем и практикой. Можно сказать — это готовая энциклопедия для тех, кто хочет быть на шаг впереди.

💡 Почему стоит сохранить себе:
- Ускорит решение нестандартных задач
- Сэкономит время на поиске нужных инструментов
- Расширит технический кругозор

🌐 Ссылка на репозиторий: https://github.com/trimstray/the-book-of-secret-knowledge

📩 Завтра: Вопрос №37 из теста Linux Essentials Certification
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Управление пакетами и обновлениями
🧠 - Что такое TCP/IP
🧠 - Введение: стек сетевых протоколов, независимость и инкапсуляция уровней
🔥12👍3
Вопрос №37 из теста Linux Essentials Certification: What is the preferred source for the installation of new applications? | Какой источник предпочтительнее всего использовать для установки новых приложений в Linux?
Anonymous Quiz
3%
A CD-ROM disk
1%
A retail store
89%
The distribution's package repository
4%
The vendor's version management system
4%
The vendor's website
👍4🔥1
Media is too big
VIEW IN TELEGRAM
🚀 Урок 14 — Bash: произвольные вычисления с точностью до знака

Привет, арифметический архитектор! 👋
Сегодня разберёмся, как делать точные вычисления в Bash: деление, дроби, параметры точности. Простые echo $((1/3)) больше не прокатят 😉

Зачем смотреть?
Освоишь утилиту bc для точных вычислений
Узнаешь, как управлять параметром scale
Напишешь обёртку-сценарий, которая позволяет удобно передавать команды в bc

Таймкоды:
00:00 — Введение: зачем нужна произвольная точность
00:52 — Утилита bc и переменная scale
02:22 — Создание сценария-обёртки для bc
05:29 — Передача команд в bc через ввод
08:58 — Тестирование с разными значениями
10:13 — Заключение: где и как использовать

🌐 Источник: https://www.youtube.com/watch?v=iShlwjx9j-A&t=1s

📩 Завтра: Вопрос №38 из теста Linux Essentials Certification
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - 5 ошибок в настройке балансировки Nginx и как их избежать
🧠 - Как запросить ввод Yes/No/Cancel в shell скрипте?
🧠 - Топ команды для DevOps: Что спрашивают на собеседованиях?

#Linux_youtube #bash #linux #bashскрипты #обучение #Linux\_youtube
👍4
Вопрос №38 из теста Linux Essentials Certification: Which of the following commands can be used to extract content from a tar file? | Какая из следующих команд используется для извлечения содержимого из tar-архива?
Anonymous Quiz
23%
tar -e
68%
tar -xvf
3%
tar -vf
3%
tar -v
3%
tar -c
👍16🔥1
Media is too big
VIEW IN TELEGRAM
🚀 Урок 15 — Блокировка файлов в Bash: как защититься от гонки процессов

Привет, хранитель системного порядка! 👋
Сегодня научимся ставить «замки» на файлы — чтобы два сценария не лезли в один ресурс одновременно. Это особенно важно в cron-джобах, логах и автоматизации.

Зачем смотреть?
Поймёшь, зачем нужна блокировка и как избежать конфликтов
Освоишь утилиту lockfile и напишешь надёжный скрипт
Научишься обрабатывать ошибки и удалять блокировки вручную

Таймкоды:
00:03 — Зачем нужна блокировка файлов
02:10 — Утилита lockfile: установка и суть
03:56 — Переменные, опции и подготовка
08:22 — Проверка lockfile и запуск логики
10:42 — Обработка действия unlock
14:28 — Тестирование: блок, повторные попытки, удаление
16:33 — Заключение и демонстрация в действии

🌐 Источник: https://www.youtube.com/watch?v=To7_cUhCy4c&t=1s

📩 Завтра: Как убивать скрипты в Linux после минуты тишины
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Укроти символические ссылки с namei -n!
🧠 - 7 шагов к безопасному серверу: домен, Nginx, Apache, SSL
🧠 - Bash Урок 1: Введение для новичков

#Linux_youtube #bash #linux #bashскрипты #обучение #Linux\_youtube
👍3🔥3
🔥 Как убивать скрипты в Linux после минуты тишины

Привет, исследователь Linux! Когда скрипт "зависает" и перестаёт выводить данные, сервер может ждать бесконечно... Как автоматически завершить такой скрипт, если нет вывода в течение 1 минуты?

Вот решение:

output_timeout() (
set -o pipefail
export TIMEOUT=$1; shift
sh -c 'echo "$$"; exec stdbuf -oL "$@" 2>&1' sh "$@" | perl -ne '
BEGIN {
$SIG{ALRM} = sub {
warn "No output within $ENV{TIMEOUT} seconds, killing PID $pid";
kill "TERM", $pid;
}
}
alarm $ENV{TIMEOUT};
if (!$pid) {$pid = $_} else {print}'
)


Пример запуска:

output_timeout 60 ./s1.sh
output_timeout 60 ./s2.sh
output_timeout 60 ./s3.sh


Пояснение:
- Если скрипт не выводит ничего 60 секунд, он будет автоматически убит.
- После остановки можно запускать следующий скрипт.
- Стандартные потоки stdout и stderr объединены.

🌐 Источник: https://unix.stackexchange.com/questions/789260/how-to-automatically-terminate-shell-noscripts-after-1-minute-of-no-output

📩 Завтра: 10 навыков командной строки, которые ускорят твою работу в Linux
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Установка и настройка Linux-системы: Mint
🧠 - Установка и настройка Linux-системы: Kali
🧠 - Linux команды: ls, rm, mkdir, pwd, cd, echo

#stackoverflow #Linux #bash #скрипты #DevOps #администрирование #автоматизация
👍12👎1
⚡️ 10 навыков командной строки, которые ускорят твою работу в Linux!

👨‍💻 Осваивая Linux, многие застревают на базовых командах. Но есть несколько трюков, которые моментально прокачают твои навыки.

Вот что стоит изучить в первую очередь:

1⃣ Комбинирование команд через &&, || и ; — чтобы цеплять действия друг за другом без лишних скриптов.

2⃣ Работа с выводом с помощью | (пайпов) — перенаправляй результат одной команды в другую.

3⃣ Поиск по содержимому файлов с grep, find, ack или rg — находи информацию молниеносно.

4⃣ Расширенное редактирование в nano, vim, micro — ускорь свои правки без GUI.

5⃣ Менеджмент процессов (top, htop, ps, kill) — следи за загрузкой и оперативно управляй задачами.

6⃣ Создание алиасов — превращай длинные команды в короткие ярлыки.

7⃣ Работа с историей команд через history, Ctrl+R — мгновенный доступ к прошлым командам.

8⃣ Пакетные операции с xargs — передавай результаты поиска в другие команды.

9⃣ Быстрая диагностика сети через ping, traceroute, curl, netcat.

🔟 Навыки работы с файлами: tar, gzip, rsync, scp — бэкапы и переносы без боли.

💡 Не бойся экспериментировать и копить свой арсенал полезных приёмов. Чем глубже знаешь командную строку — тем быстрее решаешь любые задачи.

🌐 Источник: https://github.com/jlevy/the-art-of-command-line

📩 Завтра: 10 упражнений для прокачки навыков DevOps-инженера
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - VirtualBox: Установка и настройка
🧠 - Некоторые сведения о физическом уровне и управлении виртуальными машинами
🧠 - Установка и обзор Linux Ubuntu

#Linux #Bash #Terminal #Productivity #DevOps #github
👍10🔥2
🚀 10 упражнений для прокачки навыков DevOps-инженера

Привет, цифровые архитекторы! 🛠️

Если хочешь поднять свои DevOps-скилы на новый уровень — начни с реальных задач!

✔️ Проект DevOps Exercises — это кладезь практических заданий для всех уровней: от новичка до профи.

В репозитории собраны темы:
- Основы Linux и Bash
- Сетевые протоколы и безопасность
- Docker и Kubernetes
- CI/CD практики
- Работа с облаками (AWS, GCP)
- И многое другое!

✔️ Как использовать:
- Проходи упражнения в свободное время
- Прокачивай слабые зоны перед собеседованиями
- Отрабатывай навыки для реальных проектов

Плюс, вопросы разбиты по уровням сложности — можно расти поэтапно.

🎯 Совет: Пиши свои решения в отдельный репозиторий — будет портфолио для интервью!

🌐 Источник: https://github.com/bregman-arie/devops-exercises

📩 Завтра: Вопрос №39 из теста Linux Essentials Certification
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Интерфейсный уровень и его представление
🧠 - Интерфейсный уровень: сетевые мосты и VLAN
🧠 - Astra Linux 1.7: Репозитории MAIN, BASE и EXTENDED
🔥1
Вопрос №39 из теста Linux Essentials Certification: The output of the program date should be saved in the variable actdat. What is the correct statement? | Результат выполнения команды date должен быть сохранён в переменную actdat. Какой вариант верный?
Anonymous Quiz
5%
date | acdat
50%
date > $actdat
9%
set actdat='date'
31%
actdat=$(date)
5%
actdat='date'
👍14