Linux
2.49K subscribers
386 photos
581 videos
8 files
264 links
Все для системного администратора, новости и информация из мира Linux


По всем вопросам @evgenycarter
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Когда что то сломалось и вызывают системного администратора Олега 😂

📲 Мы в Max

👉 @linuxchmod
😁5⚡1💯1
Как ускорить навигацию командной строки

++++++++++++++++++++++++++++++
Повторный запуск под root — sudo !!
user@host: cat /var/log/messages
cat /var/log/messages: Permission denied.
Как не надо: Вверх. Влево. Влево. Влево. …. sudo Enter. Рррр.
Как надо: sudo !!
++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++
Повторный ввод последнего аргумента — Alt+
Вы захотели еще раз воспользоваться только что написанным аргументом? Например, созданной директорией?

Как не надо: mkdir MyNewDirectory; cd MyNewDirectory
Как надо:

mkdir MyNewDirectory
cd <Alt+.>
++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++
Поиск запущенной команды — Ctrl+R
Какую же команду я только что запускал? Вверх. Вверх. Вверх. Вверх. О, вот и она!

Снова и снова вам приходится копаться в истории, ведь вы не знаете более подходящих альтернатив. Но что, если я скажу вам о том, что есть… поиск?

Как не надо: Вверх. Вверх. Вверх. Enter.
Как надо: Ctrl+R

Просто нажмите Ctrl+R и введите первые буквы нужной команды. Если поиск не выдал нужную команду сразу, то нажмите Ctrl+R еще раз. Повторное нажатие используется для прокрутки результатов. Ниже приведен поиск для cat.

(reverse-i-search)cat: sudo cat /var/log/messages
++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++
Переход в начальную директорию — cd
Вы не на шутку удивитесь, узнав, сколько людей не знают этого способа! cd. Да, так просто. Без лишних аргументов вы сразу попадете в начальную директорию.
++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++
Возвращение в последнюю директорию — cd -
Иногда простой способ — самый лучший. Допустим, вы были в директории /var/www/foo, а теперь оказались в /etc . Простая команда cd — вернет вас обратно в /var/www/foo .

Как не надо: cd /var/www/foo
Как надо: cd -
++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++
Контроль работы: передний план, фоновый режим и проч.
Возможно, вам потребуется какое-то время, чтобы привыкнуть, но оно того стоит. Допустим, вы редактируете файл в vim (вы же не будете этого делать в nano, да?!). И вот вам вдруг захотелось что-то найти в директории /var/www/html. Конечно же, вы можете выйти из vim, перейти в нужную директорию, а потом вдруг решить, что неплохо было бы вернуться к редактированию. Есть и другой вариант — перевести vim в фоновый режим и вернуться к нему позже.

Напишите: Ctrl+Z. Эта комбинация переводит все текущие задачи с переднего плана в фоновый режим. Полезно как минимум для: less, cat, man, vim и т.д.

«И куда же отправится моя активная задача?» — спросите вы. Напишите jobs и сами узнаете.

user@host: jobs
[1] Stopped vim
Супер. Теперь можно заняться чем-то другим. А как только вы решите вернуться к задаче, напишите fg. Эта команда возвращает фоновую задачу (vim) на передний план. Обратите внимание, что фоновые процессы приостанавливаются. Поэтому если в файле вы выполняли что-то из разряда tail, то для завершения команды потребуется какое-то время. Если же в фоновом режиме запущено несколько задач, то напишите fg 3 , где 3 — это номер задачи для возобновления. Увидеть список задач можно по команде jobs.
++++++++++++++++++++++++++++++

📲 Мы в Max

👉 @linuxchmod
👍5⚡1🏆1
📌 Шпаргалка по регулярным выражениям

Регулярки способны превратить десятки строк кода в одно компактное выражение. Но запомнить все символы, квантификаторы и модификаторы практически невозможно.

В этой одностраничной шпаргалке собраны:

🔹 классы символов: \d, \w, \s;
🔹 якоря начала и конца строки;
🔹 группы и диапазоны;
🔹 квантификаторы *, +, ?, {3,5};
🔹 lookahead и lookbehind;
🔹 экранирование специальных символов;
🔹 модификаторы поиска;
🔹 конструкции для замены найденного текста.

Полезно держать под рукой при работе с логами, конфигурациями, парсерами, редакторами и командной строкой.

📎 Забирайте PDF и сохраняйте — точно пригодится.

#regex #регулярныевыражения #программирование #разработка #шпаргалка

📲 Мы в Max

👉 @linuxchmod
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Пожалуй, лучшее использование ИИ из всего, что я видел ранее

📲 Мы в Max

👉 @linuxchmod
👍4🔥3❤‍🔥1
Media is too big
VIEW IN TELEGRAM
Сравнение SHELLs: BASH vs ZSH vs FISH. Делаем красочный и удобный терминал.

источник

📲 Мы в Max

👉 @linuxchmod
👍2🔥2
Это кстати часть зоны за панелью в российском сегменте МКС

Скрутки все видят? 😀

📲 Мы в Max

👉 @linuxchmod
😁2
📌Шпаргалка по Linux

📲 Мы в Max

👉 @linuxchmod
🔥6
Шпаргалка по Bash

📲 Мы в Max

👉 @linuxchmod
👍2🔥2
Шпаргалка по работе с сетью в linux

Краткая шпаргалка по работе с сетью в Linux, которая охватывает основные команды для диагностики и управления сетевыми интерфейсами.

1. Информация о сетевых интерфейсах
- ip a или ip addr — показывает информацию о всех сетевых интерфейсах.
- ifconfig — старый способ просмотра интерфейсов. В современных системах заменён на ip a.
- ip link show — информация о сетевых интерфейсах (без IP адресов).

2. Настройка сетевого интерфейса
- ip link set dev eth0 up/down — включить или отключить сетевой интерфейс (заменить eth0 на нужный интерфейс).
- ip addr add 192.168.1.100/24 dev eth0 — назначить IP-адрес интерфейсу eth0.
- ip addr del 192.168.1.100/24 dev eth0 — удалить IP-адрес с интерфейса.

3. Маршрутизация
- ip route show — показать таблицу маршрутизации.
- ip route add default via 192.168.1.1 — установить шлюз по умолчанию (заменить на нужный IP).
- ip route del default — удалить маршрут по умолчанию.

4. DNS
- cat /etc/resolv.conf — показать используемые DNS-сервера.
- nslookup example.com — получить IP-адрес по доменному имени.
- dig example.com — расширенная диагностика DNS-запросов.

5. Проверка сетевых подключений
- ping 192.168.1.1 — отправить ICMP-запрос к узлу (заменить на нужный IP или домен).
- traceroute example.com — показать маршрут до узла.
- mtr example.com — комбинированная команда ping и traceroute с обновлением в реальном времени.

6. Прослушивание и управление портами
- ss -tuln — показать открытые порты и активные соединения.
- netstat -tuln — устаревшая, но часто используемая команда для тех же целей.
- lsof -i :80 — показать процессы, использующие порт 80.

7. Проверка доступных сетей и соединений
- iwconfig — информация о беспроводных интерфейсах (для Wi-Fi).
- nmcli — управление соединениями через NetworkManager.
- nmtui — текстовый интерфейс для управления сетью через NetworkManager.

8. Тестирование и диагностика
- tcpdump -i eth0 — захват пакетов с интерфейса eth0.
- curl ifconfig.me — получить внешний IP-адрес.
- wget http://example.com/file.zip — скачать файл по HTTP/HTTPS.

9. Firewall (iptables)
- iptables -L — показать правила файрвола.
- iptables -A INPUT -p tcp --dport 22 -j ACCEPT — разрешить доступ по SSH (порт 22).
- iptables -D INPUT -p tcp --dport 22 -j ACCEPT — удалить правило.

10. Проброс портов
- iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 80 — перенаправить запросы на порт 8080 к порту 80.

📲 Мы в Max

👉 @linuxchmod
👍5
Libtree

Утилита, позволяющая получить список разделяемых библиотек (shared libraries) в виде дерева, либо в виде путей до этих библиотек в системе.


1. Скачиваем libtree:

$ wget https://github.com/haampie/libtree/releases/download/v3.0.1/libtree_x86_64 -O libtree
$ chmod +x libtree


2. Проверяем нужный нам файл:

$ ./libtree /bin/nano
/bin/nano
├── libmagic.so.1 [default path]
│ └── libz.so.1 [default path]
├── libtinfo.so.6 [default path]
└── libncursesw.so.6 [default path]
└── libtinfo.so.6 [default path]


При необходимости углубиться и получить зависимости для отображаемых библиотек просто добавляем -v, -vv или -vvv соответственно.

$ ./libtree -vvv /bin/nano
/bin/nano
├── libmagic.so.1 [default path]
│ ├── libz.so.1 [default path]
│ │ └── libc.so.6 [default path]
│ │ └── ld-linux-x86-64.so.2 [default path]
│ └── libc.so.6 [default path]
│ └── ld-linux-x86-64.so.2 [default path]
├── libc.so.6 [default path]
│ └── ld-linux-x86-64.so.2 [default path]
├── libtinfo.so.6 [default path]
│ └── libc.so.6 [default path]
│ └── ld-linux-x86-64.so.2 [default path]
└── libncursesw.so.6 [default path]
├── libtinfo.so.6 [default path]
│ └── libc.so.6 [default path]
│ └── ld-linux-x86-64.so.2 [default path]
└── libc.so.6 [default path]
└── ld-linux-x86-64.so.2 [default path]


Отобразить полный путь до файла на сервере можно с помощью опции -p:

$ ./libtree -p -vvv /bin/ping
/bin/ping
├── /lib64/libcap.so.2 [default path]
│ └── /lib64/libc.so.6 [default path]
│ └── /lib64/ld-linux-x86-64.so.2 [default path]
├── /lib64/libc.so.6 [default path]
│ └── /lib64/ld-linux-x86-64.so.2 [default path]
└── /lib64/libidn2.so.0 [default path]
├── /lib64/libunistring.so.2 [default path]
│ └── /lib64/libc.so.6 [default path]
│ └── /lib64/ld-linux-x86-64.so.2 [default path]
└── /lib64/libc.so.6 [default path]
└── /lib64/ld-linux-x86-64.so.2 [default path]


По умолчанию, информация о некоторых библиотеках не выводится в libtree. Подробнее об этом в выводе команды:

$ ./libtree --help


https://github.com/haampie/libtree

📲 Мы в Max

👉 @linuxchmod
👍4🔥2🥰2
Сохраняем вывода команды Top в файл

Поскольку я не использовал опцию delay, приведенная ниже команда top перенаправит вывод команды top за одну итерацию в файл.
top -b -n 1 > /home/i_odmin/backup/output.txt

Сохранение вывода команды top с более чем одной итерацией из 5 итераций
Обычно программа работает непрерывно с задержкой в 2 секунды, и вы можете изменить это значение, добавив в верхнюю команду значение ‘-d’, как показано ниже:
top -n 5 -d 4 -b >/backup/output_1.txt

Как захватить вывод команды top в файл каждые 5 минут в течение часа
Система создает отдельный файл каждые 5 минут, который поможет вам определить список процессов, которые потребляли больше CPU и памяти в системе.
Добавляем следующий cronjob, который будет выполняться с 5 до 6 утра каждые 5 минут в течение часа.
Где
-n : Задает максимальное количество итераций.
-b : Работа в пакетном режиме (Запуск команды top в пакетном режиме для перенаправления вывода в другие программы или в файл)
-d : Интервал задержки (Задает задержку между обновлениями экрана)
0-59/5 5 * * * top -n 10 -d 4 -b > /home/i_odmin/backup/top_out-`date +\%Y\%m\%d\%H\%M\%S`.txt

Собраем вывод в один файл, используйте следующий cronjob
Cronjob будет выполняться с 9 до 10 утра каждые 5 минут в течение часа и добавлять результаты в один файл.
0-59/5 9 * * * top -b -n5 -d 5 >>/home/i_odmin/backup/output.txt

Записываем вывод команды top в файл каждые 5 минут в течение получаса
Добавляем следующий cronjob, который будет запускаться каждые 5 минут с 13:30 до 14:00 в течение получаса.
30-59/5 13 * * * top -n 10 -d 4 -b > /home/i_odmin/backup/top_out-`date +\%Y\%m\%d\%H\%M\%S`.txt

📲 Мы в Max

👉 @linuxchmod
👍2🔥1
😁4