Чтобы разобраться с правами доступа к файлам в Linux, нам нужно понять, что такое Ownership и Permission.
Ownership
Каждому файлу или каталогу присваивается три типа прав собственности:
🔹Owner: Владелец - это пользователь, создавший файл или каталог.
🔹Group (группа): В группе может быть несколько пользователей. Все пользователи в группе имеют одинаковые разрешения на доступ к файлу или каталогу.
🔹Other: Другие - это пользователи, которые не являются владельцами или членами группы.
Permission
Существует только три типа разрешений для файла или каталога:
▪️ Read (r): Разрешение на чтение позволяет пользователю читать файл.
▪️ Write (w): Разрешение на запись позволяет пользователю изменять содержимое файла.
▪️ Execute (x): Разрешение execute позволяет выполнять файл.
Ownership
Каждому файлу или каталогу присваивается три типа прав собственности:
🔹Owner: Владелец - это пользователь, создавший файл или каталог.
🔹Group (группа): В группе может быть несколько пользователей. Все пользователи в группе имеют одинаковые разрешения на доступ к файлу или каталогу.
🔹Other: Другие - это пользователи, которые не являются владельцами или членами группы.
Permission
Существует только три типа разрешений для файла или каталога:
▪️ Read (r): Разрешение на чтение позволяет пользователю читать файл.
▪️ Write (w): Разрешение на запись позволяет пользователю изменять содержимое файла.
▪️ Execute (x): Разрешение execute позволяет выполнять файл.
👍3❤2
Linux-Commands
Шпаргалка по bash
Файловая система
-Просмотр содержимого папки
-Перемещение по файловой системе
-Создание папок и файлов
-Копирование файлов
-Переименование или перемещение файлов
-Удаление папок и файлов
Алиасы
Разное
Использование переменных
Подстановка команд в переменные
Математические операции
Управляющая конструкция if-then
Управляющая конструкция if-then-else
Конструкция CASE
Циклы
Сравнение чисел
Сравнение строк
Проверки файлов
Операторы
https://github.com/sergeevdm/Linux-Commands
Шпаргалка по bash
Файловая система
-Просмотр содержимого папки
-Перемещение по файловой системе
-Создание папок и файлов
-Копирование файлов
-Переименование или перемещение файлов
-Удаление папок и файлов
Алиасы
Разное
Использование переменных
Подстановка команд в переменные
Математические операции
Управляющая конструкция if-then
Управляющая конструкция if-then-else
Конструкция CASE
Циклы
Сравнение чисел
Сравнение строк
Проверки файлов
Операторы
https://github.com/sergeevdm/Linux-Commands
❤2
Краткая шпаргалка по использованию tmux
Список доступных сессий можно посмотреть командой:
Подключение к сессии:
Сессиям можно давать осмысленные имена и запускать в них фоновые задачи:
# создать фоновую сессию
# подсоединиться к сессии
# прибить сессию
Это иногда бывает удобно в каких-нибудь скриптах. Характерно, что в screen подобный функционал тоже заявлен, но последний раз, когда я проверял, он был сломан.
Интересно также, что в отличие от screen, в tmux нет возможности работать с последовательными портами. Но если вы решите полностью переходить на tmux, то для этой задачи можете воспользоваться утилитой cu:
Ctr+B, ?
Показать все доступные хоткеиCtr+B, C
Создать окноCtr+B, N
Следующее окноCtr+B, P
Предыдущее окноCtr+B, [0-9]
Перейти к окну с данным номеромCtr+B, X
Закрыть окноCtr+B, %
Горизонтальное разделениеCtr+B, "
Вертикальное разделениеCtr+B,
стрелочки Переход между разделениямиCtr+B,
запятая Переименовать окноCtr+B, W
Список всех окон с переключениемCtr+B, Fn+вверх Скролинг
, можно использовать точпадCtr+B, $
Переименовать текущую сессиюCtr+B, D Detach
, отсоединиться от сессииСписок доступных сессий можно посмотреть командой:
tmux ls
Подключение к сессии:
tmux attach -t 0
Сессиям можно давать осмысленные имена и запускать в них фоновые задачи:
# создать фоновую сессию
tmux new-session -d -s background-task 'watch date'
# подсоединиться к сессии
tmux attach -t background-task
# прибить сессию
tmux kill-session -t background-task
Это иногда бывает удобно в каких-нибудь скриптах. Характерно, что в screen подобный функционал тоже заявлен, но последний раз, когда я проверял, он был сломан.
Интересно также, что в отличие от screen, в tmux нет возможности работать с последовательными портами. Но если вы решите полностью переходить на tmux, то для этой задачи можете воспользоваться утилитой cu:
cu -l /dev/tty.usbserial -s 115200
❤1
Itentis Cloud — облачная платформа, которая работает на вас.
Когда технологии работают без сбоев, вы сосредоточены на развитии бизнеса. Itentis Cloud предлагает безопасную и гибкую инфраструктуру, чтобы вы не тратили время на технические сложности.
🔹 Безопасность как стандарт
Двухфакторная аутентификация (2FA), брандмауэры и шифрование защитят ваши данные
🔹 Полный контроль за секунды
Создавайте VPC, управляйте нагрузкой через балансировщики, автоматизируйте масштабирование. Нужны Kubernetes? Мы всё подготовим за вас.
🔹 Быстрый старт без задержек
Разверните кластер за минуты — быстрее, чем доставка еды. Если что-то пойдет не так, поможем бесплатно или вернем деньги.
🔹 Все инструменты в одном месте
VPC, VNF, IaC (инфраструктура кодом), S3-хранилище и снимки для восстановления системы за секунды.
Почему выбирают нас?
✅ 14 дней бесплатного теста + бесплатная миграция данных.
✅ Поддержка 24/7: реальный инженер поможет с настройкой.
✅Бесплатная миграция: поможем перенести данные.
👉 Переходите на сайт: itentis.cloud
👉 Подписывайтесь на Telegram-канал: t.iss.one/itentis
Когда технологии работают без сбоев, вы сосредоточены на развитии бизнеса. Itentis Cloud предлагает безопасную и гибкую инфраструктуру, чтобы вы не тратили время на технические сложности.
🔹 Безопасность как стандарт
Двухфакторная аутентификация (2FA), брандмауэры и шифрование защитят ваши данные
🔹 Полный контроль за секунды
Создавайте VPC, управляйте нагрузкой через балансировщики, автоматизируйте масштабирование. Нужны Kubernetes? Мы всё подготовим за вас.
🔹 Быстрый старт без задержек
Разверните кластер за минуты — быстрее, чем доставка еды. Если что-то пойдет не так, поможем бесплатно или вернем деньги.
🔹 Все инструменты в одном месте
VPC, VNF, IaC (инфраструктура кодом), S3-хранилище и снимки для восстановления системы за секунды.
Почему выбирают нас?
✅ 14 дней бесплатного теста + бесплатная миграция данных.
✅ Поддержка 24/7: реальный инженер поможет с настройкой.
✅Бесплатная миграция: поможем перенести данные.
👉 Переходите на сайт: itentis.cloud
👉 Подписывайтесь на Telegram-канал: t.iss.one/itentis
❤3👍2
Шпаргалка по часто используемым командам systemctl
1. Посмотреть статус службы. Покажет статус службы на примере сети network
2. Запустить сервис. Запустит сервис баз данных на примере mysql
3. Остановить службу. Остановит сервис времени ntpd
4. Перезапустить службу. Перезапустит веб-сервер nginx
5. Включить автозапуск службы. Разрешит автозапуск веб-сервера apache
6. Отключить автозапуск службы. Запретит автозапуск брандмауэра firewalld
7. Выполнить команду на удаленной системе. Остановит cron на компьютере с IP-адресом 192.168.0.15, подключившись под учетной записью root
8. Перезагрузить сервер. Перезагрузит локальный сервер
9. Проверка работы сервиса. Выполняется с помощью опции is-active. В данном примере мы проверим работу службы docker.
а) Если сервис запущен, мы увидим:
active
б) Если не запущен:
failed
... или:
inactive
в) Если такого сервиса нет в системе:
unknown
... или:
inactive
Если сервис не работает или его нет в системе, команда вернет код ошибки, таким образом конструкция:
... приведет к выполнению команды docker run hello-world только в том случае, если сервис docker работает.
1. Посмотреть статус службы. Покажет статус службы на примере сети network
systemctl status network
2. Запустить сервис. Запустит сервис баз данных на примере mysql
systemctl start mysql
3. Остановить службу. Остановит сервис времени ntpd
systemctl stop ntpd
4. Перезапустить службу. Перезапустит веб-сервер nginx
systemctl restart nginx
5. Включить автозапуск службы. Разрешит автозапуск веб-сервера apache
systemctl enable apache
6. Отключить автозапуск службы. Запретит автозапуск брандмауэра firewalld
systemctl disable firewalld
7. Выполнить команду на удаленной системе. Остановит cron на компьютере с IP-адресом 192.168.0.15, подключившись под учетной записью root
systemctl --host [email protected] stop cron
8. Перезагрузить сервер. Перезагрузит локальный сервер
systemctl reboot
9. Проверка работы сервиса. Выполняется с помощью опции is-active. В данном примере мы проверим работу службы docker.
systemctl is-active docker
а) Если сервис запущен, мы увидим:
active
б) Если не запущен:
failed
... или:
inactive
в) Если такого сервиса нет в системе:
unknown
... или:
inactive
Если сервис не работает или его нет в системе, команда вернет код ошибки, таким образом конструкция:
systemctl is-active docker && docker run hello-world
... приведет к выполнению команды docker run hello-world только в том случае, если сервис docker работает.
❤2
📌 Как быстро вычислить утечку памяти в Linux?
Когда система начинает «подтормаживать» без видимой причины — пора заподозрить утечку памяти.
Так можно быстро найти виновника :
1. Проверяем использование памяти:
Если
2. Сортируем процессы по потреблению RAM:
Тут видно, кто больше всех ест память.
3. Следим за slab-объектами:
Если значение растёт со временем — это сигнал утечки в ядре или драйверах.
4. Используем
5. Если подозрение на конкретный процесс:
Совет:
Запусти
Когда система начинает «подтормаживать» без видимой причины — пора заподозрить утечку памяти.
Так можно быстро найти виновника :
1. Проверяем использование памяти:
free -h
Если
available
стремится к нулю, есть повод копнуть глубже.2. Сортируем процессы по потреблению RAM:
ps aux --sort=-%mem | head -n 10
Тут видно, кто больше всех ест память.
3. Следим за slab-объектами:
cat /proc/meminfo | grep Slab
Если значение растёт со временем — это сигнал утечки в ядре или драйверах.
4. Используем
smem
для точной оценки:
smem -r | sort -k 4 -nr | head
smem
учитывает shared memory — оценка куда точнее, чем просто ps
.5. Если подозрение на конкретный процесс:
pmap
— покажет, что именно грузит память:
pmap -x <PID>
Совет:
Запусти
htop
, нажми F6
, выбери колонку RES
, отсортируй. Увидишь — кто на самом деле обжора.❤1
3 довольно неизвестных команды Docker, которые помогут вам в самых различных ситуациях
Если вы какое-то время используете Docker, у вас, вероятно, уже есть адаптированный для вас простой и эффективный рабочий процесс, который включает в себя некоторые из ваших любимых команд Docker (если это технически правильные подкоманды).
https://telegra.ph/3-dovolno-neizvestnyh-komandy-Docker-kotorye-pomogut-vam-v-samyh-razlichnyh-situaciyah-09-26
Если вы какое-то время используете Docker, у вас, вероятно, уже есть адаптированный для вас простой и эффективный рабочий процесс, который включает в себя некоторые из ваших любимых команд Docker (если это технически правильные подкоманды).
https://telegra.ph/3-dovolno-neizvestnyh-komandy-Docker-kotorye-pomogut-vam-v-samyh-razlichnyh-situaciyah-09-26
❤2
Стандартные инструменты для диагностики системы Linux
Ядро:
* perf — (в прошлом performance counters for Linux) — доступ к различным внутренним счётчикам ядра; незаменимый инструмент для выполнения профайлинга ядра/операционной системы
* ftrace — трассировщик вызовов функций внутри ядра Linux
* stap — скриптовый язык и инструмент для комплексной диагностики ядра и процессов Linux
* lttng — (Linux Trace Toolkit Next Generation) инструмент для трассировки ядра, программ и библиотек Linux
* bcc (BPF) — (сравнительно) новый и очень мощный инструмент для трассировки и манипуляции ядром Linux, основанный на Berkeley Packet Filter, позволяет делать космические вещи
Ввод/вывод:
* iostat (sysstat) — статистика ввода/вывода по заданному устройству (количество операций записи/чтения в единицу времени, скорость записи/чтения)
* pidstat (sysstat) — нагрузка на процессор, память и устройства от конкретного процесса (заданного по имени или номеру)
* pcstat — использование кэша (какой процент файла попадает в кэш, какой нет)
* lsof — информация об открытых процессом файлах
blktrace
Системные и библиотечные вызовы:
* strace — информация о системных вызовов, выполняемых процессом, позволяет понять или по крайней мере лучше разобраться, почему процесс висит или потребляет много ресурсов
* ltrace — трассировка библиотечных вызовов (которые не обязательно являются системными)
Аппаратные счётчики:
* tiptop — информация о процессах в реальном времени, похожа на top, но в отличие от него данные преимущественно берутся с аппаратных счётчиков
* numastat — просмотр информации об использовании памяти процессами/процессорами в системах с NUMA-архитектурой
Сеть:
* netstat — классический инструмент для просмотра конфигурации сети (сокетов, интерфейсов и так далее)
* ss — socket statistics, позволяет получить информацию об открытых сокетах и их состоянии (похожа на netstat, но умеет больше)
* ethtool — просмотр настроек и состояния ethernet-интерфейса
* snmpget — получение данных по SNMP
* lldptool — настройка LLDP и просмотр данных LLDP
* nicstat — статистика использования сетевой карты (сетевого интерфейса)
* ip — конфигурация и статистика стека TCP/IP Linux
* ifstat — статистика использования сетевого интерфейса в реальном времени
Процессы:
* top — информация о наиболее активных (наиболее ресурсоёмки) процессах + общая информация о системе
* vmstat — данные об использовании виртуальной памяти
* free — информация о свободной памяти, кэше, буферах
* slabtop — информация о заполнении SLAB-кэша
Процессор:
* mpstat (sysstat) — общая информация об использовании процессора (одного или всех процессоров)
* turbostat (kernel-tools) — информация о топологии процессора, частоте, питании, температуре
* rdmsr — (Read from Model Specific Register) чтение из моделезависимых регистров (позволяет оценить использование LLC-кэша и прочее)
Универсальные:
* sar — (system activity report) информация о системной активности в реальном времени (диск, память, процессор и так далее)
* dstat — универсальный инструмент для сбора информации о системе (vmstat, iostat, netstat, ifstat и ещё много других в одном флаконе)
* dmesg — журнал сообщений ядра с момента загрузки системы
* /proc — псевдофайловая система предоставляющая доступ к внутренним данным/счётчикам ядра
* sysdig — универсальный инструмент для сбора и анализа данных о системе (сотни различных источников скомбинированные вместе)
Ядро:
* perf — (в прошлом performance counters for Linux) — доступ к различным внутренним счётчикам ядра; незаменимый инструмент для выполнения профайлинга ядра/операционной системы
* ftrace — трассировщик вызовов функций внутри ядра Linux
* stap — скриптовый язык и инструмент для комплексной диагностики ядра и процессов Linux
* lttng — (Linux Trace Toolkit Next Generation) инструмент для трассировки ядра, программ и библиотек Linux
* bcc (BPF) — (сравнительно) новый и очень мощный инструмент для трассировки и манипуляции ядром Linux, основанный на Berkeley Packet Filter, позволяет делать космические вещи
Ввод/вывод:
* iostat (sysstat) — статистика ввода/вывода по заданному устройству (количество операций записи/чтения в единицу времени, скорость записи/чтения)
* pidstat (sysstat) — нагрузка на процессор, память и устройства от конкретного процесса (заданного по имени или номеру)
* pcstat — использование кэша (какой процент файла попадает в кэш, какой нет)
* lsof — информация об открытых процессом файлах
blktrace
Системные и библиотечные вызовы:
* strace — информация о системных вызовов, выполняемых процессом, позволяет понять или по крайней мере лучше разобраться, почему процесс висит или потребляет много ресурсов
* ltrace — трассировка библиотечных вызовов (которые не обязательно являются системными)
Аппаратные счётчики:
* tiptop — информация о процессах в реальном времени, похожа на top, но в отличие от него данные преимущественно берутся с аппаратных счётчиков
* numastat — просмотр информации об использовании памяти процессами/процессорами в системах с NUMA-архитектурой
Сеть:
* netstat — классический инструмент для просмотра конфигурации сети (сокетов, интерфейсов и так далее)
* ss — socket statistics, позволяет получить информацию об открытых сокетах и их состоянии (похожа на netstat, но умеет больше)
* ethtool — просмотр настроек и состояния ethernet-интерфейса
* snmpget — получение данных по SNMP
* lldptool — настройка LLDP и просмотр данных LLDP
* nicstat — статистика использования сетевой карты (сетевого интерфейса)
* ip — конфигурация и статистика стека TCP/IP Linux
* ifstat — статистика использования сетевого интерфейса в реальном времени
Процессы:
* top — информация о наиболее активных (наиболее ресурсоёмки) процессах + общая информация о системе
* vmstat — данные об использовании виртуальной памяти
* free — информация о свободной памяти, кэше, буферах
* slabtop — информация о заполнении SLAB-кэша
Процессор:
* mpstat (sysstat) — общая информация об использовании процессора (одного или всех процессоров)
* turbostat (kernel-tools) — информация о топологии процессора, частоте, питании, температуре
* rdmsr — (Read from Model Specific Register) чтение из моделезависимых регистров (позволяет оценить использование LLC-кэша и прочее)
Универсальные:
* sar — (system activity report) информация о системной активности в реальном времени (диск, память, процессор и так далее)
* dstat — универсальный инструмент для сбора информации о системе (vmstat, iostat, netstat, ifstat и ещё много других в одном флаконе)
* dmesg — журнал сообщений ядра с момента загрузки системы
* /proc — псевдофайловая система предоставляющая доступ к внутренним данным/счётчикам ядра
* sysdig — универсальный инструмент для сбора и анализа данных о системе (сотни различных источников скомбинированные вместе)
❤3
Примеры полезного использования команды netsh в Windows
Команда netsh (от англ. «сетевая оболочка» или network shell) — программа, включенная в линейку продуктов операционных систем Microsoft Windows NT начиная с Windows 2000. Она позволяет осуществлять локальное или удаленное конфигурирование сетевых параметров.
https://bookflow.ru/primery-poleznogo-ispolzovaniya-komandy-netsh-v-windows/
Команда netsh (от англ. «сетевая оболочка» или network shell) — программа, включенная в линейку продуктов операционных систем Microsoft Windows NT начиная с Windows 2000. Она позволяет осуществлять локальное или удаленное конфигурирование сетевых параметров.
https://bookflow.ru/primery-poleznogo-ispolzovaniya-komandy-netsh-v-windows/
❤1
Основные команды PowerShell
1. Основные команды управления системой:
-
-
-
-
-
-
2. Работа с файлами и каталогами:
-
-
-
-
-
-
3. Информация о системе и процессах:
-
-
-
-
4. Работа с пользователями и группами:
-
-
-
-
5. Работа с переменными и данными:
-
-
-
-
-
6. Потоки данных и конвейеры:
-
-
-
7. Сетевые команды:
-
-
-
8. Скрипты и автоматизация:
-
-
-
-
9. Обновления и безопасность:
-
-
10. Дополнительные команды:
-
-
-
1. Основные команды управления системой:
-
Get-Help
: Получение справки о командах. Например, Get-Help Get-Process
показывает справку о команде Get-Process
.-
Get-Command
: Показать список всех доступных команд или команд, связанных с определённой задачей. Пример: Get-Command *process*
.-
Get-Service
: Показать все службы, установленные на системе.-
Start-Service
: Запустить службу. Пример: Start-Service -Name "wuauserv"
.-
Stop-Service
: Остановить службу.-
Restart-Service
: Перезапустить службу.2. Работа с файлами и каталогами:
-
Get-ChildItem
: Просмотреть файлы и каталоги (аналог команды dir
или ls`). Пример: `Get-ChildItem C:\
.-
Set-Location
: Перейти в другой каталог (аналог cd`). Пример: `Set-Location C:\Users
.-
Copy-Item
: Копировать файл или папку. Пример: Copy-Item C:\source.txt C:\destination.txt
.-
Move-Item
: Переместить файл или папку. Пример: Move-Item C:\file.txt C:\archive\file.txt
.-
Remove-Item
: Удалить файл или папку. Пример: Remove-Item C:\file.txt
.-
New-Item
: Создать новый файл или каталог. Пример: New-Item -Path C:\ -Name "file.txt" -ItemType "file"
.3. Информация о системе и процессах:
-
Get-Process
: Показать список всех запущенных процессов.-
Stop-Process
: Остановить процесс. Пример: Stop-Process -Name "notepad"
.-
Get-EventLog
: Просмотр журналов событий (Event Logs). Пример: Get-EventLog -LogName Application
.-
Get-WmiObject
: Получить информацию о системе, например, о процессоре или установленной ОС. Пример: Get-WmiObject Win32_OperatingSystem
.4. Работа с пользователями и группами:
-
Get-LocalUser
: Показать всех локальных пользователей.-
New-LocalUser
: Создать нового локального пользователя. Пример: New-LocalUser -Name "TestUser" -Password (ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force)
.-
Remove-LocalUser
: Удалить локального пользователя.-
Add-LocalGroupMember
: Добавить пользователя в локальную группу. Пример: Add-LocalGroupMember -Group "Administrators" -Member "TestUser"
.5. Работа с переменными и данными:
-
Set-Variable
: Установить переменную. Пример: Set-Variable -Name "MyVar" -Value "Hello"
.-
Get-Variable
: Показать значения переменных.-
Remove-Variable
: Удалить переменную.-
Export-Csv
: Экспорт данных в CSV-файл. Пример: Get-Process | Export-Csv -Path "C:\processes.csv"
.-
Import-Csv
: Импорт данных из CSV-файла. Пример: Import-Csv -Path "C:\processes.csv"
.6. Потоки данных и конвейеры:
-
|
(Pipeline): Передача данных от одной команды к другой. Пример: Get-Process | Where-Object { $_.CPU -gt 100 }
— вывести процессы, которые используют больше 100 единиц процессорного времени.-
Out-File
: Записать результат команды в файл. Пример: Get-Process | Out-File -FilePath "C:\processes.txt"
.-
Select-Object
: Выбор определённых полей. Пример: Get-Process | Select-Object -Property Name, CPU
.7. Сетевые команды:
-
Test-Connection
: Проверить доступность компьютера (аналог команды ping`). Пример: `Test-Connection google.com
.-
Get-NetIPAddress
: Показать список всех IP-адресов на машине.-
Get-NetAdapter
: Показать информацию о сетевых адаптерах.8. Скрипты и автоматизация:
-
Invoke-Command
: Выполнить команду на удалённой системе. Пример: Invoke-Command -ComputerName "Server1" -ScriptBlock { Get-Process }
.-
Start-Job
: Запустить задачу в фоне. Пример: Start-Job -ScriptBlock { Get-Process }
.-
Get-Job
: Показать статус фоновых задач.-
Receive-Job
: Получить результат выполнения фоновой задачи.9. Обновления и безопасность:
-
Install-Module
: Установка PowerShell-модулей. Пример: Install-Module -Name "PSWindowsUpdate"
.-
Update-Module
: Обновление установленных модулей.10. Дополнительные команды:
-
Clear-Host
(или `cls`): Очистить экран.-
Exit
: Выйти из сеанса PowerShell.-
Measure-Object
: Подсчитать количество объектов, или сумму значений. Пример: Get-ChildItem | Measure-Object
.Stacer – Опенсорсная утилита для оптимизации и мониторинга Linux-систем
https://github.com/oguzhaninan/Stacer
https://github.com/oguzhaninan/Stacer
❤2🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Advanced Bash-Scripting Guide
Перевод: Андрей Киселев
Версия 2.8.7 (22 Августа 2004)
Искусство программирования на языке сценариев командной оболочки
Данное руководство не предполагает наличие у читателя познаний в области программирования на языке сценариев, однако, быстро восполняет этот недостаток . . . постепенно, шаг за шагом раскрывая мудрость и красоту UNIX. Это руководство может рассматриваться как учебник, предназначенный для самостоятельного изучения или как справочник по программированию на shell. Руководство снабжено серией хорошо прокомментированных примеров, поскольку лучший путь к изучению языка сценариев -- это написание сценариев.
https://rus-linux.net/MyLDP/BOOKS/abs-guide/flat/abs-book.html
Перевод: Андрей Киселев
Версия 2.8.7 (22 Августа 2004)
Искусство программирования на языке сценариев командной оболочки
Данное руководство не предполагает наличие у читателя познаний в области программирования на языке сценариев, однако, быстро восполняет этот недостаток . . . постепенно, шаг за шагом раскрывая мудрость и красоту UNIX. Это руководство может рассматриваться как учебник, предназначенный для самостоятельного изучения или как справочник по программированию на shell. Руководство снабжено серией хорошо прокомментированных примеров, поскольку лучший путь к изучению языка сценариев -- это написание сценариев.
https://rus-linux.net/MyLDP/BOOKS/abs-guide/flat/abs-book.html
❤2🔥1
📌 Эти утилиты предоставляют важные возможности для анализа и отладки сетевых проблем в различных операционных системах
Windows
▪️ tracert - стандартная утилита в Windows для трассировки маршрута, которая известна многим.
▪️ pathping - это встроенный в Windows аналог утилиты mtr с аналогичной функциональностью, но поддерживающий только icmp запросы. Обычно он уже установлен в системе, и его не требуется устанавливать отдельно.
▪️ tracetcp - это виндовая утилита, которая может выполнять tcp syn запросы по маршруту следования пакетов. Она помогает определить доступность определенного порта и может указать, где именно блокируется этот порт. Для установки этой утилиты потребуется скачать ее с официального сайта и установить вручную.
Linux
▪️ traceroute - это стандартная утилита Linux, предназначенная для трассировки маршрута. По умолчанию она использует протокол udp, но вы можете выполнить трассировку с использованием протокола icmp следующим образом:
▪️ tracepath - аналогична утилите traceroute, но использует протокол udp и сразу выводит значения mtu и маршрутизаторы, где происходит изменение mtu.
▪️ mtr - эта утилита объединяет функциональность утилит ping и traceroute. Она может использовать протоколы tcp, udp и icmp. В операционной системе Windows есть аналог с названием Winmtr.
Windows
▪️ tracert - стандартная утилита в Windows для трассировки маршрута, которая известна многим.
tracert google.com
▪️ pathping - это встроенный в Windows аналог утилиты mtr с аналогичной функциональностью, но поддерживающий только icmp запросы. Обычно он уже установлен в системе, и его не требуется устанавливать отдельно.
pathping google.com
▪️ tracetcp - это виндовая утилита, которая может выполнять tcp syn запросы по маршруту следования пакетов. Она помогает определить доступность определенного порта и может указать, где именно блокируется этот порт. Для установки этой утилиты потребуется скачать ее с официального сайта и установить вручную.
tracetcp google.com:443
Linux
▪️ traceroute - это стандартная утилита Linux, предназначенная для трассировки маршрута. По умолчанию она использует протокол udp, но вы можете выполнить трассировку с использованием протокола icmp следующим образом:
traceroute -I google.com
▪️ tracepath - аналогична утилите traceroute, но использует протокол udp и сразу выводит значения mtu и маршрутизаторы, где происходит изменение mtu.
tracepath google.com
▪️ mtr - эта утилита объединяет функциональность утилит ping и traceroute. Она может использовать протоколы tcp, udp и icmp. В операционной системе Windows есть аналог с названием Winmtr.
mtr -c3 google.com
❤3👍2
Cron - лучшие практики
Планировщик задач cron(8) существует с 7 версии Unix, а его синтаксис crontab(5) знаком даже тем, кто нечасто сталкивается с системным администрированием Unix. Это стандартизированный, довольно гибкий, простой в настройке и надёжно работающий планировщик, которому пользователи и системные пакеты доверяют управление важными задачами.
У простоты cron(8), как и многих старых Unix-инструментов, есть недочёт: программа полагается на то, что пользователь хотя бы примерно знает, как всё работает, и в состоянии правильно реализовать в нём какую-то проверку безопасности.
По сути, единственное, что делает планировщик, — это пытается запустить задачу в определённое время и прислать результат на электронную почту. Для простых и незначительных задач пользователей таких возможностей вполне достаточно.
Но для более важных системных задач стоит обернуть вокруг cron(8) и вызываемых им задач дополнительную инфраструктуру. Если вам хочется отслеживать выполняемые задачи, то существует несколько способов повысить надёжность работы с cron(8).
Rus https://habr.com/ru/companies/skillfactory/articles/656423/
Eng https://blog.sanctum.geek.nz/cron-best-practices/
Планировщик задач cron(8) существует с 7 версии Unix, а его синтаксис crontab(5) знаком даже тем, кто нечасто сталкивается с системным администрированием Unix. Это стандартизированный, довольно гибкий, простой в настройке и надёжно работающий планировщик, которому пользователи и системные пакеты доверяют управление важными задачами.
У простоты cron(8), как и многих старых Unix-инструментов, есть недочёт: программа полагается на то, что пользователь хотя бы примерно знает, как всё работает, и в состоянии правильно реализовать в нём какую-то проверку безопасности.
По сути, единственное, что делает планировщик, — это пытается запустить задачу в определённое время и прислать результат на электронную почту. Для простых и незначительных задач пользователей таких возможностей вполне достаточно.
Но для более важных системных задач стоит обернуть вокруг cron(8) и вызываемых им задач дополнительную инфраструктуру. Если вам хочется отслеживать выполняемые задачи, то существует несколько способов повысить надёжность работы с cron(8).
Rus https://habr.com/ru/companies/skillfactory/articles/656423/
Eng https://blog.sanctum.geek.nz/cron-best-practices/
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
📌 Принцип работы протокола Kerberos
❤2👍1
Полезные команды Linux. Средство управления пакетами - YUM ( Fedora, RedHat и т.д. )
Вывести листинг пакетов, установленных в системе
Удалить все заголовки файлов, которые система использует для разрешения зависимостей
Очистить rpm-кэш, удалив закачанные пакеты
Найти пакет в репозитории
Очистить rpm-кэш, удалив закачанные пакеты и заголовки
Скачать и установить пакет
обновить пакет
Обновить все пакеты, установленные в систему
Попытаться установить пакет RPM и все зависимые от него пакеты, используя ваши репозитории
Удалить пакет
# yum list
Вывести листинг пакетов, установленных в системе
# yum clean headers
Удалить все заголовки файлов, которые система использует для разрешения зависимостей
# yum clean [package]
Очистить rpm-кэш, удалив закачанные пакеты
# yum search [package]
Найти пакет в репозитории
# yum clean all
Очистить rpm-кэш, удалив закачанные пакеты и заголовки
# yum -y install [ package ]
Скачать и установить пакет
# yum update [package]
обновить пакет
# yum -y update
Обновить все пакеты, установленные в систему
# yum localinstall [ package.rpm ]
Попытаться установить пакет RPM и все зависимые от него пакеты, используя ваши репозитории
# yum remove [package]
Удалить пакет
❤3👎1