🔥 Новый курс на Stepik: Linux - апгрейд твоих скиллов до уровня инженера
Хватит быть “кликавшим по GUI”. Пора понимать систему изнутри.
Что освоишь:
• Bash, grep, sed, awk - инструменты взрослых админов
• Процессы, сеть, права, логирование и починка поломок
• SSH, firewall, systemd, cron, автозапуск сервисов
После курса: Linux перестаёт быть загадкой - ты будешь работать с ним уверенно.
30% скидка на 48 часов
👉 Начни учиться на Stepik.
Хватит быть “кликавшим по GUI”. Пора понимать систему изнутри.
Что освоишь:
• Bash, grep, sed, awk - инструменты взрослых админов
• Процессы, сеть, права, логирование и починка поломок
• SSH, firewall, systemd, cron, автозапуск сервисов
После курса: Linux перестаёт быть загадкой - ты будешь работать с ним уверенно.
30% скидка на 48 часов
👉 Начни учиться на Stepik.
🤣10❤6👍4🔥4🎉1
🎨 Если ты думал, как получать цветной вывод команд ping — использую grc (Generic Colourizer).
Он сразу работает с множеством утилит: df, lsblk, free, ps и другими - вывод становится нагляднее и читается быстрее.
Для других оболочек просто посмотри их документацию - grc легко интегрируется и делает терминал гораздо удобнее.
Он сразу работает с множеством утилит: df, lsblk, free, ps и другими - вывод становится нагляднее и читается быстрее.
📌 Установка (пример для dnf):
sudo dnf install grc
Если используешь Bash, добавь в ~/.bashrc:
GRC_ALIASES=true
[[ -s "/etc/profile.d/grc.sh" ]] && source /etc/profile.d/grc.sh
и перезагрузи оболочку:
source ~/.bashrc
Для Zsh добавь в ~/.zshrc:
[[ -s "/etc/grc.zsh" ]] && source /etc/grc.zsh
и обнови:
source ~/.zshrc
Для других оболочек просто посмотри их документацию - grc легко интегрируется и делает терминал гораздо удобнее.
❤9👍5🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
🐧 Linux совет дня 💡
Редактируйте файлы прямо из
Когда вы просматриваете файл в
После сохранения и выхода из редактора вы автоматически вернётесь в
Удобно, быстро и без выхода из контекста 👌
Редактируйте файлы прямо из
less - мощный трюк для продвинутых пользователей.Когда вы просматриваете файл в
less, просто нажмите клавишу v. less откроет текущий файл в редакторе, указанном в переменной окружения EDITOR.После сохранения и выхода из редактора вы автоматически вернётесь в
less, где уже увидите обновлённое содержимое.Удобно, быстро и без выхода из контекста 👌
🔥35👍15❤8👻1
Список полезных команд для работы с
Основные команды
1. Подключение к удаленному хосту:
Пример:
Подключается к хосту
2. Закрытие соединения:
Чтобы завершить сессию, используйте сочетание клавиш:
Затем введите:
3. Отправка текстового запроса после подключения:
Если подключились к порту, например, HTTP-сервера, можно отправить запрос вручную:
Это выполняет запрос к домашней странице на порту 80.
Встроенные команды
1. help
Показывает список доступных команд
2. open
Открывает новое соединение с указанным хостом:
3. close
Закрывает текущее соединение:
4. display
Показывает текущие параметры подключения:
5. mode
Переключает режим работы
6. send
Отправляет управляющие символы (например,
7. status
Показывает статус текущего соединения:
8. set и unset
Настраивают параметры подключения (например, установка режима эхо):
Примеры использования
1. Проверка доступности порта:
Чтобы проверить, открыт ли порт на удаленном сервере:
2. Проверка почтового сервера (SMTP):
Подключение к серверу SMTP:
Затем можно вручную ввести SMTP-команды, такие как:
3. Проверка DNS сервера:
Можно подключиться к DNS-серверу и проверить его ответы:
Эти команды помогут вам для отладки, диагностики и проверки сетевых служб.
telnet, которые могут помочь при подключении и отладке сетевых служб:Основные команды
telnet:1. Подключение к удаленному хосту:
telnet <hostname> <port>
Пример:
telnet example.com 80
Подключается к хосту
example.com на порту 80 (HTTP).2. Закрытие соединения:
Чтобы завершить сессию, используйте сочетание клавиш:
Ctrl + ] (переход в режим команд)
Затем введите:
quit
3. Отправка текстового запроса после подключения:
Если подключились к порту, например, HTTP-сервера, можно отправить запрос вручную:
GET / HTTP/1.1
Host: example.com
Это выполняет запрос к домашней странице на порту 80.
Встроенные команды
telnet (используйте в режиме команд после нажатия Ctrl + ]):1. help
Показывает список доступных команд
telnet:
telnet> help
2. open
Открывает новое соединение с указанным хостом:
telnet> open <hostname> <port>
3. close
Закрывает текущее соединение:
telnet> close
4. display
Показывает текущие параметры подключения:
telnet> display
5. mode
Переключает режим работы
telnet (например, line или character):
telnet> mode line
6. send
Отправляет управляющие символы (например,
send escape для отправки escape-секвенции):
telnet> send escape
7. status
Показывает статус текущего соединения:
telnet> status
8. set и unset
Настраивают параметры подключения (например, установка режима эхо):
telnet> set echo
telnet> unset echo
Примеры использования
telnet:1. Проверка доступности порта:
Чтобы проверить, открыт ли порт на удаленном сервере:
telnet <hostname> <port>
2. Проверка почтового сервера (SMTP):
Подключение к серверу SMTP:
telnet smtp.example.com 25
Затем можно вручную ввести SMTP-команды, такие как:
EHLO example.com
3. Проверка DNS сервера:
Можно подключиться к DNS-серверу и проверить его ответы:
telnet <dns-server> 53
Эти команды помогут вам для отладки, диагностики и проверки сетевых служб.
❤12👍10❤🔥5🔥4
📌 Linux Namespaces: PID-пространства — часть 2
В первой части мы разобрались, что такое Linux-namespaces и почему они лежат в основе контейнеров.
Теперь — погружаемся в один из самых важных типов: PID-namespace.
Каждый процесс в Linux имеет свой PID (Process ID).
Обычно, если выполнить
Что делает PID-namespace
PID-namespace создаёт изолированное пространство идентификаторов процессов:
- внутри него процессы видят только себя
- нумерация PID начинается снова с 1
- процесс с PID 1 в namespace играет роль локального
- процессы в разных PID-namespace могут иметь одинаковые PID — без конфликта
- родительский namespace может видеть детей, но не наоборот
Именно поэтому контейнеры выглядят как отдельные системы — хотя ядро у всех общее.
Docker, Podman и другие контейнерные среды активно используют PID-namespaces для изоляции процессов.
Что будем делать
В этой части — создадим свой PID-namespace вручную через
Это фундамент Linux-изоляции, без которой современная контейнеризация просто невозможна.
Источник: blog.sysxplore.com/p/part-2-linux-namespaces-pid-namespaces
В первой части мы разобрались, что такое Linux-namespaces и почему они лежат в основе контейнеров.
Теперь — погружаемся в один из самых важных типов: PID-namespace.
Каждый процесс в Linux имеет свой PID (Process ID).
Обычно, если выполнить
ps aux, мы увидим все процессы в системе — глобальное пространство PID. Это удобно, но даёт процессам (при наличии прав) возможность наблюдать и взаимодействовать с другими.Что делает PID-namespace
PID-namespace создаёт изолированное пространство идентификаторов процессов:
- внутри него процессы видят только себя
- нумерация PID начинается снова с 1
- процесс с PID 1 в namespace играет роль локального
init- процессы в разных PID-namespace могут иметь одинаковые PID — без конфликта
- родительский namespace может видеть детей, но не наоборот
Именно поэтому контейнеры выглядят как отдельные системы — хотя ядро у всех общее.
Docker, Podman и другие контейнерные среды активно используют PID-namespaces для изоляции процессов.
Что будем делать
В этой части — создадим свой PID-namespace вручную через
unshare, разберём, как работают родительские и дочерние namespaces и почему модель «init внутри контейнера» так важна для корректного завершения процессов.Это фундамент Linux-изоляции, без которой современная контейнеризация просто невозможна.
Источник: blog.sysxplore.com/p/part-2-linux-namespaces-pid-namespaces
🔥11❤4
Forwarded from Machinelearning
Занимательная история Дэвида Ноэля о том, как он купил ИИ-оборудование корпоративного класса, разработанное для серверных стоек с жидкостным охлаждением, которое затем переоборудовал под воздушное охлаждение, потом снова переоборудовал под водяное, пережил множество ситуаций, близких к катастрофе, и, в итоге получил настольный компьютер, способный запускать модели с 235 миллиардами параметров дома.
Это рассказ о сомнительных решениях и нестандартном подходе к решению проблем. И немного о том, что происходит, когда пытаешься превратить оборудование для ЦОДа в домашний сетап.
Если вы когда-либо задавались вопросом, что нужно для запуска действительно крупных моделей локально, или если вы просто хотите посмотреть, как кто-то разбирает оборудование стоимостью 80 000 долларов, полагаясь лишь на надежду и изопропанол, то эта статья не оставит вас равнодушным.
@ai_machinelearning_big_data
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12❤5👍5
This media is not supported in your browser
VIEW IN TELEGRAM
🎬 gitlogue - кинематографический инструмент воспроизведения коммитов Git для терминала.
⚡ Наблюдайте за тем, как происходят коммиты с помощью анимации ввода текста, подсветки синтаксиса и обновляемого в режиме реального времени дерева файлов.
🤯 Следите за кодом вашего репо.
🦀 Написано на Rust и собрано с помощью
⭐ GitHub: https://github.com/unhappychoice/gitlogue
#rustlang #ratatui #tui #git #commits #replay #terminal #screensavert
⚡ Наблюдайте за тем, как происходят коммиты с помощью анимации ввода текста, подсветки синтаксиса и обновляемого в режиме реального времени дерева файлов.
🤯 Следите за кодом вашего репо.
🦀 Написано на Rust и собрано с помощью
⭐ GitHub: https://github.com/unhappychoice/gitlogue
#rustlang #ratatui #tui #git #commits #replay #terminal #screensavert
🔥10❤5👍2
AWS VPC - это твоя собственная изолированная сеть в облаке.
Она работает как мини-датацентр, только без физического железа: AWS сам занимается маршрутизацией, безопасностью и масштабированием.
Изоляция VPC
→ Каждый VPC полностью отделён от других.
→ Ты задаёшь свой CIDR-диапазон.
→ Доступ извне возможен только если ты сам его откроешь.
Подсети: публичные и приватные
→ VPC разбивается на субсети в разных зонах (AZ).
→ Публичные субсети выходят в интернет через Internet Gateway.
→ Приватные — через NAT Gateway (только исходящий трафик, без входящего).
→ AWS следит за отказоустойчивостью между зонами.
Как двигается трафик
→ За маршруты отвечают Route Tables.
→ Ты прописываешь правила: интернет, peering, Transit Gateway, VPN и т.д.
→ AWS управляет всей реальной сетевой инфраструктурой — ты только настраиваешь логику.
Защита сети
→ AWS использует две прослойки:
— Security Groups — правила на уровне конкретного ресурса (EC2, RDS и т.д.).
— Network ACLs — фильтрация пакетов на уровне подсети.
→ Все правила строго применяются через виртуализованную сеть AWS.
Внешние подключения
→ Для доступа наружу AWS предлагает:
— Internet Gateway (двусторонний интернет)
— NAT Gateway (доступ из приватных подсетей)
— Egress-Only IGW (только исходящий IPv6)
→ Всё автоматически масштабируется под нагрузку.
Гибридные сети
→ Можно связать VPC с офисом/датацентром:
— Site-to-Site VPN (через интернет)
— Direct Connect (частная линия до 100 Gbps)
→ AWS обеспечивает резервирование каналов для отказоустойчивости.
Общение между сетями
→ VPC Peering — приватный канал между двумя VPC.
→ Transit Gateway — центральный хаб для десятков сетей (VPC + on-prem).
→ AWS управляет маршрутизацией и пропускной способностью автоматически.
Мониторинг
→ VPC Flow Logs — кто куда ходил.
→ CloudWatch — метрики.
→ CloudTrail — кто менял сетевые настройки.
→ Полная прозрачность для аудита, безопасности и диагностики.
AWS делает сложную сетевую архитектуру «невидимой».
Ты управляешь логикой, правилами и доступами — AWS берёт на себя всё остальное.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥7❤5
This media is not supported in your browser
VIEW IN TELEGRAM
Линукс очень удобный.
Тем временем Линукс, когда нужно установить программу:
Тем временем Линукс, когда нужно установить программу:
🔥66💅14🤣12👍7🗿7❤3👎3👏1🥴1
❕ Бесплатный вебинар: «GitOps + Flux — ваш путь к автоматизированному деплою в Kubernetes»!
Вы хотите развернуть приложение в Kubernetes без тонны ручных команд и нервов? Мечтаете о системе, где код сам «доставляется» в прод по принципу «закоммитил — заработало»?
Приглашаем вас на открытый урок в рамках курса «Инфраструктурная платформа на основе Kubernetes , где разберём»:
• как перестать вручную деплоить приложения;
• как добиться стабильного состояния кластера;
• как сделать процессы прозрачными и контролируемыми.
🗓 Когда: 23.12, в 20-00
Для кого: DevOps‑инженеры, разработчики, администраторы Kubernetes, все, кто хочет автоматизировать деплой.
На уроке вы узнаете как:
- внедрить GitOps в Kubernetes;
- настроить Flux для автоматической синхронизации;
- избежать ошибок при переходе на «конфигурацию как код».
➡️ Регистрирация: https://tglink.io/c974785d3d45?erid=2W5zFG7muh2
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
Вы хотите развернуть приложение в Kubernetes без тонны ручных команд и нервов? Мечтаете о системе, где код сам «доставляется» в прод по принципу «закоммитил — заработало»?
Приглашаем вас на открытый урок в рамках курса «Инфраструктурная платформа на основе Kubernetes , где разберём»:
• как перестать вручную деплоить приложения;
• как добиться стабильного состояния кластера;
• как сделать процессы прозрачными и контролируемыми.
🗓 Когда: 23.12, в 20-00
Для кого: DevOps‑инженеры, разработчики, администраторы Kubernetes, все, кто хочет автоматизировать деплой.
На уроке вы узнаете как:
- внедрить GitOps в Kubernetes;
- настроить Flux для автоматической синхронизации;
- избежать ошибок при переходе на «конфигурацию как код».
➡️ Регистрирация: https://tglink.io/c974785d3d45?erid=2W5zFG7muh2
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
❤3👍2🔥2
🖥️🔌 PortKiller: Убийца процессов на открытых портах для macOS
PortKiller — это удобное приложение для меню на macOS, позволяющее быстро находить и завершать процессы, использующие открытые порты. Идеально подходит для разработчиков, которым нужно освободить порты, такие как 3000, 8080 и другие.
🚀Основные моменты:
- Интеграция в меню — без загромождения Dock
- Автоматическое обнаружение всех прослушивающих TCP портов
- Быстрое завершение процессов одним кликом
- Фильтрация по номеру порта или имени процесса
- Автообновление списка каждые 5 секунд
📌 GitHub: https://github.com/productdevbook/port-killer
#swift
PortKiller — это удобное приложение для меню на macOS, позволяющее быстро находить и завершать процессы, использующие открытые порты. Идеально подходит для разработчиков, которым нужно освободить порты, такие как 3000, 8080 и другие.
🚀Основные моменты:
- Интеграция в меню — без загромождения Dock
- Автоматическое обнаружение всех прослушивающих TCP портов
- Быстрое завершение процессов одним кликом
- Фильтрация по номеру порта или имени процесса
- Автообновление списка каждые 5 секунд
📌 GitHub: https://github.com/productdevbook/port-killer
#swift
❤5👍2🔥2
Basic Navigation
pwd - показать текущий каталог ls - список файлов и директорий ls -l - подробный формат ls -a - показать скрытые файлы cd dirname - перейти в директорию cd .. - вверх на уровень cd / - корень cd ~ - домашняя директория clear - очистить терминал history - история команд File & Directory Management
touch file - создать файл mkdir dir - создать директорию rmdir dir - удалить пустую директорию rm file - удалить файл rm -r dir - удалить директорию рекурсивно cp src dest - копировать файл cp -r src dest - копировать директорию mv src dest - переместить/переименовать cat file - вывести содержимое less file - просмотр с пагинацией head file - первые 10 строк tail file - последние 10 строк tail -f file - потоковый вывод Permissions & Ownership
chmod 755 file - права доступа chmod u+x file - сделать исполняемым chown user:group file - владелец ls -l - просмотр прав System Info
uname -a - вся системная инфа hostname - имя хоста uptime - аптайм top - процессы htop - интерактивный монитор df -h - дисковое пространство du -sh * - размеры директорий free -h - память lscpu - процессор lsblk - блочные устройства Process Management
ps - процессы ps aux - подробный список kill PID - завершить процесс killall name - завершить по имени bg - в фоне fg - на передний план jobs - задания Networking
ifconfig - сеть ip a - IP адреса ping host - проверить связь ss -tuln - открытые порты curl url - получить данные wget url - скачать файл ssh user@host - удалённый вход scp file user@host:/path - копирование по SSH Package Management (Ubuntu/Debian)
sudo apt update - обновить индексы sudo apt upgrade - обновить пакеты sudo apt install pkg - установить sudo apt remove pkg - удалить sudo apt autoremove - очистка Package Management (RHEL/CentOS)
sudo yum update sudo yum install pkg sudo yum remove pkg sudo dnf install pkg Archiving & Compression
tar -cvf file.tar dir - создать tar tar -xvf file.tar - распаковать gzip file - сжать gunzip file.gz - распаковать zip file.zip files - zip unzip file.zip - unzip User Management
whoami - текущий пользователь who - кто в системе id - инфо о пользователе sudo adduser user - добавить sudo passwd user - пароль sudo deluser user - удалить su user - переключиться logout - выйти Shutdown & Reboot
sudo shutdown now - выключить sudo shutdown -r now - ребут reboot - перезапуск poweroff - выключение Searching
find /path -name file - поиск по имени grep 'text' file - поиск текста grep -r 'text' dir - рекурсивно locate file - быстрый поиск updatedb - обновить базу Disks & Filesystems
fdisk -l - список разделов mkfs.ext4 /dev/sdX - форматирование mount /dev/sdX /mnt - монтировать umount /mnt - размонтировать Environment & Variables
echo $PATH - переменная PATH export VAR=value - установить переменную env - список переменных Useful Commands
man cmd - документация alias ll='ls -la' - алиас date - дата cal - календарь exit - выйтиPlease open Telegram to view this post
VIEW IN TELEGRAM
👍45❤21🐳4✍2👎2🔥2💅1
Он сканирует директории и показывает, что именно съедает место, работая особенно шустро на SSD за счёт параллельной обработки. Есть TUI-интерфейс: можно стрелками ходить по каталогам, сортировать по размеру и удалять лишнее прямо из программы.
Установка максимально простая - есть готовые бинарники на GitHub, пакеты в репозиториях (AUR, Homebrew, Snap и др.), так что поставить и проверить свои диски можно за пару минут.
https://github.com/dundee/gdu
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤7
Forwarded from Kali Linux
🎂 С Днём рождения, Линус!
56 - это не возраст…
это просто новая стабильная версия 💻✨
56 - это не возраст…
это просто новая стабильная версия 💻✨
❤81👍36😁14🔥6👎5🎉5🌭2
This media is not supported in your browser
VIEW IN TELEGRAM
🎄 Новогодний Linux-лайфхак: включи праздничный режим в терминале
Сделай себе новогоднюю команду в Linux: один короткий вызов, и терминал очищается, пишет праздничное сообщение, показывает дату и календарь текущего месяца. Удобно открыть год прямо из консоли и зарядиться настроением перед работой.
Просто добавь функцию в свой ~/.bashrc или ~/.zshrc, перезапусти терминал и запускай её в любой момент праздников.
Сделай себе новогоднюю команду в Linux: один короткий вызов, и терминал очищается, пишет праздничное сообщение, показывает дату и календарь текущего месяца. Удобно открыть год прямо из консоли и зарядиться настроением перед работой.
Просто добавь функцию в свой ~/.bashrc или ~/.zshrc, перезапусти терминал и запускай её в любой момент праздников.
# добавь это в ~/.bashrc или ~/.zshrc
ny() {
clear
echo "❄️ Happy Linux New Year! ❄️"
echo "🎄 Пусть твой терминал падает только от смеха!"
date
cal
}
# после сохранения перезапусти терминал и запускай команду:
# ny
🔥18🥱15🎉9❤5🗿4☃1👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Linux: как «вычислить» по IP (что можно и что нельзя)
Важно: по одному IP нельзя узнать конкретного человека или адрес квартиры.
Максимум — провайдера, страну/город уровня провайдера и маршрут сети.
Для персональных данных нужны только провайдер и полиция.
Ниже безопасные и полезные команды 👇
🔹 Узнать свой внешний IP
🔹 Узнать IP у сайта
🔹 Посмотреть, кто владеет IP (провайдер, диапазон)
Покажет провайдера, контакты абьюз-отдела и диапазон IP - не личность пользователя.
🔹 Посмотреть маршрут до IP / сайта (где «теряется» трафик)
🔹 Понять задержку и потери пакетов
🔹 Узнать примерную геолокацию (город уровня сети)
(через публичный сервис — не даёт точный адрес)
📌 Короткий вывод
✔ можно: провайдер, маршрут, примерная геолокация
❌ нельзя: личность, адрес, телефон — без участия провайдера и полиции
Важно: по одному IP нельзя узнать конкретного человека или адрес квартиры.
Максимум — провайдера, страну/город уровня провайдера и маршрут сети.
Для персональных данных нужны только провайдер и полиция.
Ниже безопасные и полезные команды 👇
🔹 Узнать свой внешний IP
curl ifconfig.me
🔹 Узнать IP у сайта
dig +short example.com
или:
nslookup example.com
🔹 Посмотреть, кто владеет IP (провайдер, диапазон)
whois 8.8.8.8
Покажет провайдера, контакты абьюз-отдела и диапазон IP - не личность пользователя.
🔹 Посмотреть маршрут до IP / сайта (где «теряется» трафик)
traceroute 8.8.8.8
🔹 Понять задержку и потери пакетов
ping -c 5 8.8.8.8
🔹 Узнать примерную геолокацию (город уровня сети)
(через публичный сервис — не даёт точный адрес)
curl ipinfo.io/8.8.8.8
📌 Короткий вывод
✔ можно: провайдер, маршрут, примерная геолокация
❌ нельзя: личность, адрес, телефон — без участия провайдера и полиции
👍20😁20❤10💅2👎1🔥1
Владение Docker - навык, который отличает новичка от профи
Сегодня почти всё разворачивается в контейнерах.
Если ты не умеешь работать с Docker, ты медленнее, зависим от чужих настроек и постоянно ловишь баги «у меня локально работает».
Этот курс покажет:
• разобраны все возможные ошибки при работе c Docker
• как упаковывать проекты в контейнеры
• как поднимать целые системы за минуты
• как избегать типичных ошибок в продакшене
• как делать стабильные и повторяемые окружения
Только практика и реальные кейсы - с нуля до уверенного уровня.
🎁 40 процентов скидка действует 48 часов в честь нового года
👉 Записывайся и сделай Docker своим настоящим рабочим инструментом.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍4👎4🔥4💅2
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Полезный совет по Linux #linux #ubuntu
Команда rm сама по себе рискованна, а с подстановкой * становится ещё опаснее.
Чтобы не выполнить разрушительную команду по ошибке, можно сначала посмотреть, как она будет выглядеть после расширения shell’ом. Это позволяет сделать «сухой прогон» и убедиться, что всё безопасно.
Пример:
Команда rm сама по себе рискованна, а с подстановкой * становится ещё опаснее.
Чтобы не выполнить разрушительную команду по ошибке, можно сначала посмотреть, как она будет выглядеть после расширения shell’ом. Это позволяет сделать «сухой прогон» и убедиться, что всё безопасно.
Пример:
echo rm -rf /*
Дополнительные полезные проверки:
echo cp *.log /backup/
echo mv ~/Downloads/* /tmp/
echo chown user:group /var/www/*
👍18👎6❤5🔥4
Быстрый Linux совет 🐧
Нужно создать сразу несколько директорий?
Не повторяй
Команда:
$ mkdir -p ~/scripts/{site-01,site-02}/{backup,monitoring,network}
Создаёт структуру мгновенно:
- два сайта (`site-01` и `site-02`)
- в каждом — каталоги
Удобно, быстро и помогает поддерживать порядок в проектах.
Нужно создать сразу несколько директорий?
Не повторяй
mkdir много раз — используй brace expansion.Команда:
$ mkdir -p ~/scripts/{site-01,site-02}/{backup,monitoring,network}
Создаёт структуру мгновенно:
- два сайта (`site-01` и `site-02`)
- в каждом — каталоги
backup, monitoring и networkУдобно, быстро и помогает поддерживать порядок в проектах.
👍61❤12🔥2