🐧Linux для админов и DevOps
182 subscribers
2 photos
1 file
9 links
Практика Linux, серверов, Bash, Docker, Ansible, Kubernetes, мониторинга и DevOps.
Без воды: команды, разборы ошибок, шпаргалки и реальные кейсы для админов.

По всем вопросам: @Kostyan_00
Download Telegram
💥 Загрузка Linux: от нажатия кнопки питания до приветствия пользователя! 💻

Хотите разобраться, что происходит, когда вы включаете свой ПК или ноутбук на Linux? Сегодня мы пройдем путь от первого импульса электричества до полной готовности рабочей среды.

🌐 Этап 1: BIOS/UEFI 🔧

Первым делом включается базовая система ввода-вывода (BIOS) или её современный преемник UEFI. Она проводит диагностику оборудования и загружает специальный код — bootloader.

🚀 Этап 2: Bootloader (GRUB) 💳

Bootloader (обычно GRUB) отображает меню выбора ОС и запускает ядро Linux с необходимыми параметрами. Именно здесь можно выбрать нужную систему или изменить настройки загрузки.

📌 Этап 3: Ядро Linux 🔥

Следующий шаг — ядро Linux. Оно инициализирует устройства, монтирует корневую файловую систему и передает управление процессу init (systemd или sysvinit).

💬 Этап 4: Systemd (инициализация сервисов) 📋

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

🖥 Этап 5: Графическая среда (Display Manager) 🎮

Графический дисплей-менеджер (например, LightDM, GDM, SDDM) запрашивает учетные данные пользователя и запускает рабочую среду (KDE, GNOME, XFCE и др.).

🔥 Итоги:

Проходя через эти пять этапов, ваша Linux-система превращается из голого железа в мощный и дружелюбный интерфейс. Теперь вы знаете, что скрывается за кнопкой включения компьютера и что творится "под капотом" любимой операционной системы! 🚀

#Linux
👍31
🎯 Простой и полезный Bash-скрипт для обновления системы Ubuntu! 🌐

Часто забываете обновлять свою систему Ubuntu? Этот маленький скрипт автоматизирует процесс обновления программного обеспечения и уведомляет вас о результатах. 😎

📌 Как работает сценарий:
1️⃣ 🌐 Обновляет списки репозиториев.
2️⃣ 🚀 Устанавливает доступные обновления
3️⃣ 📊 Информирует о количестве установленных обновлений.
4️⃣💎Очищает кэш установщика APT
5️⃣🟢Удаляет оставшиеся зависимые пакеты

📌 Исходный код скрипта:
#!/bin/bash

# Обновляем списки репозиториев 🌐
sudo apt-get update

# Устанавливаем доступные обновления 🚀
sudo apt-get upgrade -y

# Очищаем кэш от устаревших пакетов 🧹
sudo apt-get autoclean -y

# Удаляем неиспользуемые пакеты 🗑
sudo apt-get autoremove -y

# Информационное уведомление 📊
echo "Готово! Система обновлена и очищена."


🔹Что происходит в коде:
apt-get update: Обновляет списки доступных пакетов.
apt-get upgrade: Устанавливает доступные обновления.
apt-get autoclean: Очищает кэш установщика APT от пакетов, которые были скачаны раньше, но уже устарели.
apt-get autoremove: Удаляет оставшиеся зависимые пакеты, которые больше не нужны после обновлений.

🎡 Как пользоваться:
Сохраните скрипт в файл, например, update_system.sh.
Сделайте его исполняемым: chmod +x update_system.sh.
Запустите командой: ./update_system.sh.

Теперь ваша система всегда будет актуальной и защищённой! 😎
#Скрипты
👍21
🔥Команда 'ifconfig'🔥

Команда ifconfig — это мощный инструмент для управления сетевыми интерфейсами в Linux. Она позволяет просматривать информацию о сетевых адаптерах, настраивать IP-адреса, маски подсети и другие параметры. Несмотря на то, что в новых дистрибутивах Linux ifconfig заменяется на ip, она всё ещё широко используется и поддерживается.

📌 Основные ключи и примеры использования:

Показать информацию о всех сетевых интерфейсах:

   ifconfig

Эта команда отображает список всех активных сетевых интерфейсов, их IP-адреса, маски подсети, MAC-адреса и другую информацию.

Показать информацию о конкретном интерфейсе:

   ifconfig eth0

Здесь eth0 — это имя сетевого интерфейса. Вы можете заменить его на wlan0, lo (локальный интерфейс) или любой другой доступный интерфейс.

Настроить IP-адрес интерфейса:

   sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0

Эта команда устанавливает IP-адрес 192.168.1.100 и маску подсети 255.255.255.0 для интерфейса eth0.

Включить или отключить интерфейс:

   sudo ifconfig eth0 up
sudo ifconfig eth0 down

Эти команды включают и отключают сетевой интерфейс соответственно.

Показать только IP-адрес и маску подсети:

   ifconfig eth0 | grep 'inet '

Эта команда выводит только IP-адрес и маску подсети для интерфейса eth0.

Показать MAC-адрес интерфейса:

   ifconfig eth0 | grep HWaddr

Эта команда отображает MAC-адрес сетевого интерфейса.

💡 Примеры использования:

Проверка сетевого подключения:

  ifconfig eth0

Если интерфейс активен и имеет IP-адрес, значит, сеть настроена корректно.

Быстрая смена IP-адреса:

  sudo ifconfig eth0 192.168.1.101 netmask 255.255.255.0

Полезно при тестировании или изменении сетевых настроек.

Отключение интерфейса для диагностики:

  sudo ifconfig eth0 down

Помогает выявить проблемы с сетью, отключая интерфейс на время.

📌 Заключение:

Команда ifconfig — это незаменимый инструмент для администраторов и разработчиков, работающих с сетевыми интерфейсами в Linux. Она позволяет быстро и эффективно управлять сетевыми настройками, что делает её важной частью арсенала любого IT-специалиста.

#Linux
👍3
🔥Команда ip addr🔥

Команда ip addr — это мощный инструмент для управления сетевыми интерфейсами в Linux. Она позволяет просматривать информацию о сетевых адаптерах, настраивать IP-адреса, маски подсети и другие параметры.

🔑Основные ключи и примеры использования:

Показать информацию о всех сетевых интерфейсах:
   ip addr show


Показать информацию о конкретном интерфейсе:
   ip addr show eth0


Настроить IP-адрес интерфейса:
   sudo ip addr add 192.168.1.100/24 dev eth0


Удалить IP-адрес интерфейса:
   sudo ip addr del 192.168.1.100/24 dev eth0


Показать только IPv4 адреса:
   ip -4 addr show


Показать только IPv6 адреса:
   ip -6 addr show


Включить интерфейс:
   sudo ip link set eth0 up


Отключить интерфейс:
   sudo ip link set eth0 down


Показать состояние интерфейса:
   ip link show eth0


Изменить MAC-адрес интерфейса:
    sudo ip link set eth0 address 00:11:22:33:44:55

🔔Примеры использования:

Проверка сетевого подключения:
  ip addr show eth0

Если интерфейс активен и имеет IP-адрес, значит, сеть настроена корректно.

Быстрая смена IP-адреса:
  sudo ip addr add 192.168.1.101/24 dev eth0

Полезно при тестировании или изменении сетевых настроек.

Отключение интерфейса для диагностики:
  sudo ip link set eth0 down

Помогает выявить проблемы с сетью, отключая интерфейс на время.

📌 Заключение:

Команда ip addr — это незаменимый инструмент для администраторов и разработчиков, работающих с сетевыми интерфейсами в Linux. Она позволяет быстро и эффективно управлять сетевыми настройками, что делает её важной частью арсенала любого IT-специалиста.

#Linux #ipaddr #linuxcommand
🔥2👍1
🌐 Самые важные TCP/IP порты и их назначение 🌐

Компьютерные сети построены на множестве протоколов и стандартов, одним из важнейших аспектов которых являются порты. Порты определяют правила взаимодействия клиент-серверных приложений, гарантируя правильную доставку пакетов данных. Каждому приложению назначается определенный порт, позволяющий компьютерам обмениваться информацией.

🦾 Порт 20 и 21: FTP (File Transfer Protocol)
Эти порты предназначены для протокола передачи файлов. Порт 21 используется для установления соединения и передачи управляющих команд, а порт 20 — для непосредственной передачи данных. FTP позволяет копировать файлы между устройствами, что актуально для хостинга и облачных технологий.

_Пример:_ Копирование файлов на удалённый сервер через Filezilla или WinSCP.

🌍 Порт 22: SSH (Secure Shell)
SSH обеспечивает защищённое соединение между клиентом и сервером, позволяя удаленно входить в систему и управлять устройством через командную оболочку. Используется повсеместно в DevOps-практиках и администрировании серверов.

_Пример:_ Управление сервером через терминал, выполнение административных задач на удалённом компьютере.

💬 Порт 25: SMTP (Simple Mail Transfer Protocol)
SMTP необходим для доставки электронной почты от почтового клиента к почтовым серверам. Именно через этот порт отправляются электронные письма, хотя для приёма писем используются другие протоколы (IMAP/POP3).

_Пример:_ Отправка электронных писем через Thunderbird или Outlook.

🔒 Порт 53: DNS (Domain Name System)
DNS — служба преобразования доменных имён в IP-адреса. Без DNS невозможно открытие сайта по имени (например, google.com). Вся сеть Интернет полагается на DNS-сервисы, работающие преимущественно через порт 53.

_Пример:_ Обращение браузера к сайтам через HTTP/HTTPS.

📲 Порт 80: HTTP (HyperText Transfer Protocol)
Основой интернета является HTTP-протокол, работающий через порт 80. Веб-сайты и приложения передают HTML-контент браузеру именно через этот порт. Хотя сегодня преобладает безопасный протокол HTTPS (порт 443), порт 80 остаётся важным элементом инфраструктуры веб-ресурсов.

_Пример:_ Доступ к открытым сайтам, например, vk.com.

🔐 Порт 443: HTTPS (HyperText Transfer Protocol Secure)
Протокол HTTPS защищает передачу данных между клиентами и серверами с помощью шифрования TLS/SSL. Любой современный сайт, заботящийся о безопасности, работает через HTTPS-порт 443.

_Пример:_ Работа с банковскими порталами, личными кабинетами провайдеров, электронными магазинами.

🖥 Порт 110: POP3 (Post Office Protocol version 3)
POP3 позволяет клиентам скачивать электронную почту с почтового сервера локально. Ранее использовался повсеместно, сейчас уступает IMAP, но продолжает применяться некоторыми системами.

_Пример:_ Скачивание писем через почтовые клиенты, такие как The Bat! или Почта Mail.Ru.

📞 Порт 143: IMAP (Internet Message Access Protocol)
IMAP применяется для доступа к почте на удаленном сервере, оставляя копии писем на сервере и позволяя синхронизироваться между несколькими устройствами.

_Пример:_ Синхронизация писем между мобильным телефоном и ноутбуком.

🛡 Порт 3389: RDP (Remote Desktop Protocol)
RDP используется для удалённого подключения к рабочему столу Windows-компьютеров. Очень полезен администраторам и специалистам, обслуживающим оборудование удалённо.

_Пример:_ Удаленное подключение к корпоративному ПК через Microsoft Remote Desktop Connection.

🪄 Другие важные порты:
Помимо перечисленных выше, существуют сотни стандартных номеров портов, назначенных IANA (Internet Assigned Numbers Authority). К примеру:
- Port 161: SNMP (управление сетевыми устройствами).
- Port 3306: MySQL (работа с базой данных).
- Port 5432: PostgreSQL (другая популярная СУБД).
- Port 6379: Redis (сервер хранения ключей-значений).

---

🎯 Заключение
Знание базовых портов и принципов их работы критично для специалистов по информационной безопасности, разработчиков и админов. Умение правильно определять назначения портов позволяет защитить инфраструктуру, ускорить диагностику неполадок и наладить надёжную сетевую архитектуру.
2👍1
🔍 Команда find: мощный инструмент для поиска файлов в Linux

Команда find — это один из самых мощных инструментов в Linux для поиска файлов и каталогов. Она позволяет находить файлы по различным критериям, таким как имя, тип, размер, время изменения и многое другое.

📌 Основные параметры команды find:

- -name: поиск по имени файла.
- -type: поиск по типу файла (например, f для файлов, d для каталогов).
- -size: поиск по размеру файла.
- -mtime: поиск по времени изменения файла.

📌 Примеры использования:

Поиск файла по имени:

   find /home -name "example.txt"

Этот пример ищет файл с именем example.txt в каталоге /home и всех его подкаталогах.

Поиск всех каталогов:

   find / -type d

Этот пример находит все каталоги в корневой директории /.

Поиск файлов по размеру:

   find /home -size +100M

Этот пример находит все файлы размером более 100 мегабайт в каталоге /home.

Поиск файлов, измененных в последние 7 дней:

   find /home -mtime -7

Этот пример находит все файлы, которые были изменены в последние 7 дней в каталоге /home.

📌 Полезные советы:

- Используйте -iname вместо -name для поиска без учета регистра.
- Комбинируйте параметры для более точного поиска.
- Используйте -exec для выполнения команд над найденными файлами.

Команда find — это незаменимый инструмент для любого пользователя Linux.

#Linux #find
👍5
📦 Команда apt

Команда apt — это удобный инструмент для управления пакетами в Ubuntu и других Debian-based системах. Она объединяет в себе функциональность apt-get и apt-cache, что делает ее более удобной для повседневного использования.

🎯Основные ключи и примеры

Обновление списка пакетов
   sudo apt update

Этот ключ обновляет список доступных пакетов и их версий.

Установка пакета
   sudo apt install <package_name>

Пример:

   sudo apt install vim

Устанавливает текстовый редактор Vim.

Удаление пакета
   sudo apt remove <package_name>

Пример:

   sudo apt remove vim

Удаляет установленный пакет Vim.

Поиск пакета
   apt search <keyword>

Пример:

   apt search text editor

Ищет пакеты, связанные с текстовыми редакторами.

Информация о пакете
   apt show <package_name>

Пример:

   apt show vim

Показывает подробную информацию о пакете Vim.

Обновление установленных пакетов
   sudo apt upgrade

Обновляет все установленные пакеты до последних доступных версий.

Полное обновление системы
   sudo apt full-upgrade

Обновляет систему, включая удаление устаревших пакетов.

Очистка кэша пакетов
   sudo apt autoclean

Очищает кэш пакетов, удаляя устаревшие файлы.

Удаление конфигурационных файлов удаленных пакетов
   sudo apt purge <package_name>

Пример:

   sudo apt purge vim

Удаляет пакет Vim вместе с его конфигурационными файлами.

Автоматическое удаление неиспользуемых пакетов
    sudo apt autoremove

Удаляет пакеты, которые были установлены как зависимости, но больше не нужны.

🔔Заключение

Команда apt — мощный инструмент для управления пакетами в Linux. Она позволяет легко устанавливать, обновлять и удалять пакеты, а также управлять зависимостями и конфигурациями. Используйте эти ключи, чтобы эффективно управлять вашей системой! 🚀

#Linux #Ubuntu #APT #КоманднаяСтрока #Администрирование
👍3
🔥 Apt vs Apt-get: Что выбрать для управления пакетами в Linux? 🔥

Сегодня мы разберем две популярные команды для управления пакетами в Linux: apt и apt-get. Обе команды широко используются, но у каждой есть свои особенности. Давайте сравним их и выясним, когда какую лучше использовать.

---

📌 Что такое apt и apt-get?

apt-get — это классический инструмент для управления пакетами в Debian и его производных (Ubuntu, Linux Mint и др.). Он позволяет устанавливать, обновлять и удалять пакеты.

apt — это более новая и удобная оболочка для apt-get. Она предоставляет те же функции, но с улучшенным интерфейсом и дополнительными возможностями.

---

🎯 Сравнение: apt vs apt-get

👍 Плюсы apt:

- Удобный интерфейс: apt предоставляет более понятные и лаконичные сообщения.
- Автоматическое обновление: apt автоматически обновляет списки пакетов перед выполнением команд.
- Поддержка autoremove: apt автоматически удаляет ненужные зависимости.
- Более интуитивные команды: apt упрощает выполнение распространенных задач.

👍 Плюсы apt-get:

- Минимализм: apt-get не содержит лишних функций, что делает его более легким.
- Совместимость: apt-get поддерживается дольше и совместим с более старыми системами.

---

📌 Когда какую команду использовать?

- apt: Используйте apt для повседневных задач, таких как установка и обновление пакетов. Он более удобен и интуитивно понятен.
- apt-get: Используйте apt-get, если вам нужна максимальная производительность или вы работаете с устаревшими системами.

---

🔍 Примеры команд:

Установка пакета:

- apt: sudo apt install <package>
- apt-get: sudo apt-get install <package>

Обновление пакетов:

- apt: sudo apt update && sudo apt upgrade
- apt-get: sudo apt-get update && sudo apt-get upgrade

---

💡 В чем отличия?

- apt автоматически обновляет списки пакетов перед выполнением команд, а apt-get требует ручного обновления.
- apt поддерживает autoremove, а apt-get — нет.
- apt предоставляет более удобные и понятные сообщения.

---

🤝 В чем похожи?

- Обе команды используют один и тот же backend для управления пакетами.
- Обе команды выполняют основные задачи: установка, обновление и удаление пакетов.

---

🚀 Заключение

apt — это более современный и удобный инструмент для большинства пользователей. apt-get — это классика, которая подойдет для тех, кто предпочитает минимализм и совместимость с устаревшими системами.
---
#Linux #apt #aptget
👍3
🔥 Snap-пакеты: когда их использовать и в чем их преимущество?

Snap — это формат пакетов, разработанный компанией Canonical (создателями Ubuntu), который позволяет устанавливать приложения в изолированной среде. Это делает их более безопасными и простыми в управлении по сравнению с традиционными пакетами, такими как apt.

📌 Когда использовать snap?

1. Новые версии приложений: Snap-пакеты часто содержат более новые версии приложений, чем те, что доступны через apt. Это особенно полезно для разработчиков и тех, кто хочет быть в курсе последних обновлений.

2. Изоляция приложений: Snap-пакеты изолированы от системы, что снижает риск конфликтов между приложениями и системой. Это делает их идеальными для тестирования новых приложений или использования нескольких версий одного и того же приложения.

3. Автоматические обновления: Snap-пакеты автоматически обновляются, что упрощает управление приложениями и снижает риск использования устаревшего ПО.

4. Кроссплатформенность: Snap-пакеты работают на различных дистрибутивах Linux, что делает их удобным выбором для пользователей, работающих с разными системами.

📌 Преимущества snap перед apt:

- Безопасность: Изоляция приложений снижает риск повреждения системы.
- Удобство: Автоматические обновления и простота установки.
- Актуальность: Более новые версии приложений.
- Кроссплатформенность: Работает на разных дистрибутивах Linux.

📌 Как установить snap?

Если у тебя еще нет snap, установи его с помощью apt:

sudo apt install snapd

Затем установи любое приложение через snap:

sudo snap install <название-приложения>

📌 Пример использования:

Например, если ты хочешь установить последнюю версию GIMP, просто выполни:

sudo snap install gimp

---

Snap — это мощный инструмент, который может сделать твою работу с Linux проще и безопаснее. Попробуй и оцени преимущества!

📌 #Linux #Snap #Apt #Программирование #Администрирование
👍3
🔥 Команда file в Linux: узнайте, что за файл перед вами!

🧲Что это?
Команда file позволяет определить тип файла в Linux. Это очень полезно, когда вы не уверены, с каким файлом имеете дело.

💣 Как использовать?
file имя_файла

Например:
file example.txt

✏️Зачем это нужно?

Определить тип файла (текстовый, бинарный, изображение и т.д.).
Проверить, является ли файл исполняемым.
Узнать кодировку текста.

📌 Пример вывода:
example.txt: ASCII text

📌 Полезные флаги:

-b — выводит только тип файла без имени.
-i — выводит MIME-тип файла.

#Linux #LinuxCommands #Terminal #CommandLine #SysAdmin
3👍1
🔥 Команда tree в Linux: визуализация структуры каталогов

Команда tree — это удобный инструмент для отображения структуры каталогов в виде дерева. Она позволяет быстро и наглядно увидеть, как организованы файлы и папки в вашей системе.

📌 Установка:
Перед использованием команды tree её нужно установить. В большинстве дистрибутивов Linux это можно сделать через пакетный менеджер.
Debian/Ubuntu:
sudo apt install tree

# Fedora/CentOS:
sudo dnf install tree

# Arch Linux:
sudo pacman -S tree


💣Как это работает?
Команда tree выводит на экран иерархию каталогов и файлов, начиная с текущего каталога или указанного вами. Это особенно полезно для быстрого анализа структуры проекта или файловой системы.

📌 Синтаксис
tree [options] [directory]
options — дополнительные параметры (например, -L для ограничения глубины).
directory — каталог, структуру которого вы хотите увидеть.

📌 Примеры использования
1. Простой пример
Выведите структуру текущего каталога:
tree

2. Ограничение глубины
Выведите только первые два уровня каталогов:
tree -L 2

3. Отображение только каталогов
Выведите только структуру каталогов, без файлов:
tree -d

4. Отображение скрытых файлов
Выведите структуру, включая скрытые файлы и каталоги:
tree -a

🏆 Зачем это нужно?
Навигация: Быстро ориентируйтесь в сложной структуре каталогов.
Анализ: Оценивайте организацию файлов и папок.
Документирование: Используйте для создания наглядных схем структуры проекта.

🎯 Заключение
Команда tree — это отличный инструмент для визуализации файловой системы. Установите её и попробуйте в действии, чтобы сделать работу с каталогами более удобной и эффективной!

#linux #linuxcommand #tree
👍3
🔥 Команда pstree в Linux: визуализация процессов

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

🎯 Как это работает?
Команда pstree выводит на экран иерархию процессов, начиная с процесса init (PID 1). Это помогает быстро понять, какие процессы запущены и как они зависят друг от друга.

🚀 Синтаксис
pstree [options]
# options — дополнительные параметры (например, -p для отображения PID процессов).


🧲Примеры использования
1. Простой пример
Выведите дерево процессов:
pstree

2. Отображение PID
Выведите дерево процессов с указанием PID:
pstree -p

3. Отображение командной строки
Выведите дерево процессов с командной строкой:
pstree -a

4. Фильтрация процессов
Выведите дерево процессов, начиная с конкретного процесса:
pstree -p <PID>

✏️ Зачем это нужно?
Диагностика: Быстро находите зависимые процессы и выявляйте проблемы.
Мониторинг: Оценивайте нагрузку на систему и управляйте процессами.
Отладка: Используйте для анализа работы приложений и служб.

🏆 Заключение
Команда pstree — это незаменимый инструмент для администраторов и разработчиков, который помогает управлять процессами и диагностировать проблемы в системе. Попробуйте использовать её для более глубокого понимания работы вашей системы!

#linux #pstree #linuxcommand
👍4
🌐 Systemd: Управляй своей системой с легкостью!

Systemd — это мощный инструмент для управления сервисами и демонами в Linux. Он позволяет запускать, останавливать и перезапускать сервисы, а также отслеживать их состояние. Вот несколько примеров из жизни, которые помогут вам лучше понять, как это работает.

🚀 Запуск сервиса
Представьте, что вы установили новый веб-сервер Nginx и хотите его запустить. С systemd это делается так:
sudo systemctl start nginx


🛑 Остановка сервиса
Если вам нужно временно остановить сервис, например, для обновления или отладки, используйте команду:
sudo systemctl stop nginx


⚡️ Перезапуск сервиса
После внесения изменений в конфигурацию сервиса, его нужно перезапустить. Это можно сделать с помощью:
sudo systemctl restart nginx


🔍 Проверка состояния сервиса
Чтобы узнать, работает ли сервис и нет ли ошибок, используйте:
sudo systemctl status nginx


🔄 Включение сервиса при загрузке
Если вы хотите, чтобы сервис запускался автоматически при загрузке системы, используйте:
sudo systemctl enable nginx


🚫 Отключение сервиса при загрузке
Если сервис больше не нужен при загрузке, отключайте его:
sudo systemctl disable nginx


Systemd — это ваш надежный помощник в управлении Linux-системами. Освойте его, и вы сможете легко и быстро управлять своими сервисами! 🚀

#Linux #Systemd #Администрирование #КоманднаяСтрока
3
🔥 Команда time в Linux: измерение времени выполнения команд

Команда time — это простой, но мощный инструмент для измерения времени выполнения команд в Linux. Она позволяет узнать, сколько времени занимает выполнение той или иной задачи, что особенно полезно для оптимизации и анализа производительности.

🚀Как это работает?
Команда time запускает указанную команду и выводит информацию о времени её выполнения.

Это включает в себя:
▶️Реальное время: Время, прошедшее с момента запуска команды до её завершения.
▶️Пользовательское время:
Время, затраченное на выполнение команды в пользовательском пространстве.
▶️Системное время: Время, затраченное на выполнение команды в системном пространстве.

💣 Синтаксис

time [options] command
options — дополнительные параметры (например, -p для вывода времени в формате POSIX).
command — команда, время выполнения которой вы хотите измерить.

📌 Примеры использования
1. Простой пример
Измерьте время выполнения команды ls:
time ls


2. Формат POSIX
Измерьте время выполнения команды ls в формате POSIX:
time -p ls


3. Измерение времени выполнения скрипта
Измерьте время выполнения Bash-скрипта:
time ./my_script.sh


🎯Зачем это нужно?
Оптимизация: Оценивайте производительность команд и скриптов.
Анализ: Сравнивайте время выполнения разных команд.
Отладка: Используйте для выявления узких мест в производительности.

Заключение
Команда time — это незаменимый инструмент для разработчиков и системных администраторов, который помогает измерять и оптимизировать время выполнения команд. Попробуйте использовать её для более глубокого понимания производительности ваших задач!

#linux #time #IT
5🔥1
🔗 Символические и жёсткие ссылки

Сегодня разберём два типа ссылок в операционной системе Linux — символические и жёсткие. Они позволяют создать дополнительные точки входа к файлам и папкам, экономя пространство и облегчая управление структурой файлов.

📌 Что такое ссылка?
Ссылка — это файл, который указывает на другой файл или каталог. Но вот тут начинается интересное различие между двумя видами ссылок.

⚫️ Жёсткая ссылка
Что это: Жёсткая ссылка создаёт дополнительный псевдоним файла, который ссылается непосредственно на индексный дескриптор (inode) исходного файла. Фактически, обе ссылки становятся равноправными участниками игры: удаление одной не повлияет на существование другой.

Пример: Допустим, у вас есть файл /home/user/document.txt.
Создадим жёсткую ссылку:
ln /home/user/document.txt /home/user/doc_link

Теперь оба пути ведут к одному и тому же содержимому!

🏆Особенности:

▶️Нельзя создавать жёсткие ссылки на директории.
▶️Можно делать только в пределах одной файловой системы.
▶️У каждого файла изначально одна жёсткая ссылка — сам файл.

🌐 Символическая ссылка (симлинк)
Что это: Символическая ссылка — это файл, содержащий лишь путь к целевому объекту. Она представляет собой своего рода ярлык, перенаправляющий операционную систему к оригинальному файлу или каталогу.

Пример:
Опять возьмём тот же файл /home/user/document.txt.
Создадим симлинк:
ln -s /home/user/document.txt /home/user/symbolic_link

При обращении к symbolic_link система переадресует вас к document.txt.

🚀Особенности:

▶️Может указывать на файлы вне своей файловой системы.
▶️Поддерживаются ссылки на каталоги.
▶️Удаление оригинального файла сделает симлинк недействительным («битый»).

Когда использовать?
Жёсткие ссылки удобны там, где вам нужны одинаковые копии файла без дублирования самих данных. Например, одно приложение хранит файл в одном месте, другое хочет иметь доступ к нему без копирования.

⭐️ Симлинки отлично подходят для гибкости структуры файлов и удобства организации: можно размещать файлы в нужном месте и легко менять расположение оригинала без потери работоспособности системы.

#linux #IT
👍32
В каком файле находятся постоянные пункты монтирования?
Anonymous Quiz
53%
/etc/fstab
3%
/etc/config
0%
/var/log/fslog
44%
/mnt/devices
6
🔥 Горячие клавиши Linux-терминала

Сегодня поговорим о горячих клавишах терминала Linux, которые сделают вашу жизнь быстрее и комфортнее. Забудьте о бесконечных нажатиях кнопок мыши и начните пользоваться терминалом по-настоящему продуктивно!

⭐️ Навигация и редактирование:

Ctrl+A: переместиться в начало строки.
Ctrl+E: перейти в конец строки.
Alt+B: двигаться назад по словам.
Alt+F: перемещаться вперед по словам.
Ctrl+K: удалить текст справа от курсора.
Ctrl+U: стереть текст слева от курсора.

⚡️ История команд:

↑ ↓: прокручивайте историю предыдущих команд.
Ctrl+R: поиск предыдущей команды по истории (нажимайте повторно для поиска дальше).
Ctrl+P: предыдущее совпадающее выражение.
Ctrl+N: следующее совпадающее выражение.

💨 Управление окном терминала:

Ctrl+L: очистить экран (аналог clear).
Ctrl+C: прервать запущенный процесс.
Ctrl+D: выйти из сессии (или завершить программу).
Ctrl+S: приостановить вывод на экран (возобновляется Ctrl+Q).

🤝Совместная работа с файлами:

Tab: автодополнение имени файла или команды.
Shift+Insert: вставить выделенный текст (аналог paste).
Ctrl+Shift+C/V: традиционные сочетания для копирования-вставки (работает в большинстве современных терминалов).


#Linux #Терминал #ГорячиеКлавиши #Продуктивность #АдминскиеХаки
👏42🔥2