Telegram Web Link
This media is not supported in your browser
VIEW IN TELEGRAM
Быстрый совет для Linux 💡

Вы можете посмотреть неудачные попытки входа на ваш Linux-сервер с помощью команды:

$ lastb


Эта команда считывает данные из /var/log/btmp и отображает их в удобном для чтения формате.
👍42
📌 Основные концепции Docker
1👍1
Подборка редакторов для 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 знакомы с командой 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 и т.д.

Преимущества

- Поддерживает историю изменений файлов
- Предотвращает случайное перезаписывание важных файлов
- Предлагает простую систему версионного контроля без необходимости в сложных инструментах управления версиями
👍51
📌 Полезные инструменты CLI для администраторов Linux
2
Трюки терминала 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
Арифметические операторы
Арифметические условные операторы
Операторы сравнения строк
❤‍🔥3👍21
📌 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
❤‍🔥31👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Совет для Linux 💡

Вы можете посмотреть неудачные попытки входа на ваш Linux-сервер с помощью команды:

$ lastb


Эта команда просто считывает данные из /var/log/btmp и отображает их в удобном для чтения формате.
2👍1
Руководство по SSH-туннелям

В этой статье описаны случаи использования и примеры туннелей SSH с наглядным представлением потоков трафика. Например, здесь представлен обратный туннель, который позволяет только пользователям с IP-адреса 1.2.3.4 получить доступ к порту 80 на SSH-клиенте через SSH-сервер.

https://robotmoon.com/ssh-tunnels/
👍62
Сохрани, что не потерять! 😉
🔥32👍1
2025/10/20 08:44:51
Back to Top
HTML Embed Code: