Аналог tail для power shell

Командлет Invoke-WebRequest в PowerShell — удобный инструмент для отправки HTTP-запросов на веб-сайты. Если вы уже пользуетесь прокси-сервисами Bright Data, вы можете использовать этот командлет с прокси-сервером, указав параметр -Proxy, а затем сведения о прокси-сервере.

4 min read

Ознакомившись с этим руководством по прокси-серверу Invoke-WebRequest PowerShell, вы узнаете:

Давайте узнаем подробности!

Что такое PowerShell Invoke-WebRequest?

Invoke-WebRequest — это командлет PowerShell для отправки запросов HTTP, HTTPS и FTP веб-серверам и веб-службам. По умолчанию он автоматически анализирует ответ, полученный от сервера, и возвращает подборки форм, ссылок, изображений и других важных элементов HTML.

Обычно он используется для доступа к интерфейсам REST API, загрузки файлов из Интернета или взаимодействия с веб-службами. Ниже приведен базовый синтаксис запроса Invoke-WebRequest:

Ключевые параметры, которые следует запомнить:

Как видите, единственный обязательный аргумент — это . Таким образом, вкратце, самый простой синтаксис для выполнения запроса GET к заданному URI:

Этот командлет был добавлен в PowerShell 3.0 в 2012 году.

Установка Invoke-WebRequest

Чтобы использовать Invoke-WebRequest, вам понадобится PowerShell. Итак, давайте узнаем, как установить PowerShell и получить доступ к командлету Invoke-WebRequest!

Windows

Во-первых, вы должны понять, что Windows PowerShell и PowerShell — это две разных программы. Windows PowerShell — это версия PowerShell, поставляемая вместе с Windows, и ее последняя версия — 5.1. Windows PowerShell содержит командлет Invoke-WebRequest. Это означает, что если вы используете современную версию Windows, вы готовы сразу же приступить к делу! При наличии более старых версий следуйте указаниям в официальном руководстве по установке PowerShell.

В то же время некоторые функции Invoke-WebRequest доступны только в версии PowerShell 7.x и более поздних версиях. Дополнительные сведения о том, как установить PowerShell 7.x, приводятся в официальном руководстве по миграции с Windows PowerShell 5.1 на PowerShell 7. Обратите внимание, что PowerShell 7.x устанавливается в новый каталог и работает параллельно с Windows PowerShell 5.1.

Вы можете узнать, какая версия PowerShell установлена на вашем компьютере под управлением ОС Windows, с помощью следующей команды:

В PowerShell 7.x нужно ввести что-то вроде этого:

MacOS и Linux

Чтобы начать использовать прокси-сервер PowerShell с Invoke-WebRequest, вам необходимо понять, как выглядит URL-адрес прокси-сервера.

Вот URL-адрес прокси-сервера PowerShell Invoke-WebRequest:

Он включает следующее

Обратите внимание, что часть URL-адреса :// необходима для Invoke-WebRequest. Если вы не укажете ее, выполнение запроса завершится со следующей ошибкой:

Invoke-WebRequest: эта операция не поддерживается для относительного URI.

Что касается протоколов прокси-серверов, то наиболее популярными являются HTTP, HTTPS и SOCKS. В PowerShell 5.1 Invoke-WebRequest поддерживает только HTTP, а в PowerShell 7.x — также HTTPS и SOCKS.

Пора получить действительный прокси-сервер HTTP!

Вы можете найти его бесплатно в Интернете, как показано ниже:

Protocol: HTTP; IP Address: 190.6.23.219; Port: 999

Подготовьте эту информацию, чтобы получить следующий URL-адрес прокси-сервера:

Предупреждение

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

Каково решение? Прокси-серверы премиум-класса от Bright Data — лучшего поставщика данных услуг на рынке. Подпишитесь и попробуйте наши надежные прокси-серверы бесплатно.

Как указать прокси-сервер HTTP в Invoke-WebRequest

Прежде чем начать, запустите следующую команду в PowerShell:

Если вы хотите получить доступ только к полю «Контент», вы можете сделать это следующим образом:

Использование параметра командной строки

Invoke-WebRequest предлагает флаг -Proxy для указания URL-адреса прокси-сервера для запроса.

Итак, синтаксис использования Invoke-WebRequest на прокси-сервере выглядит следующим образом:

Если теперь вы выполните эту команду PowerShell:

Примечание: не забывайте, что бесплатные прокси-серверы недолговечны! К тому времени, когда вы прочитаете это руководство, маловероятно, что вышеуказанный сервер все еще будет работать. В случае ошибки замените его новым прокси-сервером.

Использование переменных окружения

Начиная с версии PowerShell 7.0, Invoke-WebRequest поддерживает конфигурацию прокси-сервера с помощью переменных окружения.

Таким образом, другой способ использования прокси-сервера PowerShell в Invoke-WebRequest заключается в установке следующих двух окружений:

В Windows можно задать две переменные окружения, используя следующий синтаксис PowerShell:

В нашем примере команды будут выглядеть следующим образом:

$env:HTTP_PROXY = “http://190.6.23.219:999”

$env:HTTPS_PROXY = “http://190.6.23.219:999”

В macOS и Linux вам необходимо использовать следующий синтаксис:

Итак, две команды будут следующими:

export http_proxy=”http://190.6.23.219:999″

export https_proxy=”http://190.6.23.219:999″

Отныне каждый запрос Invoke-WebRequest будет проходить через указанные прокси-серверы без необходимости добавлять опцию -Proxy. После настройки envs запустите следующую команду:

Чтобы отключить прокси-серверы Invoke-WebRequest, отключите переменные окружения с помощью:

$env:HTTP_PROXY = “”

$env:HTTPS_PROXY = “”

Or on macOS and Linux:

unset HTTP_PROXY

unset HTTPS_PROXY

Как использовать прокси HTTPS и SOCKS в PowerShell

Если вам требуется использовать прокси-сервер HTTPS или SOCKS, необходимо обновить PowerShell до версии 7.x и выше. В противном случае Invoke-WebRequest завершится ошибкой:

Invoke-WebRequest: ServicePointManager не поддерживает прокси-серверы со схемой https.

Или в случае прокси-сервера SOCKS:

Invoke-WebRequest: ServicePointManager не поддерживает прокси-серверы со схемой socks.

При работе с прокси-серверами HTTPS или SOCKS в PowerShell 7.x структура команд Invoke-WebRequest остается прежней:

Отличия заключаются в том, что будет использовать https, socks4, socks4a, socks5 или socks5a вместо http.

Если вы попытаетесь вызвать запрос через прокси-сервер, использующий протокол, отличный от указанного выше, вы получите следующую ошибку:

Invoke-WebRequest: Only the ‘http’, ‘https’, ‘socks4’, ‘socks4a’ and ‘socks5’ schemes are allowed for proxies.

Таким образом, полный пример прокси-запроса Invoke-WebRequest SOCKS выглядит так:

Необходимые советы и рекомендации

Ознакомьтесь с полезными уловками и ценными советами по работе с прокси-сервером PowerShell Invoke-WebRequest на профессиональном уровне.

Игнорирование конфигурации прокси-сервера PowerShell

Если вы хотите запретить Invoke-WebRequest использовать настроенный прокси-сервер PowerShell для чтения из переменных окружения, вы можете воспользоваться параметром -NoProxy следующим образом:

Эта команда предписывает Invoke-WebRequest связаться с без использования прокси-сервера.

Чтобы убедиться в работоспособности данного подхода, настройте прокси-сервер в envs и запустите его:

Invoke-WebRequest -NoProxy “https://httpbin.org/ip”

Avoid SSL Certificate Errors

При использовании прокси-сервера HTTP ваши запросы могут не выполняться из-за ошибок SSL-сертификата. Чтобы избежать этого, задайте параметр -SkipCertificateCheck:

– SkipCertificateCheck помогает избежать ошибок сертификатов, разрешая небезопасные подключения к серверу. Имейте в виду, что использование этого параметра небезопасно. Задавайте его только при работе с известными хостами.

:/>  💻 Консольные команды кс го - Незаменимые помощники игрока |

Например, вы можете связываться с HTTPBin через прокси-сервер, обходя проблемы с SSL, с помощью следующего:

Invoke-WebRequest -SkipCertificateCheck -Proxy “http://190.6.23.219:999” “https://httpbin.org/ip”

Какой прокси-сервер PowerShell следует использовать?

Ответ на этот вопрос меняется в зависимости от того, чего вы хотите достичь с помощью запроса Invoke-WebRequest. Чтобы найти подходящий прокси-сервер PowerShell для ваших нужд, ознакомьтесь с различными типами доступных прокси-серверов:

Заключение

Из этого руководства по прокси-серверу PowerShell вы узнали, что представляет собой инструмент Invoke-WebRequest, как он работает и как его использовать с прокси-сервером HTTP/HTTPS/SOCKS. Как оказалось, нельзя полагаться на прокси-серверы от бесплатных поставщиков. Поэтому единственное решение, которое необходимо принять, — это выбор поставщика услуг прокси-серверов. Экономьте время и энергию и обращайтесь непосредственно к Bright Data — лучшей компании на рынке в этой области.

Bright Data управляет лучшими прокси-серверами в мире, обслуживая компании из списка Fortune 500 и более 20 000 клиентов. Ее всемирная сеть прокси-серверов включает в себя:

В целом, это одна из крупнейших и самых надежных на рынке прокси-сетей, ориентированных на скрейпинг.

Поговорите с одним из наших торговых представителей и узнайте, какие продукты Bright Data лучше всего отвечают вашим потребностям.

Кредитная карта не требуется

В статье рассказывается, как без прав локального пользователя обойти запрет на выполнение скриптов в PowerShell, который становится препятствием для пентестеров и разработчиков в их работе.

Что такое политика выполнения PowerShell?

Политика выполнения PowerShell (PowerShell Execution Policy) — это параметр, определяющий, какие типы сценариев PowerShell можно запускать в системе. По умолчанию для параметра установлено значение «Restricted». Когда этот режим активирован, PowerShell предоставляет только базовые команды интерактивной сессии командной строки, не позволяя загрузку и выполнение пользовательских сценариев. Параметр обеспечивает защиту от случайного или злонамеренного выполнения вредоносного кода.

Отметим, что режим «Restricted» может ограничить возможности PowerShell и повлиять на его функциональность. Поэтому существует несколько вариантов обхода этого параметра.

Почему администраторы хотят обойти политику выполнения?

Основная и самая частая причина – автоматизация процессов. Также есть несколько других причин, по которым PowerShell стал популярным среди администраторов, пентестеров и хакеров:

Как просмотреть настройки политики выполнения

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

Аналог tail для power shell

Также стоит отметить, что политика выполнения может быть установлена ​​на разных уровнях системы. Чтобы просмотреть их список, используйте следующую команду:

Аналог tail для power shell

Настройка тестовой среды

В приведенных примерах используется сценарий с именем «runme.ps1», который содержит следующую команду PowerShell для вывода сообщения на консоль:

Write-Host “My voice is my passport, verify me.”

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

Аналог tail для power shell

Если ваша текущая политика разрешает запуск скриптов, и вы хотите установить запрет в целях тестирования приведенных методов, запустите команду «Set-ExecutionPolicy Restricted» из консоли администратора PowerShell.

Обход политики выполнения PowerShell

1. Скопируйте сценарий в интерактивную консоль PowerShell.

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

Аналог tail для power shell

2. Отправьте сценарий в стандартный поток ввода PowerShell

Просто введите ваш скрипт в стандартный ввод PowerShell. Такой метод не приводит к изменению конфигурации и не требует записи на диск.

Аналог tail для power shell

3. Прочитайте сценарий из файла и перенаправьте его в стандартный поток ввода PowerShell

Используйте команду Windows «type» или команду PowerShell «Get-Content», чтобы прочитать сценарий с диска и перенаправить его в стандартный ввод PowerShell. Этот метод не приводит к изменению конфигурации, но требует записи сценария на диск. Однако вы можете прочитать его из общего сетевого ресурса, если пытаетесь избежать записи на диск.

Пример 1: команда Get-Content PowerShell

Аналог tail для power shell

Пример 2: Введите команду

Аналог tail для power shell

4. Загрузите скрипт по URL-адресу и выполните его с помощью Invoke Expression.

Такой метод можно использовать для загрузки сценария PowerShell из Интернета и его выполнения без записи на диск. Способ также не приводит к каким-либо изменениям конфигурации.

Аналог tail для power shell

5. Используйте переключатель функций PowerShell (Command Switch)

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

Пример 1: Полная команда

Аналог tail для power shell

Пример 2: Укороченная команда

Powershell -c “Write-Host ‘My voice is my passport, verify me.'”

Также вы можете поместить указанные команды PowerShell в пакетные файлы и в места автозапуска (например, в папку автозагрузки), чтобы использовать скрипты во время повышения привилегий.

6. Используйте переключатель EncodeCommand Switch

EncodeCommand Switch очень похож на Command Switch, но отображает все скрипты в кодировке Unicode/base64. Кодирование скрипта таким образом помогает избежать ошибок синтаксического анализа, с которыми вы сталкиваетесь при использовании Command Switch.

Такой метод не приводит к изменению конфигурации и не требует записи на диск. Образец ниже был взят из утилиты Posh-SecMod, которая также содержит метод сжатия для уменьшения размера закодированных команд, если они становятся слишком длинными.

Аналог tail для power shell

Пример 2: Сокращённая команда с использованием закодированной строки

powershell.exe -Enc VwByAGkAdABlAC0ASABvAHMAdAAgACcATQB5ACAAdgBvAGkAYwBlACAAaQBzACAAbQB5ACAAcABhAHMAcwBwAG8AcgB0ACwAIAB2AGUAcgBpAGYAeQAgAG0AZQAuACcA

7. Используйте команду Invoke-Command

Обычно команда выполняется через интерактивную консоль PowerShell или в сочетании с параметром «Command», но команду можно использовать для выполнения скриптов в удаленных системах, где включен запуск скриптов PowerShell. Такой способ не приводит к изменению конфигурации и не требует записи на диск.

Аналог tail для power shell

Следующую команду также можно использовать для переноса настроек политики выполнения с удаленного компьютера на локальный.

8. Используйте команду Invoke-Expression

Команда не требует изменения конфигурации и записи на диск.

Пример 1: Полная команда с использованием Get-Content

:/>  Как включить веб-камеру на ноутбуке с windows 7 и как включить и отключить камеру на ноутбуке с windows 7

Аналог tail для power shell

Пример 2: сокращенная команда с использованием Get-Content

9. Используйте флаг Bypass

Флаг будет обходить политику выполнения, когда вы выполняете скрипты из файла. Microsoft заявляет, что при использовании флага «ничего не блокируется и не выводится никаких предупреждений или сообщений». Техника не влечет за собой изменения настроек и не требует записи на диск.

Аналог tail для power shell

10. Используйте флаг Unrestricted

Флаг похож на Bypass, но при его использовании, как заявляет Microsoft, «загружаются все файлы конфигурации и запускаются все сценарии. Если вы запускаете неподписанный скрипт, загруженный из Интернета, перед его запуском у вас запрашивается разрешение». Такой метод не приводит к изменению конфигурации и не требует записи на диск.

Аналог tail для power shell

11. Используйте флаг Remote-Signed

Создайте свой сценарий, а затем следуйте инструкциям Карлоса Переса, чтобы подписать созданный скрипт. Затем запустите его:

PowerShell.exe -ExecutionPolicy Remote-signed -File .runme.ps1

12. Отключите ExecutionPolicy, заменив AuthorizationManager

Функцию можно выполнить через интерактивную консоль PowerShell или в сочетании с параметром «Command». После вызова функция заменит «AuthorizationManager» на null. В результате политика выполнения устанавливается на unrestricted до конца сессии.

Метод не приводит к постоянному изменению конфигурации и не требует записи на диск. Однако изменение будет применяться на протяжении всей сессии.

Аналог tail для power shell

13. Установите Excution Policy для уровня Process

В начале статьи было сказано, что политику выполнения можно применять на многих уровнях, включая уровень Process, который вы контролируете. Такой способ позволяет установить политику выполнения на unrestricted на время сессии. Кроме того, команда не приводит к изменению конфигурации и не требует записи на диск.

Аналог tail для power shell

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

Аналог tail для power shell

Здесь показано, как постоянно менять политику выполнения для среды текущего пользователя, напрямую изменяя раздел реестра.

Аналог tail для power shell

Подведение итогов

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

Аналог tail для power shell

Не для кого не секрет, что некоторые типичные действия на компьютере проще быстрее и эффективнее выполнить из-под командной строки нежели мышкой в GUI explorer(e). Поэтому в этом тексте я хотел бы поделиться командами, которые мне очень часто помогают в повседневной работе.

То что я тут напишу этим обычно не делятся. Как правило у каждого разработчика есть свой потайной сheat-list полезных консольных команд для выполнения какой-либо работы.

Наверное этот текст также обидит чувства Windows пользователей, так как тут по сути предлагается использовать Unix(овые) утилиты в OS Windows. Многие пользователи Windows, которых я знаю религиозно презирают Linux и всё, что с этим связано. Предвижу что текст уйдет в глубокий минус.

Пользоваться Unix утилитами в OS Windows это тоже, что если бы американские солдаты во время своих зверств во Вьетнаме бросали бы свои винтовки M-16, а пользовались бы исключительно и только автоматами Калашникова. Однако, тем не менее, и такое было!

Но на самом деле нет ничего плохого в том что на Windows 10 запускать Unix утилиты. Это лишь подчёркивает тот факт, что хороший компьютер это, прежде всего, универсальный вычислитель.

Итак, Unix(овые) утилиты для командной строки можно с легкость отрабатывать и в операционной системе Windows, если установить GIT и открыть консоль GIT.

Аналог tail для power shell

Также их можно установить из CygWin или MinGW.

Аналог tail для power shell

Полезные команды в интерпретаторе Bash

26–На работе мне в мессенджер Junior программисты микроконтроллеров часто пишут личные сообщения типа:

Для этого есть очень простой шаблон на основе утилиты grep. Открываешь папку корня workspace репозитория и набираешь команду

Тут опция -r значит искать во всех папках, -n значит показывать в отчете номер строки на которой обнаружилась искомая подстрока. В общем, ступенчатый grep способен найти даже иголку в стоге сена!

Правда в том, что если у Вас локально на SSD/HDD диске есть Си-код и Вы знаете и умеете пользоваться утилитой grep, то Вам в принципе не нужна никакая другая документация для кода! Любую информацию Вы сможете извлечь при помощи grep запросов.

1–Показать абсолютный путь к утилите, например grep

2–Рекурсивно заменить слово old_word на new_word во всех файлах внутри директории.

Тут для grep -r означает, что искать внутри папок рекурсивно, -l означает показывать только пути к файлам. Для sed -i означает, что замена слова будет произведена прямо в этом же файле (in place), s означает что надо заменить первый токен на второй токен, флаг g заменяет все вхождения заменяемого токена.

Также бывает очень полезно сделать автоматическую замену предложения в конкретном файле. Это часто происходит из-за несовместимости между настройками IDE Eclipse в файле .cproject. Чинится это так.

sed -i -e ‘s/ARM family/Arm family (-mcpu)/g’ .cproject
sed -i -e ‘s/”GNU Tools for ARM Embedded Processors”/”xPack GNU Arm Embedded GCC”/g’ .cproject

