После того как Microsoft влюбилась в Linux (что стало популярно известно как “Microsoft Loves Linux”), PowerShell, изначально компонент только для Windows, был открытым исходным кодом и сделан кроссплатформенным 18 августа 2016 года, доступным на Linux и Mac OS.
PowerShell – это система автоматизации задач и управления конфигурацией, разработанная Microsoft. Он состоит из интерпретатора языка команд (shell) и скриптового языка, построенного на .NET Framework.
Он предлагает полный доступ к COM (Component Object Model) и WMI (Windows Management Instrumentation), что позволяет администраторам систем выполнять административные задачи как на локальных, так и на удаленных системах Windows, а также WS-Management и CIM (Common Information Model), что позволяет управлять удаленными системами Linux и сетевыми устройствами.
В этой рамке административные задачи в основном выполняются специальными .NET классами, называемыми cmdlets (произносится команда-летс).
Подобно скриптам оболочки в Linux, пользователи могут создавать скрипты или исполняемые файлы, храня группы cmdlets в файлах, следуя определенным правилам. Эти скрипты могут использоваться как независимые утилиты или инструменты командной строки.
Содержание
Установка PowerShell в системах Linux
Для установки PowerShell в Linux мы будем использовать официальный репозиторий Microsoft, который позволит нам устанавливать через самые популярные инструменты управления пакетами Linux, такие как apt-get или apt и yum или dnf.
Установка PowerShell на Ubuntu
Сначала импортируйте публичный репозиторий GPG ключей, затем зарегистрируйте Microsoft Ubuntu репозиторий в списке источников APT пакета для установки Powershell:
$ sudo apt-get update $ sudo apt-get install -y wget apt-transport-https software-properties-common $ wget -q "https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb" $ sudo dpkg -i packages-microsoft-prod.deb $ sudo apt-get update $ sudo apt-get install -y powershell
Установка PowerShell на Debian 11
PowerShell для релизов дистрибутива Debian публикуется в репозиториях пакетов для легкой установки и обновлений.
$ sudo apt update $ sudo apt install -y curl gnupg apt-transport-https $ curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - $ sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-bullseye-prod bullseye main" > /etc/apt/sources.list.d/microsoft.list' $ sudo apt update $ sudo apt install -y powershell
Установка PowerShell на Debian 10
$ wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb $ sudo dpkg -i packages-microsoft-prod.deb $ sudo apt-get update $ sudo apt-get install -y powershell
Установка PowerShell на системах RHEL
PowerShell для дистрибутивов на основе RHEL таких как CentOS Stream, Rocky, и AlmaLinux публикуются в официальных репозиториях Microsoft для удобной установки и обновлений.
---------- On RHEL, CentOS, Rocky & AlmaLinux 9 ---------- $ curl https://packages.microsoft.com/config/rhel/9.0/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo $ sudo dnf install --assumeyes powershell ---------- On RHEL, CentOS, Rocky & AlmaLinux 8 ---------- $ curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo $ sudo dnf install --assumeyes powershell ---------- On RHEL/CentOS 7 ---------- $ curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo $ sudo dnf install --assumeyes powershell
Как использовать Powershell в Linux
В этом разделе мы кратко познакомимся с Powershell; где мы увидим, как запустить powershell, выполнить некоторые основные команды и посмотреть, как работать с файлами, каталогами и процессами. Затем погрузимся в то, как перечислить все доступные команды и показать помощь по командам и псевдонимам.
Для запуска Powershell введите:
$ pwsh PowerShell 7.3.3 PS /root>
Вы можете проверить версию Powershell с помощью следующей команды:
PS /root> $PSVersionTable Name Value ---- ----- PSVersion 7.3.3 PSEdition Core GitCommitId 7.3.3 OS Linux 5.10.0-9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30) Platform Unix PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…} PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1 WSManStackVersion 3.0
Выполнение основных команд Powershell в Linux.
get-date [# Display current date] get-uptime [# Display server uptime] get-location [# Display present working directory]

Работа с файлами и каталогами в Powershell
1. Создайте новый пустой файл, используя два метода ниже:
new-item tecmint.tex OR “”>tecmint.tex
Тогда добавьте содержимое в него и просмотрите содержимое файла.
set-content tecmint.tex -value "TecMint Linux How Tos Guides" get-content tecmint.tex

2. Удалите файл в PowerShell.
remove-item tecmint.tex get-content tecmint.tex

3. Создайте новый каталог.
mkdir tecmint-files cd tecmint-files “”>domains.list ls

4. Для выполнения длинного списка, который отображает детали файла/каталога, включая режим (тип файла) и время последнего изменения.
dir

5. Просмотрите все запущенные процессы на вашей системе:
get-process

6. Чтобы просмотреть детали одного/группы запущенных процессов с заданным именем, предоставьте имя процесса в качестве аргумента предыдущей команде следующим образом:
get-process apache2

Значение единиц в выводе выше:
- NPM(K) – количество нестраничной памяти, которое процесс использует, в килобайтах.
- PM(K) – количество страничной памяти, которое процесс использует, в килобайтах.
- WS(K) – размер рабочего набора процесса, в килобайтах. Рабочий набор состоит из страниц памяти, которые были недавно ссылаемы процессом.
- CPU(s) – количество процессорного времени, которое процесс использовал на всех процессорах, в секундах.
- ID – идентификатор процесса (PID).
- ProcessName – имя процесса.
7. Чтобы узнать больше, получите список всех команд PowerShell для различных задач:
get-command

8. Чтобы узнать, как использовать команду, просмотрите ее страницу справки (аналогично странице man в Unix/Linux); в этом примере вы можете получить помощь для команды Describe:
get-help Describe

9. просмотреть все доступные псевдонимы команд, введите:
get-alias

10. Наконец, отобразить историю команд (список команд, которые вы ранее выполняли) следующим образом:
history

На этом все! Пока что, в этой статье мы показали вам, как установить Microsoft PowerShell в Linux. На мой взгляд, PowerShell всё ещё имеет очень долгий путь перед собой по сравнению с традиционными оболочками Unix/Linux, которые предлагают намного лучшие, более интересные и продуктивные возможности для работы с машиной из командной строки и, что важно, для программирования (создания сценариев) также.
Посетите репозиторий PowerShell на Github: https://github.com/PowerShell/PowerShell
Однако вы можете попробовать его и поделиться своими впечатлениями с нами в комментариях.
Source:
https://www.tecmint.com/install-powershell-in-linux/