anonymous@RULINUX.NET~# | Last login: 2024-11-05 18:35:54 |
Регистрация Вход | Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск |
Форум - Talks | [RSS] |
Ура! Мы ждали этого события 10 лет. PowerShell от Microsoft стал opensource-проектом на GitHub под лицензией MIT, его теперь можно установить на Ubuntu 16.04 и другие линуксы. Это событие также осветилось в студийных СМИ и на msdn.
Почему PoserShell нас так волнует?
But what can you do with it? Well, you might remember that whole .NET Framework thing - basically Microsoft's modern windows API. Turns out, you can do *literally* anything the framework can, with a little effort. That' fine and dandy, but what can you do easily and well?
Almost everything. See, between .NET and WMI and few other things, Microsoft has abstracted out the entire operating system into objects we can work with, and written PS stuff that manages it.
So pretty much every Microsoft product can me talked to / managed from / poked with via Powershell. And so can most things on top of it by major vendors. VMWare (which has Python options too of course) for example.
I wanted to hate PowerShell. I did at first, and then I didn't. But, now I do again. Want to know why?
I hate PowerShell, because it's not available for Linux, and I've realized part of why it can't be available for Linux. PowerShell exposed me to how "unified" Windows is (or can be made to seem), and how heterogenous Linux is.
AMUR-WOLF(*) (2016-08-27 16:49:56)
Отредактировано AMUR-WOLF по причине "не указана"
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0
|
|
|
AMUR-WOLF(*)(2016-08-28 17:19:26)
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0 |
Скрыть
Re:Это свершилось!Что со мной понятно, давай проведем эксперемент. Возьмем ничего не подозревающего чела и попросим посмотреть твои и мой код и предсказать что он выводит))) anonymous(*)(2016-08-28 17:23:42)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 |
AMUR-WOLF(*)(2016-08-28 17:25:50)
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0 |
Скрыть
Re:Это свершилось!Я тебя умоляю, никто не кинется из-за майкрософтовского софта, внезапно открывшего исходники, переделывать тучу утилит под Linux |
Скрыть
Re:Это свершилось!> Я так понял ТСа, что это как раз одна из проблем, которую и пытается на скорую руку решить повершелл.
|
Скрыть
Re:Это свершилось!> Почему с МSDN?))) Может луче уж с LORа, не?))) Ты же этот баласт в линуксы все же тянешь?
AMUR-WOLF(*)(2016-08-28 18:14:16)
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0 |
Скрыть
Re:Это свершилось!> Я тебя умоляю, никто не кинется из-за майкрософтовского софта, внезапно открывшего исходники, переделывать тучу утилит под Linux
AMUR-WOLF(*)(2016-08-28 18:15:21)
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0 |
Скрыть
Re:Это свершилось!> Тогда у тебя произойдет "Paradigm shift" в твоем mind.
|
Скрыть
Re:Это свершилось!Для просмотра зависимости от разделяемых библиотек есть комманда ldd, для просмотра процессов -- ps, а ты нам продемонстрировал дубликат этих команд в виде билт-инов. Это хорошо что ли? |
Скрыть
Re:Это свершилось!> как есть сейчас, освоить sed/awk и вытащить из выходных данных то, что тебе надо, перенаправить их на вход другой программы через pipe итд до получения результата -- лучшее, что есть
AMUR-WOLF(*)(2016-08-28 18:30:36)
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0 |
Скрыть
Re:Это свершилось!> Для просмотра зависимости от разделяемых библиотек есть комманда ldd, для просмотра процессов -- ps, а ты нам продемонстрировал дубликат этих команд в виде билт-инов. Это хорошо что ли?
AMUR-WOLF(*)(2016-08-28 18:34:13)
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0 |
Скрыть
Re:Это свершилось!> В PowerShell встроен лучший парсер регулярных выражений
|
Скрыть
Re:Это свершилось!>> Вообще, пруфы будут по этим двум высказываниям?
То же самое одним PowerShell: > а также в нем самый совершенный pipe на данный момент. Windows PowerShell Rethinking the Pipeline AMUR-WOLF(*)(2016-08-28 19:45:06)
Отредактировано AMUR-WOLF по причине "не указана" Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0 |
Скрыть
Re:Это свершилось!Вот о чём я и говорил, выходит комбайн. Вместо системной утилиты ps приходится пользоваться велосипедом |
Скрыть
Re:Это свершилось!Как я вижу, там точно тот же пайп (что не удивительно). Просто гоняют по нему не текст. А ничего другого в мире unix-like гонять не выйдет -- системные утилиты к этому не приспособленны. Я опять вынужден повторяться. Вот если бы в этом пайпе придумали бы мультикаст -- тогда да, это был бы новый вид пайпа. Но нет -- это все тот же старый |
Скрыть
Re:Это свершилось!> безвылазно администрировать MS System Center в связке с Windows Server
anonymous(*)(2016-08-28 22:57:34)
Отредактировано anonymous по причине "не указана" Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 |
anonymous(*)(2016-08-28 23:01:52)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 |
anonymous(*)(2016-08-28 23:05:34)
Отредактировано anonymous по причине "не указана" Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 |
Скрыть
Re:Это свершилось!>>> Ok. Посчитай ошибки в логах на питоне. anonymous(*)(2016-08-29 01:12:34)
Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0 |
Скрыть
Re:Это свершилось!> безвылазно администрировать MS System Center в связке с Windows Server, SQL Server и SharePoint, и чтобы это всё работало вместе как одна большая единая информационная система, доступная для пяти тысячей клиентов.
anonymous(*)(2016-08-29 01:42:23)
Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0 |
Скрыть
Re:Это свершилось!> я для этого System Center даже писал плагины для мониторинга спецефического оборудования, а по Windows Server был сертифицированным инженером)))
anonymous(*)(2016-08-29 01:46:24)
Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0 |
Скрыть
Re:Это свершилось!> Шелл тут не поможет. Тут должна быть именно поддержка возврата произвольных объектов, а не числового кода
anonymous(*)(2016-08-29 02:06:11)
Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0 |
Скрыть
Re:Это свершилось!>> я для этого System Center даже писал плагины для мониторинга спецефического оборудования, а по Windows Server был сертифицированным инженером)))
anonymous(*)(2016-08-29 10:32:35)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 |
Скрыть
Re:Это свершилось!>> а также в нем самый совершенный pipe на данный момент.
|
Скрыть
Re:Это свершилось!> Ну так Амурыч и пишет, что повершелл умеет возвращать объекты...
anonymous(*)(2016-08-29 19:43:31)
Mozilla/5.0 (X11; FreeBSD amd64; rv:40.0) Gecko/20100101 Firefox/40.0 |
Скрыть
Re:Это свершилось!> Закусывать не надо, вполне реальная ситуация.
AMUR-WOLF(*)(2016-08-29 19:53:04)
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0 |
Скрыть
Re:Это свершилось!> Я ж не про то. Не только шелл должен уметь понимать объекты, но и все системные утилиты. ls, ps, grep, kill итд. Кто их будет переписывать?
For example, create a text file (using Notepad) named C:\Computers.txt. Fill the file with text and then run the following in Windows PowerShell: Get-Content C:\Computers.txt | Select-Object Length | Format-List Or, again, if you prefer less typing, you can use aliases: gc C:\Computers.txt | select Length | fl Обзовёшь ls'ом или kill'ом какую-нибудь PSелльную пограммулину - и будет тебе ls с объектами. |
Скрыть
Re:Это свершилось!> Майкрософт ее хорошо обдумала и правильно реализовала
|
anonymous(*)(2016-08-29 23:03:51)
Mozilla/5.0 (X11; FreeBSD amd64; rv:40.0) Gecko/20100101 Firefox/40.0 |
Скрыть
Re:Это свершилось!> Я ж не про то. Не только шелл должен уметь понимать объекты, но и все системные утилиты. ls, ps, grep, kill итд. Кто их будет переписывать?
AMUR-WOLF(*)(2016-08-30 06:32:09)
Отредактировано AMUR-WOLF по причине "не указана" Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0 |
Скрыть
Re:Это свершилось!> Нужны модули с командлетами для System.d, apt-get, grub2, AppArmour, SELinux, ClamAV и т.д.
anonymous(*)(2016-08-30 18:05:37)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 |
Скрыть
Re:Это свершилось!> На нормальном шелле команда grep -c поместится в одну строку и ещё место останется :)
anonymous(*)(2016-08-30 19:19:26)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 |
Скрыть
Re:Это свершилось!> ну я правильно понял, что это те же утилиты, переписанные второй раз? зачем это надо-то? зачем мне в системе иметь одно и то же дважды?
anonymous(*)(2016-08-30 22:27:52)
Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0 |
Скрыть
Re:Это свершилось!> Потому, что в первый раз не осилили объекты.
anonymous(*)(2016-08-30 23:06:47)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 |
Скрыть
Re:Это свершилось!Я человек военный поэтому объясни медленно и два разА. Простому пользователю линупса, не админу, вроде меня - этот повершелл какую пользу принесет? |
Скрыть
Re:Это свершилось!> А то вводить в bash-е ls, ps и kill я уже научилсо, команды по военному лаконичные, а тут предлагают вместо них Get-ChildItem-ы Get-Process-ы, и Stop-Process-ы. И не надо рассказывать мне про алиасы, я не админ.
Характерной особенностью Powershell, можно сказать его почерком, который легко узнается даже с десяти шагов, является его многословность. На первых порах это немного даже раздражает и вокруг монитора прилипают стикеры с сокращениями с символами: «gci, gc, gwmi, %, ?» и сокровенным — «ls alias:» (просмотр всех алиасов). Чуть позже немного отпускает и вместо пубертантного "?" начинают появляться хоть и не «Where-Object», но уже довольно уверенный «Where». Позже, когда количество строк кода переваливает за десятки тысяч, а написанных скриптов за сотни, приходит понимание, что многословность языка сказывается положительно как на скорости чтения самого скрипта, так и на качестве его поддержки коллегами. В этот момент в любимом редакторе Ruler смещается с 80 символов до 200, а по старым скриптам пускается скрипт автозамены. AMUR-WOLF(*)(2016-08-31 08:54:21)
Отредактировано AMUR-WOLF по причине "не указана" Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0 |
Скрыть
Re:Это свершилось!Кстати, попробовал тут в виндов$е ввести команду Get-ChildItem. И шоб ты думал? 'Get-ChildItem' is not recognized as an internal or external command, operable program or batch file. В самом виндовсном шелле эти команды недоступны, а мы тут о какой-то переносимости розмовляем. |
Скрыть
Re:Это свершилось!Ты издеваешься. В Винде XP один шелл -- cmd. В Винде Виста и выше два шелла -- cmd и powershell. Командлеты работают только в сеансе Powershell. Ты или найди "сеанс Powershell" в меню Пуск, либо запусти powershell из cmd. А если у тебя XP, то тебе этот powershell еще установить нужно. AMUR-WOLF(*)(2016-08-31 15:38:02)
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0 |
Скрыть
Re:Это свершилось!У меня ХР.. Но я поступил проще - просто установил GNU-шные утилиты туда. И в андроид на мобилку. С тех пор у меня везде есть всё нужное, grep например. В любом шелле. Без всякого повершелла. |
Скрыть
Re:Это свершилось!> Ой, а зайчем нам эти ваши объекты? Приведите примеры где эти самые объекты реально нужны)))
На PowerShell это делается так: Получили 10 -- это верный ответ. Командлет вернул массив объектов, отражающих файлы и папки, их общее число дает именно то, что нам нужно. Разные версии командлета обязаны возвращать только массив однородных объектов, отражающих файлы и папки. Объекты надежнее отпарсенного текста. AMUR-WOLF(*)(2016-08-31 17:41:31)
Отредактировано AMUR-WOLF по причине "не указана" Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0 |
Скрыть
Re:Это свершилось!На самом деле объекты не надёжнее текстового шелла. Шелл должен быть SQL-ным, а команда выглядеть вот так: select count(1) from files where directory=curr_dir(); |
anonymous(*)(2016-08-31 19:58:39)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 |
|
|
|
Этот тред читают 19 пользователей: |
Анонимных: 19 Зарегистрированных: 0 |
Re:Это свершилось!
Бля, держи, ХоХа
результат
Отредактировано AMUR-WOLF по причине "не указана"
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0