Какой из этих типов файлов не может быть исполняемым в Linux без соответствующих прав?
Anonymous Quiz
60%
.sh
21%
.exe
9%
.py
10%
.bat
🤣20👍11🤡7❤3👎2
Обновление конфигурационных файлов при обновлении пакетов в Linux
Рассмотрим ситуацию, когда менеджер пакетов вашего дистрибутива #Linux (#Debian, Linux #Mint, #Ubuntu, #Kali Linux) спрашивает про обновление конфигурационного файла.
При некоторых обновлениях некоторых пакетов меняется структура конфигурационного файла.
Как правило, в новом файле содержаться директивы и настройки, которые необходимы для новой версии программы, без которых она не может работать.
Конечный файл может быть результатом длительной работы с конфигурацией и множества тестов. На это могут быть потрачены часы или даже дни.
Поэтому при необходимости обновить конфигурацию, возникает дилемма:
• не обновлять конфиг, в результате чего новая версия пакета не будет нормально работать
• обновить конфиг и стереть результаты настройки службы
Именно по этой причине система спрашивает у вас каждый раз, что нужно сделать, если с обновлением программы обновляется и конфигурационный файл?
Примеры команд:
1️⃣ dpkg: Для просмотра изменений в конфигурационном файле после обновления можно использовать команду dpkg --status <package_name>.
2️⃣ apt: После обновления пакета apt иногда предлагает вам решить конфликт по конфигурационным файлам. Вы можете использовать команду apt diff <package_name>, чтобы просмотреть различия между версиями файлов.
3️⃣ diff: Вы можете использовать стандартную утилиту #diff для сравнения конфигурационных файлов до и после обновления.
4️⃣ vimdiff: Для сравнения двух файлов в #Vim используйте команду vimdiff.
5️⃣ meld: Это графическая утилита для сравнения файлов, которая может быть удобна для визуального сравнения изменений в конфигурационных файлах.
A.G.ℹ️ Help
Рассмотрим ситуацию, когда менеджер пакетов вашего дистрибутива #Linux (#Debian, Linux #Mint, #Ubuntu, #Kali Linux) спрашивает про обновление конфигурационного файла.
Что нужно делать и как получить конфигурационный файл последней версии?
При некоторых обновлениях некоторых пакетов меняется структура конфигурационного файла.
Как правило, в новом файле содержаться директивы и настройки, которые необходимы для новой версии программы, без которых она не может работать.
Настройка службы — это почти всегда изменение конфигурационных файлов.
Конечный файл может быть результатом длительной работы с конфигурацией и множества тестов. На это могут быть потрачены часы или даже дни.
Поэтому при необходимости обновить конфигурацию, возникает дилемма:
• не обновлять конфиг, в результате чего новая версия пакета не будет нормально работать
• обновить конфиг и стереть результаты настройки службы
Именно по этой причине система спрашивает у вас каждый раз, что нужно сделать, если с обновлением программы обновляется и конфигурационный файл?
Примеры команд:
A.G.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20👎1
Как показывает практика, чтобы закрепить какую-то информацию, необходимо регулярно ее повторять.
Принимайте участие в викторинах с вариантами ответов, проверьте, на сколько хорошо знаете ту или иную тему.
Опросы анонимны, и если вы ошибётесь, получите пояснение с правильным вариантом ответа.
Викторины:
- Какая команда используется для поиска определенного текста в файле в системе Linux?
- Какая команда используется для просмотра списка всех пользователей в системе Linux?
- Какой из следующих файлов содержит информацию о запущенных процессах в Linux?
- Какова роль команды tcpdump в сетевом администрировании?
- Какая из следующих файловых систем не используется в операционной системе Windows?
- Какая команда в Linux используется для отправки сигнала процессу, чтобы завершить его работу безопасно?
- Какая команда в Linux используется для архивации файлов и каталогов?
- Какой файл содержит информацию о текущем состоянии сетевых интерфейсов в Linux?
- Какая команда в Linux используется для проверки и мониторинга состояния RAID-массивов?
- Что такое Swap в Linux?
- Какой командой в PowerShell можно установить новое окружение переменных?
- Какой из этих файловых форматов не поддерживается в Linux по умолчанию?
- Какой из этих типов файлов не может быть исполняемым в Linux без соответствующих прав?
- Какой из этих языков программирования широко используется для написания сценариев и автоматизации задач в Linux?
- Что означает аббревиатура CLI в компьютерных терминах?
- Какая команда в Linux используется для перечисления содержимого каталога, включая скрытые файлы?
- Какая команда в Windows используется для завершения процесса по его имени?
- Какая команда в Linux используется для отображения текущего пути?
- Что такое SELinux в контексте Linux?
- Какой командой в Linux можно изменить приоритет процесса?
- Какую информацию предоставляет команда df в Linux?
- Что делает команда scp в Linux?
Дайте реакцию
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥53👍4
Процесс загрузки Linux.
Этапы
Этапы процесса загрузки #Linux условно можно разделить на:
• Загрузка BIOS (POST).
• Первый этап загрузки (MBR или GPT).
• Второй этап загрузки (GRUB2).
• Инициализация ядра.
• Инициализация главного процесса (init или systemd).
• Уровни выполнения (runlevels).
Разберем сегодня первые 3 из них.
⏺ BIOS - это низкоуровневое программное обеспечение, хранящееся на чипе памяти материнской платы.
Его задача - инициировать процесс загрузки и проверить работоспособность оборудования, что называется #POST (Power-On Self-Test).
POST также ищет загрузочное устройство и готовит компьютер к загрузке операционной системы.
После успешного завершения POST #BIOS передает управление загрузчику первого этапа, такому как #MBR (Master Boot Record) или #GPT (Guided Partition Table).
⏺ MBR находится в первом секторе загрузочного диска и содержит таблицу разделов диска.
Загрузчик второго этапа, такой как #GRUB2 (GRand Unified Bootloader), ищет ядро операционной системы и загружает его в память компьютера.
⏺ GRUB2 также предоставляет пользователю интерфейс выбора опций загрузки, что позволяет выбирать нужное ядро или операционную систему для загрузки.
Конфигурационные файлы загрузчика, например, файлы
🔥 После загрузки ядра управление передается ему, и операционная система начинает свою работу.
A.G.ℹ️ Help
Этапы
Этапы процесса загрузки #Linux условно можно разделить на:
• Загрузка BIOS (POST).
• Первый этап загрузки (MBR или GPT).
• Второй этап загрузки (GRUB2).
• Инициализация ядра.
• Инициализация главного процесса (init или systemd).
• Уровни выполнения (runlevels).
Разберем сегодня первые 3 из них.
Процесс загрузки компьютера начинается с инициализации BIOS (Basic Input/Output System).
Его задача - инициировать процесс загрузки и проверить работоспособность оборудования, что называется #POST (Power-On Self-Test).
POST также ищет загрузочное устройство и готовит компьютер к загрузке операционной системы.
После успешного завершения POST #BIOS передает управление загрузчику первого этапа, такому как #MBR (Master Boot Record) или #GPT (Guided Partition Table).
Он перенаправляет управление к загрузчику второго этапа.
Загрузчик второго этапа, такой как #GRUB2 (GRand Unified Bootloader), ищет ядро операционной системы и загружает его в память компьютера.
Конфигурационные файлы загрузчика, например, файлы
/boot/grub/grub.conf или /etc/grub.conf, хранят информацию о доступных ядрах и опциях загрузки. A.G.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30❤1👎1
Процесс загрузки Linux.
Часть 2
Продолжаем обсуждать каждый этап загрузки Linux.
⏺ Инициализация ядра
Ядро #Linux, расположенное в каталоге
После получения управления ядро начинает процесс самораспаковки, так как оно обычно хранится в сжатом виде для экономии места на жестком диске.
Затем ядро монтирует корневую файловую систему, указанную в файле
⏺ Инициализация главного процесса
После успешной загрузки ядра начинается инициализация главного процесса, который управляет запуском всех необходимых служб и программ.
Они отвечают за регистрацию системных сообщений, отслеживание устройств и синхронизацию файловой системы с системной памятью.
В системах семейства #Debian главным процессом может быть init или systemd, в зависимости от используемой версии.
⏺ Уровни выполнения
Уровень выполнения (runlevel) определяет текущее состояние операционной системы после завершения процесса загрузки.
Он контролирует параметры питания, пользовательский режим и другие параметры окружения.
A.G.ℹ️ Help
Часть 2
Продолжаем обсуждать каждый этап загрузки Linux.
При загрузке Linux первым этапом является инициализация ядра.
Ядро #Linux, расположенное в каталоге
/boot, играет решающую роль во взаимодействии между компонентами компьютера и операционной системой. После получения управления ядро начинает процесс самораспаковки, так как оно обычно хранится в сжатом виде для экономии места на жестком диске.
Затем ядро монтирует корневую файловую систему, указанную в файле
grub.cfg, чтобы обеспечить доступ к основным файлам операционной системы.После успешной загрузки ядра начинается инициализация главного процесса, который управляет запуском всех необходимых служб и программ.
Эти службы продолжают работать после инициализации и обеспечивают функционирование различных системных процессов. Они отвечают за регистрацию системных сообщений, отслеживание устройств и синхронизацию файловой системы с системной памятью.
В системах семейства #Debian главным процессом может быть init или systemd, в зависимости от используемой версии.
Уровень выполнения (runlevel) определяет текущее состояние операционной системы после завершения процесса загрузки.
Он контролирует параметры питания, пользовательский режим и другие параметры окружения.
Если нужен отдельный пост на тему уровней выполнения, ставьте👍 .
A.G.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍56🔥8❤2
Была представлена новая версия ПО Solar NGFW 1.2
ГК "Солар" представила новую версию Solar #NGFW 1.2, в которой были внесены значительные изменения.
Обновление включает в себя возможности детальной настройки сетевых интерфейсов через графический интерфейс, импорта наборов сигнатур IPS и настройки отказоустойчивой пары.
⏺ Новая версия предоставляет администраторам сетей более широкие возможности управления параметрами сетевой конфигурации через веб-интерфейс.
Добавленный раздел "Сетевые интерфейсы" обеспечивает удобство работы с #Ethernet и #VLAN интерфейсами, предоставляя детальную информацию о их состоянии и возможности настройки.
Дополнительно к расширению функциональности веб-интерфейса, в новой версии появилась вкладка "Наборы сигнатур".
Это облегчает процесс обновления и поддержания безопасности сети.
Руководитель продукта Solar NGFW, Альберт Маннанов, отметил, что помимо внешних изменений, в новом релизе были внесены значимые внутренние доработки, которые повышают общую скорость и стабильность работы системы.
🔥 Вместе с выпуском новой версии, обновлена и методика тестирования, что гарантирует высокое качество и надежность продукта.
ГК "Солар" представила новую версию Solar #NGFW 1.2, в которой были внесены значительные изменения.
Изменения направлены на расширение возможностей веб-интерфейса и внутренние модификации в архитектуре.
Обновление включает в себя возможности детальной настройки сетевых интерфейсов через графический интерфейс, импорта наборов сигнатур IPS и настройки отказоустойчивой пары.
Добавленный раздел "Сетевые интерфейсы" обеспечивает удобство работы с #Ethernet и #VLAN интерфейсами, предоставляя детальную информацию о их состоянии и возможности настройки.
Дополнительно к расширению функциональности веб-интерфейса, в новой версии появилась вкладка "Наборы сигнатур".
Она позволяет загружать обновления на новые угрозы безопасности и обновления собственных сигнатур.
Это облегчает процесс обновления и поддержания безопасности сети.
Руководитель продукта Solar NGFW, Альберт Маннанов, отметил, что помимо внешних изменений, в новом релизе были внесены значимые внутренние доработки, которые повышают общую скорость и стабильность работы системы.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍3
Уровни выполнения (runlevels)
Уровень выполнения (#runlevel) — это непосредственное состояние операционной системы.
В таком состоянии можно управлять параметрами питания, пользовательским режимом и всем окружением.
Когда система переходит на соответствующий уровень выполнения, на экран продолжат выводиться сообщения главного процесса инициализации.
Стандартное ядро Linux поддерживает семь различных уровней выполнения:
⏺ Runlevel 0 — завершает работу системы.
⏺ Runlevel 1 — однопользовательский режим работы. Чаще всего используется в целях обслуживания и выполнения других административных задач. Этот уровень также может называться Runlevel S (от англ. «Single-user»). Если вам когда-либо приходилось сбрасывать пароль на Linux, то вы вероятно уже пользовались этим режимом.
⏺ Runlevel 2 — многопользовательский режим работы (англ. «multi-user») без поддержки сетевых служб.
⏺ Runlevel 3 — многопользовательский режим с поддержкой сети, но без графического интерфейса. Чаще всего серверные версии #Linux работают именно на этом уровне выполнения.
⏺ Runlevel 4 — не используется. Пользователь может настраивать этот уровень исходя из его целей.
⏺ Runlevel 5 — схож с режимом 3, но здесь запускается графический интерфейс. В этом режиме работают десктопные версии Linux.
⏺ Runlevel 6 — перезагружает систему.
Узнать текущий режим уровня выполнения можно с помощью следующей команды:
Если вам по какой-либо причине потребуется изменить уровень выполнения, то это можно сделать с помощью следующей команды:
Уровень выполнения (#runlevel) — это непосредственное состояние операционной системы.
Например, когда Linux завершил процесс загрузки и готов к использованию.
В таком состоянии можно управлять параметрами питания, пользовательским режимом и всем окружением.
Когда система переходит на соответствующий уровень выполнения, на экран продолжат выводиться сообщения главного процесса инициализации.
Стандартное ядро Linux поддерживает семь различных уровней выполнения:
В процессе загрузки Linux состояние уровня выполнения представлено буквенно-цифровым кодом.
Узнать текущий режим уровня выполнения можно с помощью следующей команды:
sudo runlevel
Если вам по какой-либо причине потребуется изменить уровень выполнения, то это можно сделать с помощью следующей команды:
sudo telinit [номер_уровня]
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥3❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣57🫡12🙈2😎1
Anonymous Quiz
8%
Java
11%
JavaScript
59%
Perl
21%
Ruby
👍7🔥3👌2
5 полезных команд PowerShell для администрирования серверов Windows
Эти команды предназначены для более опытных пользователей #PowerShell и предоставляют расширенные возможности для администрирования серверной инфраструктуры.
1️⃣ Get-WmiObject: Команда Get-WmiObject предоставляет доступ к объектам Windows Management Instrumentation (#WMI), позволяя получать информацию о различных аспектах системы, таких как аппаратное обеспечение, сетевые настройки, процессы и многое другое.
Пример использования:
2️⃣ Set-ExecutionPolicy: Команда Set-ExecutionPolicy позволяет устанавливать политику выполнения сценариев PowerShell на сервере, что может быть полезно для повышения безопасности и контроля исполнения скриптов.
Пример использования:
3️⃣ New-SelfSignedCertificate: Команда New-SelfSignedCertificate используется для создания самоподписанного сертификата, что может быть полезно для тестирования безопасности или настройки защищенного соединения на сервере.
Пример использования:
4️⃣ Get-ADUser: Команда Get-ADUser позволяет получить информацию о пользователях в #ActiveDirectory, что полезно для управления пользователями и группами в доменной сети.
Пример использования:
5️⃣ Install-Module: Команда Install-Module используется для установки модулей PowerShell с репозитория PowerShell Gallery, что может быть полезно для расширения функциональности PowerShell и автоматизации дополнительных задач.
Пример использования:
PowerShell является неотъемлемым инструментом для системных администраторов Windows.
Эти команды предназначены для более опытных пользователей #PowerShell и предоставляют расширенные возможности для администрирования серверной инфраструктуры.
Пример использования:
Get-WmiObject -Class Win32_Process
Пример использования:
Set-ExecutionPolicy RemoteSigned
Пример использования:
New-SelfSignedCertificate -DnsName "example.com" -CertStoreLocation "Cert:\LocalMachine\My"
Пример использования:
Get-ADUser -Filter *
Пример использования:
Install-Module -Name Az
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍5👎2
This media is not supported in your browser
VIEW IN TELEGRAM
Вы тоже замечаете как IT-форумы теряют свою актуальность? 💬
Это связанно с развитием интернета и интернет-сообществ. Люди уходят в социальные сети, где удобней общаться за счет мобильных приложений.
И какая альтернатива сейчас есть, спросите вы?🤔
В Telegram есть группа оформленная в формате IT-форума. Это одно из самых крупных и активных сообществ для сетевых и системных администраторов.
Присоединяйтесь — @admhelpru
Это связанно с развитием интернета и интернет-сообществ. Люди уходят в социальные сети, где удобней общаться за счет мобильных приложений.
И какая альтернатива сейчас есть, спросите вы?
В Telegram есть группа оформленная в формате IT-форума. Это одно из самых крупных и активных сообществ для сетевых и системных администраторов.
Присоединяйтесь — @admhelpru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥2❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16🤣16🤪3
Установка ядра Zen (Liquorix)
#Liquorix — это отдельный проект ядра, собранный из исходников zen-ядра, но с использованием лучшей конфигурации для повышения производительности системы.
⏺ Debian
Скачиваем скрипт, который добавит в систему #Debian нужные репозитории:
⏺ Ubuntu
Установка в #Ubuntu происходит практически аналогичным образом. Сначала добавляем репозитории zen-ядра (liquorix):
После чего выполняем уже знакомую по прошлому разу команду:
И теперь перезагружаем систему.
⏺ Manjaro
Сначала установим помощник установки пакетов — yay:
Далее установим необходимые утилиты:
После этого переходим непосредственно к установке zen-ядра:
⚡️ Стоит отметить, что этот процесс может занять довольно большой отрезок времени. По его окончанию, перезагружаем систему и радуемся новому ядру.
#Liquorix — это отдельный проект ядра, собранный из исходников zen-ядра, но с использованием лучшей конфигурации для повышения производительности системы.
Скачиваем скрипт, который добавит в систему #Debian нужные репозитории:
$ curl 'https://liquorix.net/add-liquorix-repo.sh' | sudo bash
После чего выполняем всего одну команду, устанавливающую пакеты с новым ядром:$ sudo apt-get install linux-image-liquorix-amd64 linux-headers-liquorix-amd64
Установка в #Ubuntu происходит практически аналогичным образом. Сначала добавляем репозитории zen-ядра (liquorix):
sudo add-apt-repository ppa:damentz/liquorix && sudo apt-get update
После чего выполняем уже знакомую по прошлому разу команду:
sudo apt-get install linux-image-liquorix-amd64 linux-headers-liquorix-amd64
И теперь перезагружаем систему.
Сначала установим помощник установки пакетов — yay:
$ git clone https://aur.archlinux.org/yay.git
Далее установим необходимые утилиты:
$ sudo pacman –S base-devel
Заходим в каталог yay и производим сборку пакета:$ cd yay
$ makepkg -si
После этого переходим непосредственно к установке zen-ядра:
$ yay -S linux-zen-git
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤7👎1🤔1
Orion soft выпустила первый в России аналог решения для управления секретами Hashicorp Vault
Это решение для безопасного хранения и доступа к конфиденциальной информации, используемой для функционирования ИТ-инфраструктур.
Эта платформа ранее была широко использована, но сейчас недоступна в России.
Продукт #StarVault обеспечивает безопасное хранение и управление привилегированными учетными данными, сертификатами, а также обеспечивает безопасную аутентификацию пользователей.
Основное отличие StarVault заключается в том, что вся кодовая база и данные хранятся на территории России, что обеспечивает дополнительную надежность и облегчает техническую поддержку.
Компания Orion soft также предоставляет вендорскую поддержку для StarVault, что обеспечивает гарантии работы и безопасности использования продукта.
🔥 Среди других продуктов компании - защищенная среда виртуализации zVirt, платформа контейнеризации Nova Container Platform, CMP-платформа Cloudlink, СУБД на базе PostgreSQL Proxima DB и платформа терминального доступа Termit.
Это решение для безопасного хранения и доступа к конфиденциальной информации, используемой для функционирования ИТ-инфраструктур.
StarVault является полноценной альтернативой Hashicorp Vault.
Эта платформа ранее была широко использована, но сейчас недоступна в России.
Продукт #StarVault обеспечивает безопасное хранение и управление привилегированными учетными данными, сертификатами, а также обеспечивает безопасную аутентификацию пользователей.
Основное отличие StarVault заключается в том, что вся кодовая база и данные хранятся на территории России, что обеспечивает дополнительную надежность и облегчает техническую поддержку.
Продукт StarVault будет внесен в реестр российского ПО и планируется получение сертификата ФСТЭК.
Компания Orion soft также предоставляет вендорскую поддержку для StarVault, что обеспечивает гарантии работы и безопасности использования продукта.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥4💩2
Распространенные переменные окружения и оболочки
Переменные окружения:
⏺ USER — текущий пользователь.
⏺ OLDPWD — предыдущая рабочая директория. Используется оболочкой для того, чтобы вернуться в предыдущий каталог при выполнении команды
⏺ HOME — домашняя директория текущего пользователя.
⏺ SHELL — путь к оболочке текущего пользователя (например, #bash или #zsh).
⏺ EDITOR — заданный по умолчанию редактор. Этот редактор будет вызываться в ответ на команду
⏺ LOGNAME — имя пользователя, используемое для входа в систему.
⏺ PATH — пути к каталогам, в которых будет производиться поиск вызываемых команд. При выполнении команды система будет проходить по данным каталогам в указанном порядке и выберет первый из них, в котором будет находиться исполняемый файл искомой команды.
⏺ LANG — текущие настройки языка и кодировки.
⏺ TERM — тип текущего эмулятора терминала.
⏺ MAIL — место хранения почты текущего пользователя.
⏺ LS_COLORS — задает цвета, используемые для выделения объектов (например, различные типы файлов в выводе команды
Переменные оболочки:
⏺ BASHOPTS — список задействованных параметров оболочки, разделенных двоеточием.
⏺ BASH_VERSION — версия запущенной оболочки bash.
⏺ COLUMNS — количество столбцов, которые используются для отображения выходных данных.
⏺ DIRSTACK — стек директорий, к которому можно применять команды
⏺ HISTFILESIZE — максимальное количество строк для файла истории команд.
⏺ HISTSIZE — количество строк из файла истории команд, которые можно хранить в памяти.
⏺ HOSTNAME — имя текущего хоста.
⏺ IFS — внутренний разделитель поля в командной строке (по умолчанию используется пробел).
⏺ PS1 — определяет внешний вид строки приглашения ввода новых команд.
⏺ PS2 — вторичная строка приглашения.
⏺ SHELLOPTS — параметры оболочки, которые можно устанавливать с помощью команды
⏺ UID — идентификатор текущего пользователя.
Переменные окружения:
PWD — текущая директория.cd -.edit.ls будут выделены разными цветами).Переменные оболочки:
pushd и popd.set.Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥4❤1
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.Please open Telegram to view this post
VIEW IN TELEGRAM
👍25😁3🔥1👌1
Что означает аббревиатура CLI в компьютерных терминах?
Anonymous Quiz
8%
Computer Language Interpreter
88%
Command Line Interface
1%
Centralized Log-In
3%
Code Library Integration
😁16👍5🔥2👌2
AWK: что это?
Awk, главным образом, это потоковый редактор вроде #sed.
Вы можете передавать по трубе текст в эту программу, и она может манипулировать им построчно.
Программа также может читать из файла. Ещё awk – это язык программирования.
Это в основном означает, что #awk может делать всё, что может sed, а также ещё многое другое.
В отличие от sed, awk может помнить контекст, делать сравнения и многие другие вещи, которые могут делать другие языки программирования.
Например, она не ограничена единичной строкой. При надлежащей сноровке, она может объединять множество строк.
Самая простая форма awk выглядит так:
Синтаксис похож на язык программирования 'C'. Простой пример:
Живой пример:
Главная цель в жизни AWK – это манипулировать её вводом на построчной основе. Программа awk обычно работает в стиле
Обычный используемый в программировании awk синтаксис можно описать так:
«Посмотреть на каждую строку ввода, нет ли там образца. Если он там есть, запустить то, что между»
Можно пропустить или образец или команду. Если не указать образец, то команда будет применяться к каждой строке.
Если пропущена команда, то это эквивалентно указанию (просто напечатать строку):
Awk, главным образом, это потоковый редактор вроде #sed.
Вы можете передавать по трубе текст в эту программу, и она может манипулировать им построчно.
Программа также может читать из файла. Ещё awk – это язык программирования.
Это в основном означает, что #awk может делать всё, что может sed, а также ещё многое другое.
В отличие от sed, awk может помнить контекст, делать сравнения и многие другие вещи, которые могут делать другие языки программирования.
Например, она не ограничена единичной строкой. При надлежащей сноровке, она может объединять множество строк.
Самая простая форма awk выглядит так:
awk '{ здесь_какое-то_действие }'
"Здесь_какое-то_действие" может быть просто выражением для печати результата или чем-то намного более сложным.Синтаксис похож на язык программирования 'C'. Простой пример:
awk '{print $1,$3}'
означает напечатать первый и третий столбец, где под столбцами понимаются «вещи, разделённые белым пробелом». Белый пробел = табуляция или пробел.Живой пример:
echo '1 2 3 4' | awk '{print $1,$3}'
1 3
Что может делать AWK?Главная цель в жизни AWK – это манипулировать её вводом на построчной основе. Программа awk обычно работает в стиле
Обработать строку. Двигаться дальше
Обработать строку. Двигаться дальше
Обработать строку…
Если то, что вы хотите сделать, не вписывается в эту модель, значит awk, может быть, не подходит к вашей задумке.Обычный используемый в программировании awk синтаксис можно описать так:
awk образец {команда(ы)}
Это означает, что«Посмотреть на каждую строку ввода, нет ли там образца. Если он там есть, запустить то, что между»
Можно пропустить или образец или команду. Если не указать образец, то команда будет применяться к каждой строке.
Если пропущена команда, то это эквивалентно указанию (просто напечатать строку):
{ print }👍19🔥3
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.# tune2fs -l <Device_Name> | grep «Last checked»
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥5
Эволюция файловой системы ext в Linux
⏺ Файловая система Minix
#Minix была первой файловой системой, внедренной в ОС с открытым исходным кодом.
Несмотря на свою значимость как образовательный инструмент, у нее было множество ограничений, включая ограниченную производительность и функциональность.
Максимальная длина имени файла составляла всего 14 символов, а размер разделов был ограничен 64 МБ.
⏺ Файловая система ext
Файловая система #ext, представленная в 1992 году, была первой, специально разработанной для #Linux.
Она существенно улучшила производительность и эффективность по сравнению с Minix.
К примеру, максимальная длина имени файла была увеличена до 255 символов, а размер раздела — до 2 ГБ.
⏺ Файловая система ext2
В 1993 году была разработана файловая система #ext2, представляющая собой улучшенную версию ext.
Она обеспечила значительное увеличение производительности и добавила поддержку больших файлов.
⏺ Файловая система ext3
В 2001 году появилась файловая система #ext3, которая добавила ведение логов для повышения надежности восстановления данных при сбоях системы.
Это существенно повысило надежность и безопасность данных благодаря возможности восстановления информации из журнала.
⏺ Файловая система ext4
Файловая система #ext4, представленная в 2008 году, обеспечила обратную совместимость с предыдущими версиями и добавила улучшенное распределение данных для повышения производительности.
Она поддерживает максимальный размер файла в 16 тебибайт и максимальную длину имени файла в 255 байт.
#Minix была первой файловой системой, внедренной в ОС с открытым исходным кодом.
Созданная в 1987 году, она служила для обучения студентов основам операционных систем.
Несмотря на свою значимость как образовательный инструмент, у нее было множество ограничений, включая ограниченную производительность и функциональность.
Максимальная длина имени файла составляла всего 14 символов, а размер разделов был ограничен 64 МБ.
Файловая система #ext, представленная в 1992 году, была первой, специально разработанной для #Linux.
Она существенно улучшила производительность и эффективность по сравнению с Minix.
К примеру, максимальная длина имени файла была увеличена до 255 символов, а размер раздела — до 2 ГБ.
В 1993 году была разработана файловая система #ext2, представляющая собой улучшенную версию ext.
Она обеспечила значительное увеличение производительности и добавила поддержку больших файлов.
Однако, она все еще имела ограничение на длину имени файла — 255 байт.
В 2001 году появилась файловая система #ext3, которая добавила ведение логов для повышения надежности восстановления данных при сбоях системы.
Это существенно повысило надежность и безопасность данных благодаря возможности восстановления информации из журнала.
Файловая система #ext4, представленная в 2008 году, обеспечила обратную совместимость с предыдущими версиями и добавила улучшенное распределение данных для повышения производительности.
Она поддерживает максимальный размер файла в 16 тебибайт и максимальную длину имени файла в 255 байт.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥1