Работа с Powershell Linux

После того как компания Microsoft заинтересовалась Linux и открыла исходный код нескольких своих проектов, был открыт код командного интерпретатора и оболочки для выполнения системных скриптов Windows — PowerShell. Раньше PowerShell была доступна только для Windows, но теперь ее можно использовать даже в Linux и MacOS.

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

Что такое PowerShell?

PowerShell — это больше чем командная оболочка, это система автоматизации задач и управления конфигурацией, разработанная в Microsoft. Она состоит из интерпретатора команд (оболочки) и языка сценариев, основанного на платформе NET Framework. PowerShell реализует полный доступ к COM (Component Object Model) и WMI (Windows Management Instrumentation), поэтому позволяет системным администраторам выполнять различные административные действия на локальной или удаленных машинах. Также поддерживаются технологии  WS-Management и CIM (Common Information Model), что позволяет управлять сетевыми устройствами.

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

Установка PowerShell в Linux

В официальных репозиториях оболочки PowerShell, к сожалению, нет, но в Microsoft создали свой PPA репозиторий, который мы можем использовать. Для добавления репозитория в Ubuntu используйте такие команды:

curl https://packages.microsoft.com/keys/microsoft.asc |sudo apt-key add -
$ curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list |sudo tee /etc/apt/sources.list.d/microsoft.list
$ sudo apt-get update

Эти команды рассчитаны на Ubuntu 16.04, для добавления репозитория в Ubuntu 16.10 используйте такие команды:

curl https://packages.microsoft.com/keys/microsoft.asc |sudo apt-key add -
$ curl https://packages.microsoft.com/config/ubuntu/16.10/prod.list |sudo tee /etc/apt/sources.list.d/microsoft.list
$ sudo apt-get update

Затем используйте пакетный менеджер apt для установки powershell и необходимых компонентов:

sudo apt install -y powershell

Для Red Hat, Fedora и CentOS Microsft тоже подготовили отдельный репозиторий. Чтобы его добавить выполните:

sudo curl https://packages.microsoft.com/config/rhel/7/prod.repo> /etc/yum.repos.d/microsoft.repo

Затем используйте yum для установки:

sudo yum install -y powershell

Работа с PowerShell в Linux

После того как установка PowerShell Linux будет завершена, вы можете перейти к работе с этой оболочкой. Дальше мы рассмотрим как начать работать, разберем основные команды для работы с файлами, каталогами и процессами. Также рассмотрим как получить список всех доступных команд и справку по них.

Чтобы запустить сеанс PowerShell выполните такую команду:

powershell

 

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

> $PSVersionTable

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

> get-date
> get-uptime

А эта команда позволяет узнать текущую рабочую папку:

 

Работа с файлами в PowerShell

Чтобы создать новый пустой файл используйте команду:

> new-item losst.txt

Или:

> "">losst.txt

Затем добавим в этот файл содержимое:

> set-content losst.txt -value "Linux Open Source Software Technologies"

И смотрим новое содержимое файла:

> get-content losst.txt

Чтобы удалить файл используйте команду remove-item:

> remove-item losst.txt
> get-content losst.txt

Создайте новый каталог и перейдите в него:

> mkdir losst-files
> cd losst-files

Затем создадим один файл в этой папке и посмотрим ее содержимое:

> new-item losst.txt
> ls

Если вы хотите получить полный список файлов в папке с подробной информацией используйте команду dir:

> dir

Работа с процессами в PowerShell

Чтобы посмотреть список запущенных процессов используйте команду get-process:

> get-process

Также вы можете получить информацию только по определенному процессу или группе, для этого передайте его имя в параметрах команде:

> get-process chromium-browse

Вот значения основных колонок, которые выводит команда:

  • NPM (K) — количество оперативной памяти, которую процесс использует в килобайтах;
  • PM(K) — количество выгружаемой оперативной памяти, используемой процессом в килобайтах;
  • WS (K) — размер блока с исполняемыми инструкциями процесса в килобайтах;
  • CPU(s) — занимаемый процент процессорного времени;
  • ID — идентификатор процесса (PID);
  • ProcessName — имя процесса.

Как видите, здесь можно увидеть всю основную информацию о процессах. Чтобы остановить процесс используйте команду stop-process, в параметрах ей нужно передать PID:

> get-process ping
> stop-process 29895

Информация про PowerShell

Вы можете узнать всю необходимую информацию про команды PowerShell Linux, чтобы работа с оболочкой была максимально удобной. Для просмотра информации про доступные команды:

> get-command

 

Чтобы посмотреть более подробную информацию по нужной команде используйте функцию get-help. Например, узнаем информацию про команду Describe:

> get-help Describe

Чтобы посмотреть все доступные псевдонимы команд используйте:

> get-alias

И еще одна вещь, которая может вам понадобиться, это история команд. Для ее просмотра наберите:

> history

Источник

Понравилась статья? Поделиться с друзьями: