Terrareg
Реестр модулей Terraform с открытым исходным кодом, пользовательским интерфейсом, дополнительной интеграцией с Git и глубоким анализом
Предоставляет функции для упрощения использования и поиска модулей, включая:
- Полностью реализованный API модулей Terraform
- Полностью управляемый через API для автоматизации всех функций
- Хранение модулей Terraform локально или из внешнего Git-источника
- Аналитика использования модулей
- Вся информация о модуле — README, входные и выходные параметры, требования к провайдерам и управляемые ресурсы
- Уведомления о безопасности для каждого модуля, подмодуля и примеров
- Оценка стоимости для каждого примера модуля
- Исходный код примеров модулей прямо в интерфейсе с автоматической перепиской аргументов
- Интерактивный «Конструктор использования» для помощи в создании Terraform-кода, использующего модули
- Хуки для приложений Git SCM для автоматической индексации модулей
- Аутентификация через SSO (OpenID Connect/SAML2) и GitHub
- Поддержка провайдеров Terraform (на очень ранней альфа-версии)
https://github.com/MatthewJohn/terrareg
Реестр модулей Terraform с открытым исходным кодом, пользовательским интерфейсом, дополнительной интеграцией с Git и глубоким анализом
Предоставляет функции для упрощения использования и поиска модулей, включая:
- Полностью реализованный API модулей Terraform
- Полностью управляемый через API для автоматизации всех функций
- Хранение модулей Terraform локально или из внешнего Git-источника
- Аналитика использования модулей
- Вся информация о модуле — README, входные и выходные параметры, требования к провайдерам и управляемые ресурсы
- Уведомления о безопасности для каждого модуля, подмодуля и примеров
- Оценка стоимости для каждого примера модуля
- Исходный код примеров модулей прямо в интерфейсе с автоматической перепиской аргументов
source
- Интерактивный «Конструктор использования» для помощи в создании Terraform-кода, использующего модули
- Хуки для приложений Git SCM для автоматической индексации модулей
- Аутентификация через SSO (OpenID Connect/SAML2) и GitHub
- Поддержка провайдеров Terraform (на очень ранней альфа-версии)
https://github.com/MatthewJohn/terrareg
❤2
Совет по Linux 💡
Ты, вероятно, используешь
Но если тебе больше по душе команда
Ты, вероятно, используешь
tail -f
, чтобы в реальном времени смотреть логи.Но если тебе больше по душе команда
less
, её тоже можно использовать для просмотра логов в реальном времени:less +F filename
👍5❤3
Утилита для бэкапов Borgbackup
Дедуплицирующий архиватор с сжатием и защищенным шифрованием.
BorgBackup дает вам:
Экономия места при хранении резервных копий.
Безопасное, аутентифицированное шифрование.
Сжатие: lz4, zstd, zlib, lzma или без него.
Возможность монтирования резервных копий с помощью FUSE.
Простая установка на различных платформах: Linux, macOS, BSD, ...
Свободное программное обеспечение (лицензия BSD).
Поддерживается большим и активным сообществом разработчиков с открытым исходным кодом.
GitHub https://github.com/borgbackup/borg
Demo https://www.borgbackup.org/demo.html
Дедуплицирующий архиватор с сжатием и защищенным шифрованием.
BorgBackup дает вам:
Экономия места при хранении резервных копий.
Безопасное, аутентифицированное шифрование.
Сжатие: lz4, zstd, zlib, lzma или без него.
Возможность монтирования резервных копий с помощью FUSE.
Простая установка на различных платформах: Linux, macOS, BSD, ...
Свободное программное обеспечение (лицензия BSD).
Поддерживается большим и активным сообществом разработчиков с открытым исходным кодом.
GitHub https://github.com/borgbackup/borg
Demo https://www.borgbackup.org/demo.html
❤2👍2
Выводим список файлов в домашней директории без использования ls или его алиасов
1. dir
2. printf
3. echo
3. vim
4. rm
5. rsync
6. grep
7. file
8. stat
9. head
10. getfacl
11. git
12. cat
13. lsattr
1. dir
dir -aA ~
2. printf
printf "%s\n" ~/* ~/.*
3. echo
echo -e 'echo \t\ty\b\b\b\b\b\b\b' | bash -i
echo -e 'echo \t\ty\b\b\b\b\b\b\b' | sh -i
3. vim
vim ~
4. rm
yes "n" | rm -i $HOME/* $HOME/.* 2>&1|grep -o "$HOME[^']*"
(echo y; yes n) | rm -ir ~ 2>&1 | sed -E -e "s/(rm:[^']+)|\?//g"
5. rsync
rsync --list-only ~/
6. grep
grep -l '.*' ~/* ~/.* 2>/dev/null || grep -L '.*' ~/* ~/.* 2>/dev/null
7. file
file ~/* ~/.*
8. stat
stat ~/* ~/.*|grep "/home"|awk '{print $2}'
stat -c "%A %G:%U %s %x %n" * \.*
stat *|awk '/File:/{print $2}'
9. head
head -n 0 -v ~/* ~/.*|awk '{print $2}'
10. getfacl
getfacl ~/* ~/.* | grep "# file" | awk '{print $3}'
11. git
git init ~/ ; curr=`pwd`; cd ~ ; git status; rm -rf .git; cd $curr ; curr=''
12. cat
cat ~ |strings |xargs -IX sh -c 'test -e X && echo X'
13. lsattr
lsattr ~/* ~/.* 2>&1 | grep -Po '/.*'
😁6👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Быстрый совет для Linux 💡
Вы можете посмотреть неудачные попытки входа на ваш Linux-сервер с помощью команды:
Эта команда считывает данные из /var/log/btmp и отображает их в удобном для чтения формате.
Вы можете посмотреть неудачные попытки входа на ваш Linux-сервер с помощью команды:
$ lastb
Эта команда считывает данные из /var/log/btmp и отображает их в удобном для чтения формате.
👍4❤2
Подборка редакторов для Linux
▪️Vim - это продвинутый текстовый редактор, созданный для комплексного редактирования текста. Это улучшенная версия редактора Vi, доступного в большинстве UNIX-систем.
Установка
▪️Nano - это текстовый редактор на основе командной строки с открытым исходным кодом для UNIX-подобных операционных систем. Он был создан по образу и подобию радактора Pico, но с рядом заметных улучшений.
Установка
▪️GNU Emacs - это настраиваемый, расширяемый текстовый редактор с открытым исходным кодом в семействе текстовых редакторов Emacs. Он популярен за счет широкого спектра доступных команд. Кроме того, для GNU Emacs существует множество плагинов, количество которых постоянно пополняется.
Установка
▪️Gedit - это приложение с открытым исходным кодом, предназначенное для редактирования обычного текста. Он имеет понятный графический интерфейс, подобный Блокноту. Gedit, который создан под GNOME, отличается простотой использования.
Установка
▪️Geany - это текстовый редактор с открытым исходным кодом GTK+. Его особенность заключается в том, что он позволяет подключать сторонние библиотеки для создания полноценной среды разработки. С его помощью Вы сможете удобно писать код на разных языках (C, Java, Pascal, PHP и многих других).
Установка
▪️Kate (KDE Advanced Text Editor) - многофункциональный текстовой редактор из среды рабочего стола KDE.
Установка
▪️Notepadqq - это совершенно бесплатный редактор исходного кода, созданный в качестве альтернативы Notepad++ для Linux.
Установка
▪️Vim - это продвинутый текстовый редактор, созданный для комплексного редактирования текста. Это улучшенная версия редактора Vi, доступного в большинстве UNIX-систем.
Установка
sudo apt install vim #[Для Ubuntu / Debian]
sudo yum install vim #[Для CentOS / Fedora]
▪️Nano - это текстовый редактор на основе командной строки с открытым исходным кодом для UNIX-подобных операционных систем. Он был создан по образу и подобию радактора Pico, но с рядом заметных улучшений.
Установка
# apt install nano [Для Ubuntu/Debian]
# yum install nano [Для CentOS/Fedora]
▪️GNU Emacs - это настраиваемый, расширяемый текстовый редактор с открытым исходным кодом в семействе текстовых редакторов Emacs. Он популярен за счет широкого спектра доступных команд. Кроме того, для GNU Emacs существует множество плагинов, количество которых постоянно пополняется.
Установка
sudo apt install emacs #[Для Ubuntu / Debian]
sudo yum install emacs #[Для CentOS / Fedora]
▪️Gedit - это приложение с открытым исходным кодом, предназначенное для редактирования обычного текста. Он имеет понятный графический интерфейс, подобный Блокноту. Gedit, который создан под GNOME, отличается простотой использования.
Установка
sudo apt install gedit #[Для Ubuntu / Debian]
sudo yum install gedit #[Для CentOS / Fedora]
▪️Geany - это текстовый редактор с открытым исходным кодом GTK+. Его особенность заключается в том, что он позволяет подключать сторонние библиотеки для создания полноценной среды разработки. С его помощью Вы сможете удобно писать код на разных языках (C, Java, Pascal, PHP и многих других).
Установка
sudo apt install geany #[Для Ubuntu / Debian]
sudo yum install geany #[Для CentOS / Fedora]
▪️Kate (KDE Advanced Text Editor) - многофункциональный текстовой редактор из среды рабочего стола KDE.
Установка
sudo apt install kate #[Для Ubuntu / Debian]
sudo yum install kate #[Для CentOS / Fedora]
▪️Notepadqq - это совершенно бесплатный редактор исходного кода, созданный в качестве альтернативы Notepad++ для Linux.
Установка
sudo apt install notepadqq #[Для Ubuntu / Debian]
sudo yum install notepadqq #[Для CentOS / Fedora]
❤4👍3👌2
This media is not supported in your browser
VIEW IN TELEGRAM
Трюки Vim.
Изменение регистра при замене
Как мы можем их использовать?
Например, мы можем найти все адреса электронной почты и перевести их в нижний регистр:
Ключевая часть здесь -
Вот еще один вариант. Допустим, мы хотим сделать часть адреса электронной почты, содержащую имя, строчной, но оставить регистр имени компании нетронутым. Таким образом,
Важным моментом здесь является подстановка. Мы используем
Изменение регистра при замене
\U
- если используется в схеме замены, то все, что после него, пишется в верхнем регистре\L
- строчные символы после него\u
- прописные буквы в первом символе того, что следует за ним\l
- опускает первый символ следующего за ним символа\e
или \E
- останавливает прописные или строчные буквыКак мы можем их использовать?
Например, мы можем найти все адреса электронной почты и перевести их в нижний регистр:
:%s/\S\+@\S\+/\L&/
Ключевая часть здесь -
\L
перед &
. Это означает, что в дальнейшем мы будем писать все в нижнем регистре.Вот еще один вариант. Допустим, мы хотим сделать часть адреса электронной почты, содержащую имя, строчной, но оставить регистр имени компании нетронутым. Таким образом,
[email protected]
станет [email protected]
. В этом случае нам нужно использовать \e
(или \E)
, чтобы завершить манипуляции с регистром символов на полпути к шаблону замены. Окончательная замена будет выглядеть следующим образом::%s/\(\S\+\)\(@\S\+\)/\L\1\e\2/g
Важным моментом здесь является подстановка. Мы используем
\L
, чтобы начать строчное написание, затем \1
для первого захвата (например, FirstLast), затем \e
, чтобы закончить строчное написание, а затем \2
для второго захвата (например, @Company.com
). В результате первая часть электронного адреса будет выделена нижним регистром, а все остальное останется неизменным.❤3
Большинство пользователей Linux знакомы с командой
Эта функция может быть особенно полезна системным администраторам и разработчикам, которым необходимо поддерживать несколько версий конфигурационных файлов или кода.
Понимание версионности в
Команда
1.
2.
Основное резервное копирование
Чтобы создать простую резервную копию:
Эта команда создаёт резервную копию с суффиксом по умолчанию в виде тильды (~) и инкрементирующимся номером.
Резервное копирование с пользовательским суффиксом
Для более описательных резервных копий:
Эта команда создаёт резервные копии с суффиксом .bak и инкрементирующимся номером.
Практический пример: Резервное копирование конфигурации SSH
Предположим, вы часто обновляете конфигурационный файл SSH (/etc/ssh/sshd_config) для управления правилами доступа. Вот как можно поддерживать версионные резервные копии:
1. Создайте нумерованную резервную копию:
Это создаст резервные копии, такие как sshd_config.~1~, sshd_config.~2~ и т.д.
2. Создайте нумерованную резервную копию с пользовательским суффиксом:
Это создаст резервные копии, такие как sshd_config.bak.1, sshd_config.bak.2 и т.д.
Преимущества
- Поддерживает историю изменений файлов
- Предотвращает случайное перезаписывание важных файлов
- Предлагает простую систему версионного контроля без необходимости в сложных инструментах управления версиями
cp
для копирования файлов. Однако немногие знают о её встроенных возможностях версионного контроля.Эта функция может быть особенно полезна системным администраторам и разработчикам, которым необходимо поддерживать несколько версий конфигурационных файлов или кода.
Понимание версионности в
cp
Команда
cp
предлагает два ключевых параметра для версионного контроля:1.
--backup
: Создаёт резервную копию целевого файла перед его перезаписью.2.
--suffix
: Указывает пользовательский суффикс для резервной копии файла.Основное резервное копирование
Чтобы создать простую резервную копию:
/$ cp --backup=numbered /path/to/source/file /path/to/destination/
Эта команда создаёт резервную копию с суффиксом по умолчанию в виде тильды (~) и инкрементирующимся номером.
Резервное копирование с пользовательским суффиксом
Для более описательных резервных копий:
$ cp --backup=numbered --suffix=.bak /path/to/source/file /path/to/destination/
Эта команда создаёт резервные копии с суффиксом .bak и инкрементирующимся номером.
Практический пример: Резервное копирование конфигурации SSH
Предположим, вы часто обновляете конфигурационный файл SSH (/etc/ssh/sshd_config) для управления правилами доступа. Вот как можно поддерживать версионные резервные копии:
1. Создайте нумерованную резервную копию:
$ cp --backup=numbered /etc/ssh/sshd_config /data/backup/
Это создаст резервные копии, такие как sshd_config.~1~, sshd_config.~2~ и т.д.
2. Создайте нумерованную резервную копию с пользовательским суффиксом:
$ cp --backup=numbered --suffix=.bak /etc/ssh/sshd_config /data/backup/
Это создаст резервные копии, такие как sshd_config.bak.1, sshd_config.bak.2 и т.д.
Преимущества
- Поддерживает историю изменений файлов
- Предотвращает случайное перезаписывание важных файлов
- Предлагает простую систему версионного контроля без необходимости в сложных инструментах управления версиями
👍5❤1
Трюки терминала Bash
Полезные комбинации клавиш (хоткеи) и небольшие хитрости, которые сделают Вашу работу в Linux более эффективной.
Горячие клавиши" Bash с Ctrl
Изменить заглавные на строчные и наоборот
Запустить предыдущую команду ещё раз
Запустить команду из истории по номеру (например, 53)
Запускает последнюю команду и меняет какой-то параметр. Например, меняем
Важно: предыдущая команда заменит только первое вхождение "aaa". Если вы хотите заменить все вхождения, используйте
Запустить последнюю команду, которая начинается с...
Например, до этого в истории команд была команда cat filename:
— запускает
Указание файлов по шаблону в Bash
Полезные переменные окружения Bash
Короткие переменные:
Более длинные, но тоже полезные переменные:
Полезные комбинации клавиш (хоткеи) и небольшие хитрости, которые сделают Вашу работу в Linux более эффективной.
Горячие клавиши" Bash с Ctrl
Ctrl + n
— то же самое, что и стрелка вниз.Ctrl + p
— то же самое, что и стрелка вверх.Ctrl + r
— поиск по предыдущим командам из истории команд (history). Продолжайте нажимать Ctrl + r
, чтобы искать дальше. Ctrl + Shift + r
— поиск в другую сторону.Ctrl + s
— остановить вывод в терминал.Ctrl + q
— восстановить вывод в терминал после Ctrl + s.Ctrl + a
— перейти к началу строки (аналог клавиши Home).Ctrl + e
— перейти к концу строки (аналог клавиши End).Ctrl + d
— если вы ввели что-то, то Ctrl + d
удаляет символ под курсором. В противном случае означает конец ввода и завершает текущую сессию Bash.Ctrl + k
— удалить весь текст от курсора до конца строки.Ctrl + x + backspace
— удалить весь текст от начала строки до курсора.Ctrl + t
— переставить символ до курсора на символ под курсором. Нажмите Esc + t
для перестановки двух слов до курсора.Ctrl + w
— удалить слово до курсора; затем Ctrl + y, чтобы вставить его.Ctrl + u
— удалить строку перед курсором; Ctrl + y для вставки его.Ctrl + _
— отменить ввод.Ctrl + l
— очищает окно терминала. То же самое, что и clear.Ctrl + x + Ctrl + e
— запускает редактор, определённый в переменной $EDITOR
, для ввода команды. Полезно для многострочных команд.Изменить заглавные на строчные и наоборот
Esc + u
— преобразовать буквы от курсора до конца строки в заглавные буквы.Esc + l
— преобразовать буквы от курсора до конца строки в нижний регистр.Esc + c
— заменить букву под курсором на заглавную.Запустить предыдущую команду ещё раз
Запустить команду из истории по номеру (например, 53)
!53
!!
— запуск последней команды.sudo !!
— запустить предыдущую команду с sudo.Запускает последнюю команду и меняет какой-то параметр. Например, меняем
"aaa" на "bbb":
# Последняя команда: echo 'aaa'
$ ^aaa^bbb
$ echo 'bbb'
bbb
Важно: предыдущая команда заменит только первое вхождение "aaa". Если вы хотите заменить все вхождения, используйте
:&
:^aaa^bbb^:&
# или
!!:gs/aaa/bbb/
Запустить последнюю команду, которая начинается с...
Например, до этого в истории команд была команда cat filename:
!cat
# или
!c
— запускает
cat filename
ещё раз.Указание файлов по шаблону в Bash
/etc/pa*wd
→ /etc/passwd
— символ *
означает "несколько любых символов"./b?n/?at
→ /bin/cat
— символ ?
означает "один любой символ".ls -l [a-z]*
— вывести список файлов, содержащих только буквы латинского алфавита. В квадратных скобках []
перечисляются символы, которые будут искаться. А символ *
после []
означает "хоть сколько раз".ls {*.sh,*.py}
— вывести все .sh и .py файлы. {}
используется для группировки нескольких шаблонов по принципу "или".Полезные переменные окружения Bash
Короткие переменные:
$0
— оболочка командной строки или путь до запускаемого файла.$1
, $2
, $3
, ... — аргументы запуска скрипта.$#
— число аргументов, переданных в скрипт из терминала.$?
— код завершения последней команды.$-
— текущие опции, установленные для оболочки.$$
— идентификатор текущего процесса.$!
— идентификатор процесса, завершённого последним.Более длинные, но тоже полезные переменные:
$DESKTOP_SESSION
— текущий менеджер дисплеев.$EDITOR
— редактор текста по умолчанию.$LANG
— используемый системой язык.$PATH
— список директорий, в которых будут искаться исполняемые файлы.$PWD
— текущая директория.$SHELL
— текущая оболочка командной строки.$USER
— имя текущего пользователя.$HOSTNAME
— имя текущего хоста (компьютера).❤3❤🔥1👍1🔥1
Шпаргалка по скриптам Bash
Основы написания скриптов на Bash
Условные операторы
Циклы Bash
Арифметические операторы
Арифметические условные операторы
Операторы сравнения строк
Основы написания скриптов на Bash
Условные операторы
Циклы Bash
Арифметические операторы
Арифметические условные операторы
Операторы сравнения строк
❤🔥3👍2❤1
📌 Bash. Проверки файлов
Kоманды позволяют проверять различные условия, касающиеся файлов
#!/bin/bash
Kоманды позволяют проверять различные условия, касающиеся файлов
-d file
# Проверяет, существует ли файл, и является ли он директорией.-e file
# Проверяет, существует ли файл.-f file
# Проверяет, существует ли файл, и является ли он файлом.-r file
# Проверяет, существует ли файл, и доступен ли он для чтения.-s file
# Проверяет, существует ли файл, и не является ли он пустым.-w file
# Проверяет, существует ли файл, и доступен ли он для записи.-x file
# Проверяет, существует ли файл, и является ли он исполняемым.file1 -nt file2
# Проверяет, новее ли file1, чем file2.file1 -ot file2
# Проверяет, старше ли file1, чем file2.-O file
# Проверяет, существует ли файл, и является ли его владельцем текущий пользователь.-G file
# Проверяет, существует ли файл, и соответствует ли его идентификатор группы идентификатору группы текущего пользователя.#!/bin/bash
mydir=/home/likegeeks
if [ -d $mydir ] # если файл сущетсвует и он является директорией
then
echo "The $mydir directory exists" # выводим сообщение
cd $mydir # переходим в него
ls # отображаем содержимое
else # ИНАЧЕ
echo "The $mydir directory does not exist"
fi
❤🔥3❤1👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Совет для Linux 💡
Вы можете посмотреть неудачные попытки входа на ваш Linux-сервер с помощью команды:
Эта команда просто считывает данные из /var/log/btmp и отображает их в удобном для чтения формате.
Вы можете посмотреть неудачные попытки входа на ваш Linux-сервер с помощью команды:
$ lastb
Эта команда просто считывает данные из /var/log/btmp и отображает их в удобном для чтения формате.
❤2👍1