Что такое /dev/null и почему туда направляют данные?
Если вы активно работаете в командной строке, то, вероятно, использовали файл /dev/null для следующих целей:
1️⃣ Убрать из вывода всю ненужную инфу (предупреждения, ошибки и т.д.):
2️⃣ Передать утилите пустой ресурс в качестве аргумента. Делаться это может с целью исключения пользовательских и системных конфигов и применения дефолтных настроек на стороне программы:
3️⃣ Полностью очистить файл:
❓ Окей, принято, а чем является этот самый /dev/null?
В сущности - это cимвольное псевдо-устройство, которое создается на этапе запуска системы и работает с потоками данных:
О типе устройства говорит первый бит режима файла -
Ресурс удаляет все записанное в него и возвращает при чтении EOF (End of File). Когда мы взаимодействуем с /dev/null, неявно отрабатывает специальный драйвер ядра, в который и зашита логика.
Если интересно, можно порыться в исходниках с реализацией: drivers/char/mem.c. Код имеет отношение не только к /dev/null, но и к другим символьным устройствам.
Развернем более подробную информацию:
Этот вывод показывает, что файл имеет размер 0 байт, для него выделено 0 блоков на диске, дата создания = дата запуска системы:
Права доступа установлены таким образом, что любой может читать и записывать в него, но никто не может его выполнять:
Поскольку файл не исполняемый, мы не можем использовать конвейер
Если вы активно работаете в командной строке, то, вероятно, использовали файл /dev/null для следующих целей:
$ find / -name "*.conf" 2>/dev/null
$ picom --config /dev/null
$ cat /dev/null > bigfile
В сущности - это cимвольное псевдо-устройство, которое создается на этапе запуска системы и работает с потоками данных:
$ ls -l
crw-rw-rw- 1 root root 1, 3 Sep 6 08:37 null
О типе устройства говорит первый бит режима файла -
c "character". Ресурс удаляет все записанное в него и возвращает при чтении EOF (End of File). Когда мы взаимодействуем с /dev/null, неявно отрабатывает специальный драйвер ядра, в который и зашита логика.
Если интересно, можно порыться в исходниках с реализацией: drivers/char/mem.c. Код имеет отношение не только к /dev/null, но и к другим символьным устройствам.
Развернем более подробную информацию:
$ stat /dev/null
File: /dev/null
Size: 0 Blocks: 0 IO Block: 4096 character special file
Access: (0666/crw-rw-rw-) Uid: (0/ root) Gid: (0/ root)
Access: 2025-01-25 14:42:20.101000002 +0300
...
Этот вывод показывает, что файл имеет размер 0 байт, для него выделено 0 блоков на диске, дата создания = дата запуска системы:
$ who -b
system boot 2025-01-25 14:42
Права доступа установлены таким образом, что любой может читать и записывать в него, но никто не может его выполнять:
$ echo hello | /dev/null
-bash2: /dev/null: Permission denied
Поскольку файл не исполняемый, мы не можем использовать конвейер
|. Единственный способ — использовать перенаправление файлов >, >>.Please open Telegram to view this post
VIEW IN TELEGRAM
❤23👌7👍5🔥2🤔1
🕷️ Venom C2: Легкий C2 фреймворк для красной команды
Venom C2 — это беззависимый фреймворк на Python3 для управления и контроля, созданный для работы на системах без установки дополнительных пакетов. Он включает сервер на Flask, GUI на Electron и одностраничный агент, который использует AES-шифрование для безопасной передачи данных.
🚀 Основные моменты:
- Беззависимый Python3 агент для управления системами
- Поддержка нескольких операторов через Flask сервер
- AES-шифрование сообщений для безопасности
- GUI на Electron для удобного управления
- Автоматизированная обфускация для обхода EDR
📌 GitHub: https://github.com/boku7/venom
#python
Venom C2 — это беззависимый фреймворк на Python3 для управления и контроля, созданный для работы на системах без установки дополнительных пакетов. Он включает сервер на Flask, GUI на Electron и одностраничный агент, который использует AES-шифрование для безопасной передачи данных.
🚀 Основные моменты:
- Беззависимый Python3 агент для управления системами
- Поддержка нескольких операторов через Flask сервер
- AES-шифрование сообщений для безопасности
- GUI на Electron для удобного управления
- Автоматизированная обфускация для обхода EDR
📌 GitHub: https://github.com/boku7/venom
#python
🤷♀9👍8❤5🔥4👎1🥴1
В часовом видео Линус Торвальдс вместе с Линусом Себастьяном собрали «идеальную машину» под Linux и обсудили нюансы разработки ядра. Получился редкий взгляд на то, каким железом пользуется создатель Linux.
Выбор комплектующих:
- AMD Ryzen Threadripper 9960X
- Intel Arc B580
- материнская плата GIGABYTE TRX50 AERO D
- SSD Samsung 9100 PRO 2 TB
- кулер Noctua NH-U14S TR5-SP6
- монитор Asus ProArt PA32QCV (31.5", 6K HDR)
Из дистрибутивов Торвальдс по-прежнему отдаёт предпочтение Fedora.
Видео получилось живым и информативным — отличный вариант для просмотра вечером.
https://www.youtube.com/watch?v=mfv0V1SxbNA
Please open Telegram to view this post
VIEW IN TELEGRAM
❤42🥴10🔥3🙈3
Please open Telegram to view this post
VIEW IN TELEGRAM
❤41😁33🔥20👍6❤🔥1
🔥 Новый курс на 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 легко интегрируется и делает терминал гораздо удобнее.
❤8👍5🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
🐧 Linux совет дня 💡
Редактируйте файлы прямо из
Когда вы просматриваете файл в
После сохранения и выхода из редактора вы автоматически вернётесь в
Удобно, быстро и без выхода из контекста 👌
Редактируйте файлы прямо из
less - мощный трюк для продвинутых пользователей.Когда вы просматриваете файл в
less, просто нажмите клавишу v. less откроет текущий файл в редакторе, указанном в переменной окружения EDITOR.После сохранения и выхода из редактора вы автоматически вернётесь в
less, где уже увидите обновлённое содержимое.Удобно, быстро и без выхода из контекста 👌
🔥32👍12❤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
🔥9❤3
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
🔥9❤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❤4
Аппаратные брейкпойнты: что это и когда они нужны в Linux
В блоге YADRO на Хабре вышло весьма подробное исследование аппаратных брейкпойнтов в Linux. Сначала с точки зрения отладчика раскрывается смысл аппаратных триггеров. Далее автор рассматривает реализацию с их помощью не только брейкпойнтов, но и вотчпойнтов, выделяет кейсы, когда такая реализация уместней софтверной. В завершение следует небольшой гайд по работе с аппаратными брейкпойнтами с помощью Perf Events — фреймворка для профилирования и трассировки в ядре.ㅤㅤ
Интересно, что начинается статья с намеренной поломки GDB. И этому найдется свое объяснение.
Прочитать →
В блоге YADRO на Хабре вышло весьма подробное исследование аппаратных брейкпойнтов в Linux. Сначала с точки зрения отладчика раскрывается смысл аппаратных триггеров. Далее автор рассматривает реализацию с их помощью не только брейкпойнтов, но и вотчпойнтов, выделяет кейсы, когда такая реализация уместней софтверной. В завершение следует небольшой гайд по работе с аппаратными брейкпойнтами с помощью Perf Events — фреймворка для профилирования и трассировки в ядре.ㅤㅤ
Интересно, что начинается статья с намеренной поломки GDB. И этому найдется свое объяснение.
Прочитать →
❤8🔥1🐳1
This media is not supported in your browser
VIEW IN TELEGRAM
Линукс очень удобный.
Тем временем Линукс, когда нужно установить программу:
Тем временем Линукс, когда нужно установить программу:
🔥62💅13🤣11👍7🗿7❤3👎3👏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
🖥️🔌 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
❤4👍2🔥1
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
👍28❤13🐳3👎2💅1
