Powershell ������� ��� linux

Как установить PowerShell в Linux

В последние полтора года, Microsoft делала много вещей, которые от нее мало кто ожидал. Это и год бесплатного обновления до Windows 10, и возможности запуска bash в своей ОС. Также компания изменила лицензии некоторых своих разработок на свободные. И еще одним приятным моментом стал выпуск PowerShell под Linux и Mac. И да, теперь он тоже open-source! На данный момент доступны пакеты для 64-битных версий Ubuntu 16.04, Ubuntu 14.04, CentOS 7, RHEL 7 и Mac OS X 10.11. Давайте рассмотрим как установить PowerShell в Ubuntu.

Скачиваем необходимые пакеты

Переходим на страницу релизов PowerShell на GitHub и скачиваем deb пакет для своей версии Ubuntu. Например, на данный момент у меня Ubuntu 16.04, для нее есть файл powershell_6.0.0-alpha.9-1ubuntu1.16.04.1_amd64.deb:

Как установить PowerShell в Linux

После загрузки deb пакета, можно приступать к установке. Открываем терминал и первое, что делаем — устанавливаем нужные зависимости:

А затем устанавливаем и сам PowerShell:

Например, если у вас Ubuntu 16.04, а пакет находится в папке «Загрузки», то команда установки будет выглядеть так:

Запуск PowerShell в Linux

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

Можете пользоваться PwerShell под Linux!

Чтобы выйти из окружения введите exit и нажмите Enter, либо же просто закройте терминал. Вот так вот все просто! А вы ждали PowerShell для Linux?

Источник

Работа с 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 используйте такие команды:

Читайте также:  Кто настроит windows phone

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

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

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

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

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

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

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

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

> mkdir losst-files
> cd losst-files

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

> new-item losst.txt
> ls

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

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

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

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

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

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

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

> get-process ping
> stop-process 29895

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

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

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

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

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

Выводы

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

Читайте также:  Sony vaio z11 драйвера windows 10

Источник

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

PowerShell против Bash: в чем разница?

PowerShell vs Bash

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

Мини — курс по виртуализации

Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена

Немного истории: PowerShell

PowerShell — это среда автоматизации и задач Microsoft, удобная для управления конфигурацией. PowerShell использует компоненты, называемые командлетами, которые встроены в PowerShell. Дополнительные функции доступны через модули. Они устанавливаются из галереи PowerShell непосредственно из командной строки.

PowerShell отличается от Bash, потому что он предназначен для взаимодействия со структурами .NET изначально в Windows. Это означает, что он может передавать объекты и данные между сценариями, приложениями и сеансами. Каждый объект имеет свой собственный набор свойств, что делает обработку данных в PowerShell еще более детальной. Данные могут быть указаны как числа (целые числа), слова (строки), логические (истина и ложь) и многие другие типы. Это означает, что вы можете по-настоящему определиться с тем, как ваши скрипты обрабатывают ввод и вывод данных.

Немного истории: Bash

Системы Linux и Unix всегда выигрывали от структурирования многопользовательской терминальной среды. Это означает, что вы можете запускать дополнительные сессии в той же системе и запускать сценарии и приложения, не влияя на основные сессии, в которые вошли другие пользователи. Это сильно отличалось от ранних систем Windows и DOS, которые были однопользовательскими средами с одной сессией, до появления Windows NT в середине 90-х годов.

Первоначальная оболочка, поставляемая с Unix, была известна как оболочка Bourne, названная в честь ее создателя Стивена Борна. Bash (Bourne again Shell) является преемником оболочки Bourne с открытым исходным кодом. Bash получил широкое распространение, когда Linux был создан в начале 90-х годов, поэтому он используется до сих пор.

Существует множество функций, которые делают Bash очень популярным, главными из которых являются стабильность системы и то, что это открытый исходный код. Из-за этого он встречается практически в каждом дистрибутиве Linux. Все эти факторы делают его одной из наиболее часто используемых сред сценариев для ИТ-специалистов.

Когда использовать PowerShell

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

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

Читайте также:  Windows server security check

PowerShell включен в платформу .NET, поэтому вы можете создавать великолепно выглядящие меню и формы winform. Вы можете использовать PowerShell, чтобы делать что угодно — от запросов к базам данных SQL до захвата ваших любимых RSS-каналов прямо в сеанс PowerShell для дальнейших манипуляций. Это настоящий швейцарский нож для системного администрирования в среде Windows.

Когда использовать Bash

Если вы используете системы Linux, значит, вы знаете о необходимости автоматизации задач. Ранние ленточные накопители использовались для резервного копирования с архивированием tar. Эти операции могут быть написаны в Bash, а затем запущены через расписание cron. Сегодня мы воспринимаем подобные вещи как должное, но многие задачи приходилось выполнять вручную до создания таких сред, как Bash. Все, что связано с манипуляциями с файлами, такими как архивирование, копирование, перемещение, переименование и удаление файлов, подходит Bash.

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

Отличия

PowerShell и Bash в чем-то похожи, но также очень разные. Вот четыре основных отличия.

PowerShell по-разному обрабатывает данные

PowerShell отличается от Bash способом обработки данных. PowerShell — это язык сценариев, но он может передавать данные в разных форматах таким образом, чтобы он выглядел как язык программирования. PowerShell также имеет дело с областями действия в своих скриптах.

Использование переменных с $session , $script и $cache дает вашим сценариям дополнительную гибкость, позволяя передавать переменные другим командам в том же сценарии или сеансе PowerShell.

Bash — это CLI

Bash — это CLI (Command Language Interpreter), что означает интерпретатор командного языка. Как и PowerShell, Bash может передавать данные между командами по каналам. Однако эти данные отправляются в виде строк. Это ограничивает некоторые вещи, которые вы можете делать с выводом ваших скриптов, например математические функции.

PowerShell — это и CLI, и язык

Интегрированная среда сценариев PowerShell по умолчанию (ISE — Integrated Scripting Environment), поставляемая с Windows, показывает, как можно быстро и легко создавать сценарии, не жертвуя прямым доступом к командной строке. По умолчанию верхний раздел позволяет набирать строки кода сценария и быстро его тестировать.

Окно ниже представляет собой командную строку PowerShell, которая дает вам быстрый доступ для выполнения отдельных команд. Это дает вам лучшее из обоих миров между языком сценариев и оболочкой командной строки. ISE — отличный инструмент для быстрого создания прототипов решений.

PowerShell и Bash — мощные инструменты

Среда, в которой вы работаете, определит, какой инструмент вы выберете. Системные администраторы Linux, пишущие сценарии в Bash, считают, что освоить сценарии PowerShell относительно легко. Навыки написания сценариев PowerShell также в определенной степени переносятся на сценарии Bash.

Основными различиями между этими двумя языками сценариев являются синтаксис и обработка данных. Если вы понимаете такие концепции, как переменные и функции, тогда изучение любого из этих языков становится проще.

Мини — курс по виртуализации

Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена

Источник

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