Работа с 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

Выводы

Вот и все. В этой статье мы показали как выполняется работа с PowerShell Linux, а также как установить эту оболочку во всех основных дистрибутивах. PowerShell очень сильно отличается от привычных оболочек Linux, которые имеют лучшие, продуктивные и более интересные команды для выполнения различных задач из командной строки или написания скриптов. Но, возможно, администраторам Windows будет интересно использовать именно эту оболочку.

Источник: tecmint.com

Оцените статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (7 оценок, среднее: 5,00 из 5)
Загрузка...

6 комментариев

  1. vladimir Март 11, 2017 Ответить
  2. Nird Март 11, 2017 Ответить
  3. Halyluya Март 11, 2017 Ответить
  4. Tishka17 Март 11, 2017 Ответить
  5. proger Март 13, 2017 Ответить
    • Василий Сентябрь 2, 2018 Ответить

Ответить