25–Во всех файлах в этой папке (включая вложенные папки с файлами) удалить все строки в которых есть ключевое слово KeyWord, начиная с данной директории

Вообще с командой sed надо быть очень осторожным! Sed может тихо изменить там, где это не следует (например *.ewp настройки проекта в IAR), и потом не откроется проект в вашей любимой GUI-IDE. Как следствие Вы не сможете больше никогда собрать свой проект. И у Вас могут начаться из-за этого паника, судороги и конвульсии.

3–Показать размер папок

4–Показать переменные окружения. Это очень частая команда для проверки системы перед сборкой.

5–Найти все файлы с расширением .bak

find . -type f -name “*.bak”

6–Удалить все файлы с расширением .bak

find . -type f -name “*.bak” -delete

7–Открыть все *.mk файлы

for f in $(find . -name ‘*.mk’ -not -name “sub”); do start Notepad++ $f; done

8–Удалить строку 35 из файла file.doti

sed -i ’35d’ file.doti

9–Найти все директории с именем Drivers в данной папке

find . -name ‘Drivers’ -type d

10–Найти *.с и *.mk файлы в локальном GIT репозитории

:/>  Активация Windows

11–Отсортировать процессы по потреблению RAM

12–Узнать количество свободно места на диске

13–Показать размер папок

14–Установить переменную окружения в Bash

В консоли Windows cmd переменные окружения устанавливаются так

15–Удалить папку со всем её содержимым.

rm -rf folder_to_delete

16–Отсортировать строки по конкретной колонке.

17–Найти все файлы больше 10Mbyte.

find -type f -size +10M

18–Поиск файла по расширению *.s.

find . -name ‘*.s’

19– Команда, которая ищет во всех файлах проекта места с упоминанием ключевого слова “LED”, причем только в файлах board.h

Это команда приведена только для примера, что через консоль можно делать поиск поверх предыдущего поиска. Так называемый многоступенчатый поиск. Встроенному поиску из-под GUI-IDE такое даже и не снилось.

20–Показать состояния TCP соединений.

netstat -n -p TCP

Опция -n показать IP адрес и локальный порт, -p значит указать название протокола

21– Автоматически отсортировать строчки в конфиг файле по алфавиту и еще при этом удалить повторения.

sort.exe -u config.mk -o config.mk

Мега полезная команда так как после нее образуется минимальный diff в утилите WinMerge. Эту команду вообще надо прописать в скрипты сборки кода.

22–Показать все файлы с расширением *.mk в git репозитории

Вообще консольный git и grep это не иначе как неразрывные друзья! Можно также найти все файлы любого другого расширения. Выбрать то, что вы хотите зафиксировать и сделать очень прицельный и аккуратный коммит.

23–Типичная ситуация. Вы делаете git pull и получаете вот такую картинку.

Аналог tail для power shell

Проблема это сообщение

Для того чтобы загрузить изменения из удаленного репозитория и продолжить работу надо переименовать папку nrf5340_dk_nortos_max98357a_m. И естественно это можно сделать из командной строки. Грубо говоря, не отходя от кассы.

mv source/projects/nrf5340_dk_nortos_max98357a_m/ source/projects/nrf5340_dk_nortos_max98357a_m_old7

И также надо переименовать файл flash_preconfig.mk из командной строки. Делает это команда mv

mv source/mcal/mcal_common/flash/flash_preconfig.mk source/mcal/mcal_common/flash/flash_preconfig_old.mk

Далее уже имея две папки (локальная и от удаленного репозитория) можно сравнить две версии в культовой утилите WinMerge и выбрать лучшее из обоих версий файлов для сборки очередной прошивки.

27– Иной раз надо целиком скопировать одну папку в другую папку без лишних вопросов о подтверждении действий. Для этого существует Windows утилита robocopy

robocopy dir/source_dir dir/destination_dir /S

Тут /S означает копировать поддиректории за исключением пустых директорий

24– Найти все папки в которых отсутствуют файлы с расширением *.gvi

Сначала строится список всех локальных директорий, которые содержат файлы *.gvi,

этот список всех локальных директорий, которые содержат файлы *.gvi сортируется.

Затем строится просто список всех локальных директорий

find . -type d

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

После чего эти списки сравниваются и подавляются строчки фигурирующий в обоих файлах (comm -3). Остаются только строчки, которые показывают те папки в которых нет какого-либо специфического расширения.

Это очень удобная команда для самопроверки факта окончания работы по какому-либо программному компоненту. Например добавлению *.cmake файлов в кодовую базу

28– Показать количество строк Си-кода во всей локальной кодовой базе

Это очень полезная команда для оценки масштаба репозитория с которым приходится работать. Например сейчас у меня репозиторий в котором лежит 8.7 миллионов строк кода.

29–Взять все файлы в этой папке и в каждом имени файла переименовать подстроку at24c02mtr на at24cxx

Эта очень удобная команда, когда надо написать программный компонент по образу и подобию другого программного компонента. Сначала переименовываем названия файлов (find+rename)

Аналог tail для power shell

а потом переименовывает ключевые слова в самих файлах (grep+sed)

и “Вуаля”! Вся работа выполнена двумя строчками кода в командной строке!

Как видите, использование командной строки CLI позволяет снизить утомляемость от напряжения внимания и, как следствие, существенно повысить производительность работы за персональным компьютером PC.

Если говорить метафорично, то утилиты Unix – это как химическая посуда (пробирки, колбы, делительные воронки, мензурки, воронки, фильтры, капельницы, часовые стекла, стеклянные палочки), только применительно к данным (числам и тексту). Видимо авторы UNIX в 196х-197х были серьезно вдохновлены химией при разработке компьютерных консольных утилит. Согласитесь, что ну невозможно не заметить этих аналогий между UNIX утилитами и химической посудой.

Аналог tail для power shell

Если Вы тоже знаете какие-либо простые элегантные и главное полезные консольные команды, то пишите их в комментариях. Не обязательно из bash можно и из cmd или вообще из powershell(а). Лишь бы эти команды умещались в одну строку.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Вы пользуетесь за компьютером командной строкой?

Проголосовали 177 пользователей. Воздержались 7 пользователей.

В какой операционной системе вы обычно работаете?

Проголосовали 202 пользователя. Воздержались 6 пользователей.

Откуда вы берете Unix(овые) утилиты для Windows?

Проголосовали 53 пользователя. Воздержались 82 пользователя.

Вы пользуетесь утилитой grep?

Проголосовали 172 пользователя. Воздержались 11 пользователей.

Вы пользуетесь GIT(ом)?

Проголосовали 177 пользователей. Воздержались 8 пользователей.

Какой консолью Вы чаще пользуетесь?

Я не пользуюсь консолью. Я предпочитаю пользоваться курсором мышки и изредка горячими клавишами.

Проголосовали 39 пользователей. Воздержались 2 пользователя.

Введение

Вам нужно посмотреть только конец файла по аналогии с tail в
Linux можно использовать Get-Content флагом -Tail.

Например, чтобы получить последние 100 строк файла
.log

Get-Content -Path “C:logs.log” -Tail 100

Если лог нужно смотреть в реальном времени – используйте флаг -Wait

Get-Content -Path “C:logs.log” -Wait

Можно совместить -Wait и -Tail и мониторить только последние строки в реальном времени

Get-Content -Path “C:logs.log” -Wait -Tail

Перезагрузить компьютер

Допустим, что имя компьютера, который вы хотите перезагрузить DESKTOP-OP12345

Restart-Computer -ComputerName DESKTOP-OP12345

Сеть в PowerShell

Работа с пользователями в PowerShell

Get-Content -Tail: Посмотреть конец файла в PowerShell (аналог tail)

New-Item: Создать новый файл в PowerShell (аналог touch)

Get-FileHash: Проверить контрольную сумму файла в PowerShell (аналог md5sum)

Запросы к REST API на PowerShell

Конец рекламы от Яндекса. Если в блоке пусто считайте это рекламой
моей телеги