anonymous@RULINUX.NET~# Last login: 2024-12-26 09:41:48
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

Это свершилось!

Ура! Мы ждали этого события 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.


Powershell унифицирует использование .Net, WMI, консольных утилит Windows, API продуктов Microsoft и сторонних производителей в манере .Net. А теперь еще и скриптовое администрирование Windows, MacOS и Linux.

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-27 16:49:56
avatar
Скрыть

Re:Это свершилось!

Бля, держи, ХоХа

text

$Directory = "/var/log"
$Phrase = "error"
$Files = Get-Childitem $Directory -recurse -Include *.log -ErrorAction SilentlyContinue
$groups = $Files | Select-String $Phrase -ErrorAction SilentlyContinue | Group-Object filename | Sort-Object count -descending
Compare-Object -ReferenceObject $Files.name -DifferenceObject $groups.name -PassThru | %{Write-Host "N/A:`t`t$_"}
$groups | %{Write-Host ("{0}:`t`t{1}" -f $_.count, $_.name)}

 


результат

text

N/A:            history.log
N/A:            casper.log
N/A:            lightdm.log
N/A:            seat0-greeter.log
N/A:            x-0.log
N/A:            unattended-upgrades-dpkg.log
N/A:            unattended-upgrades-shutdown.log
N/A:            alternatives.log
N/A:            apport.log
N/A:            boot.log
N/A:            fontconfig.log
N/A:            Unacceptable.log
20:             kern.log
12:             unattended-upgrades.log
8:              dpkg.log
4:              bootstrap.log
2:              auth.log
1:              term.log
1:              gpu-manager.log
1:              Xorg.0.log
 

AMUR-WOLF(*)(2016-08-28 17:00:10)
Отредактировано AMUR-WOLF по причине "не указана"
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0
[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от AMUR-WOLF 2016-08-28 17:00:10
avatar
Скрыть

Re:Это свершилось!

Молодца! Здорово, но нихуя не понятно)))

Короче, не иби мозги, учи Пейтон)))

anonymous(*)(2016-08-28 17:16:45)

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-28 17:16:45
avatar
Скрыть

Re:Это свершилось!

> Короче, не иби мозги, учи Пейтон)))
Всё понятно с тобой

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:Это свершилось! от AMUR-WOLF 2016-08-28 17:19:26Фильтры
avatar
  • матерные выражения
Скрыть

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
[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от anonymous 2016-08-28 17:23:42
avatar
Скрыть

Re:Это свершилось!

Сейчас я позову произвольного чела с msdn

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:Это свершилось! от AMUR-WOLF 2016-08-28 17:25:50
avatar
Скрыть

Re:Это свершилось!

Почему с МSDN?))) Может луче уж с LORа, не?))) Ты же этот баласт в линуксы все же тянешь?

anonymous(*)(2016-08-28 17:58:12)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36
[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от AMUR-WOLF 2016-08-28 08:09:28
avatar
Скрыть

Re:Это свершилось!

Я тебя умоляю, никто не кинется из-за майкрософтовского софта, внезапно открывшего исходники, переделывать тучу утилит под Linux

Vasily(*)(2016-08-28 18:11:18)

Mozilla/5.0 (X11; FreeBSD amd64; rv:40.0) Gecko/20100101 Firefox/40.0
[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от anonymous 2016-08-28 14:13:29
avatar
Скрыть

Re:Это свершилось!

> Я так понял ТСа, что это как раз одна из проблем, которую и пытается на скорую руку решить повершелл.
Шелл тут не поможет. Тут должна быть именно поддержка возврата произвольных объектов, а не числового кода

Vasily(*)(2016-08-28 18:12:40)

Mozilla/5.0 (X11; FreeBSD amd64; rv:40.0) Gecko/20100101 Firefox/40.0
[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от anonymous 2016-08-28 17:58:12
avatar
Скрыть

Re:Это свершилось!

> Почему с МSDN?))) Может луче уж с LORа, не?))) Ты же этот баласт в линуксы все же тянешь?
Я несу свет в Linux. Объяснять линуксоидам, почему PowerShell лучше bash + python - это то же самое, что объяснять деревенщине пользу от прививания. Чтобы простому челу такие вещи понять, нужна смена парадигмы. А чтобы она произошла, нужно взять тебя, например, и заставить безвылазно администрировать MS System Center в связке с Windows Server, SQL Server и SharePoint, и чтобы это всё работало вместе как одна большая единая информационная система, доступная для пяти тысячей клиентов. Тогда у тебя произойдет "Paradigm shift" в твоем mind.

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:Это свершилось! от Vasily 2016-08-28 18:11:18
avatar
Скрыть

Re:Это свершилось!

> Я тебя умоляю, никто не кинется из-за майкрософтовского софта, внезапно открывшего исходники, переделывать тучу утилит под Linux
Не надо ничего переделывать. Для Cron написали командлеты, не переделывая его.

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:Это свершилось! от AMUR-WOLF 2016-08-28 18:14:16
avatar
Скрыть

Re:Это свершилось!

> Тогда у тебя произойдет "Paradigm shift" в твоем mind.
Офигеть, по английски заговорил! Ещё раз, оно может, и лучше, если бы все проги писались изначально с учетом этих объектов. А при том, как есть сейчас, освоить sed/awk и вытащить из выходных данных то, что тебе надо, перенаправить их на вход другой программы через pipe итд до получения результата -- лучшее, что есть.

Vasily(*)(2016-08-28 18:17:28)

Mozilla/5.0 (X11; FreeBSD amd64; rv:40.0) Gecko/20100101 Firefox/40.0
[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от AMUR-WOLF 2016-08-28 18:15:21
avatar
Скрыть

Re:Это свершилось!

Для просмотра зависимости от разделяемых библиотек есть комманда ldd, для просмотра процессов -- ps, а ты нам продемонстрировал дубликат этих команд в виде билт-инов. Это хорошо что ли?

Vasily(*)(2016-08-28 18:30:09)

Mozilla/5.0 (X11; FreeBSD amd64; rv:40.0) Gecko/20100101 Firefox/40.0
[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от Vasily 2016-08-28 18:17:28
avatar
Скрыть

Re:Это свершилось!

> как есть сейчас, освоить sed/awk и вытащить из выходных данных то, что тебе надо, перенаправить их на вход другой программы через pipe итд до получения результата -- лучшее, что есть
В PowerShell встроен лучший парсер регулярных выражений, а также в нем самый совершенный 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:Это свершилось! от Vasily 2016-08-28 18:30:09
avatar
Скрыть

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:Это свершилось! от AMUR-WOLF 2016-08-28 18:30:36
avatar
Скрыть

Re:Это свершилось!

> В PowerShell встроен лучший парсер регулярных выражений
Лол, он либо парсер, либо не парсер. Иди освой матчасть. остальное -- дело синтаксиса.

> а также в нем самый совершенный pipe на данный момент.
Пайпы и стандартные потоки -- вообще часть ядра опрерационной системы, шел тут тоже никаким боком.

Вообще, пруфы будут по этим двум высказываниям?

Vasily(*)(2016-08-28 18:46:54)

Mozilla/5.0 (X11; FreeBSD amd64; rv:40.0) Gecko/20100101 Firefox/40.0
[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от AMUR-WOLF 2016-08-28 18:34:13
avatar
Скрыть

Re:Это свершилось!

> Ты чем занимаешься в сфере компьютеров?
А ты? Евангилист MS?

Vasily(*)(2016-08-28 18:47:16)

Mozilla/5.0 (X11; FreeBSD amd64; rv:40.0) Gecko/20100101 Firefox/40.0
[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от Vasily 2016-08-28 18:46:54
avatar
Скрыть

Re:Это свершилось!

>> Вообще, пруфы будут по этим двум высказываниям?
> В PowerShell встроен лучший парсер регулярных выражений
Он лучше тем, что объединяет в себе коллективные возможности отдельных утилит Grep ,Sed, Awk, RegEx Fu etc. То есть не надо быть специалистом по пяти-семи отдельным утилитам, надо только знать PowerShell. Причем, часто можно вообще ничего не парсить, и это значительно упрощает жизнь. Например, нужно убить единственный процесс с именем "chrome". Набором отдельных утилит это делается:

text

ps -ef | grep "chrome" | awk '{print $2}' | xargs kill
 


То же самое одним PowerShell:
text

gps -name chrome | kill
 


> а также в нем самый совершенный 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:Это свершилось! от AMUR-WOLF 2016-08-28 19:45:06
avatar
Скрыть

Re:Это свершилось!

Вот о чём я и говорил, выходит комбайн. Вместо системной утилиты ps приходится пользоваться велосипедом

Vasily(*)(2016-08-28 19:53:43)

Mozilla/5.0 (Android 5.0; Mobile; rv:48.0) Gecko/48.0 Firefox/48.0
[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от AMUR-WOLF 2016-08-28 19:45:06
avatar
Скрыть

Re:Это свершилось!

Как я вижу, там точно тот же пайп (что не удивительно). Просто гоняют по нему не текст. А ничего другого в мире unix-like гонять не выйдет -- системные утилиты к этому не приспособленны. Я опять вынужден повторяться. Вот если бы в этом пайпе придумали бы мультикаст -- тогда да, это был бы новый вид пайпа. Но нет -- это все тот же старый

Vasily(*)(2016-08-28 20:02:13)

Mozilla/5.0 (Android 5.0; Mobile; rv:48.0) Gecko/48.0 Firefox/48.0
[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от AMUR-WOLF 2016-08-28 18:14:16
avatar
Скрыть

Re:Это свершилось!

> безвылазно администрировать MS System Center в связке с Windows Server
Ты не поверишь дружок, но одно время я для этого System Center даже писал плагины для мониторинга спецефического оборудования, а по Windows Server был сертифицированным инженером))) Так что мимо кассы ты летишь)))

PS: Кстати, я даже на этом самом повершеле (он как раз только появлялся на свет) пытался что-то полезное изобразить, когда ты еще с воплями по школьным коридорам бегал)))

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
[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от Vasily 2016-08-28 18:46:54
avatar
Скрыть

Re:Это свершилось!

Вряд ли ты дождешься пруфов))

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
[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от AMUR-WOLF 2016-08-28 19:45:06
avatar
Скрыть

Re:Это свершилось!

> То же самое одним PowerShell:
А так не еще проще?)))

bash

killall chrome
 

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:Это свершилось! от AMUR-WOLF 2016-08-28 15:05:29
avatar
Скрыть

Re:Это свершилось!

>>> Ok. Посчитай ошибки в логах на питоне.
>> Ты действительно считаешь что это не возможно?)))
> Я просто не считаю это практичнее, чем две строчки на Powershell

На нормальном шелле команда grep -c поместится в одну строку и ещё место останется :)
Не понимаю зачем ставить ещё один шелл чтобы писать на нём непереносимые скрипты, команды в которых занимают вдвое больше строчек.

anonymous(*)(2016-08-29 01:12:34)

Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0
[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от AMUR-WOLF 2016-08-28 18:14:16
avatar
Скрыть

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:Это свершилось! от anonymous 2016-08-28 22:57:34
avatar
Скрыть

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:Это свершилось! от Vasily 2016-08-28 18:12:40
avatar
Скрыть

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:Это свершилось! от anonymous 2016-08-29 01:46:24
avatar
Скрыть

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:Это свершилось! от AMUR-WOLF 2016-08-28 19:45:06
avatar
Скрыть

Re:Это свершилось!

>> а также в нем самый совершенный pipe на данный момент.

> Windows PowerShell Rethinking the Pipeline

Давай вернёмся к твоему любимому примеру с подсчётом ошибок в логе.

Вот допустим у тебя утилита принимает лог через пайп и считает в нём ошибки.

Если лог у тебя объект, то логично ожидать, что передающая сторона сформирует объект в памяти и передаст утилите, а не будет как юниксовая утилита цедить лог в буфер построчно.

Теперь давай представим, что обрабатываемый лог файл у тебя имеет размер больше чем доступно памяти на обрабатывающей машине. Что должно произойти? Нужно ли нам это для простого подсчёта количества строк, соответствующих заданному паттерну?

anonymous(*)(2016-08-29 14:31:25)

[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от anonymous 2016-08-29 14:31:25
avatar
Скрыть

Re:Это свершилось!

> Теперь давай представим, что обрабатываемый лог файл у тебя имеет размер больше чем доступно памяти на обрабатывающей машине.
Закусывать надо

AMUR-WOLF(*)(2016-08-29 18:34:42)

Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0
[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от AMUR-WOLF 2016-08-29 18:34:42
avatar
Скрыть

Re:Это свершилось!

Закусывать не надо, вполне реальная ситуация.

anonymous(*)(2016-08-29 19:00:46)

[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от anonymous 2016-08-29 02:06:11
avatar
Скрыть

Re:Это свершилось!

> Ну так Амурыч и пишет, что повершелл умеет возвращать объекты...
Я ж не про то. Не только шелл должен уметь понимать объекты, но и все системные утилиты. ls, ps, grep, kill итд. Кто их будет переписывать?

anonymous(*)(2016-08-29 19:43:31)

Mozilla/5.0 (X11; FreeBSD amd64; rv:40.0) Gecko/20100101 Firefox/40.0
[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от anonymous 2016-08-29 19:00:46
avatar
Скрыть

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:Это свершилось! от anonymous 2016-08-29 19:43:31
avatar
Скрыть

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 с объектами.

anonymous(*)(2016-08-29 20:02:32)

[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от AMUR-WOLF 2016-08-29 19:53:04
avatar
Скрыть

Re:Это свершилось!

> Майкрософт ее хорошо обдумала и правильно реализовала

Убедил. Закусывать действительно надо.

anonymous(*)(2016-08-29 20:03:34)

[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от anonymous 2016-08-29 20:02:32
avatar
Скрыть

Re:Это свершилось!

А зачем, когда и так всё написано? Зачем велосипеды и комбайны городить?

anonymous(*)(2016-08-29 23:03:51)

Mozilla/5.0 (X11; FreeBSD amd64; rv:40.0) Gecko/20100101 Firefox/40.0
[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от anonymous 2016-08-29 20:02:32
avatar
Скрыть

Re:Это свершилось!

> Я ж не про то. Не только шелл должен уметь понимать объекты, но и все системные утилиты. ls, ps, grep, kill итд. Кто их будет переписывать?
Из твоего списка нет ни одной утилиты, для которой нет готового командлета.

ls -----------> Get-ChildItem

ps -----------> Get-Process

grep ---------> Select-String

kill ---------> Stop-Process

итд. ---------> Get-Command

Сегодня Powershell в Linux предоставляет 210 командлетов из коробки. Нехило? Плюс уже есть несколько модулей, предоставляющих дополнительные командлеты. В скором будущем появятся десятки модулей с командлетами.

Нужны модули с командлетами для System.d, apt-get, grub2, AppArmour, SELinux, ClamAV и т.д.

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:Это свершилось! от AMUR-WOLF 2016-08-30 06:32:09
avatar
Скрыть

Re:Это свершилось!

ну я правильно понял, что это те же утилиты, переписанные второй раз? зачем это надо-то? зачем мне в системе иметь одно и то же дважды?

anonymous(*)(2016-08-30 17:57:46)

Mozilla/5.0 (X11; FreeBSD amd64; rv:40.0) Gecko/20100101 Firefox/40.0
[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от AMUR-WOLF 2016-08-30 06:32:09Фильтры
avatar
  • матерные выражения
Скрыть

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:Это свершилось! от anonymous 2016-08-29 01:12:34
avatar
Скрыть

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 17:57:46
avatar
Скрыть

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 22:27:52
avatar
Скрыть

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:Это свершилось! от AMUR-WOLF 2016-08-30 06:32:09
avatar
Скрыть

Re:Это свершилось!

Я человек военный поэтому объясни медленно и два разА. Простому пользователю линупса, не админу, вроде меня - этот повершелл какую пользу принесет?

А то вводить в bash-е ls, ps и kill я уже научилсо, команды по военному лаконичные, а тут предлагают вместо них Get-ChildItem-ы Get-Process-ы, и Stop-Process-ы. И не надо рассказывать мне про алиасы, я не админ.



Esoptro(*)(2016-08-31 00:25:32)

Mozilla/5.0 (X11; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0
[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от Esoptro 2016-08-31 00:25:32
avatar
Скрыть

Re:Это свершилось!

> А то вводить в bash-е ls, ps и kill я уже научилсо, команды по военному лаконичные, а тут предлагают вместо них Get-ChildItem-ы Get-Process-ы, и Stop-Process-ы. И не надо рассказывать мне про алиасы, я не админ.
>не надо рассказывать мне про алиасы
>не надо рассказывать мне
>не надо
Я хочу рассказать тебе про алиасы. Существуют алиасы для командлетов из коробки:

Get-ChildItem --------> dir, ls

Get-Process ----------> gps

Stop-Process ---------> kill

Алиас для командлета, набранный в консоли Powershell, имеет более высокий приоритет, чем одноименная утилита Linux. То есть если войти в PowerShell и в нем набрать ls, то запустится командлет Get-ChildItem. Если это не нравится, можно убрать алиас:

Remove-Item Alias:ls

По поводу лаконичности:

Характерной особенностью 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:Это свершилось! от AMUR-WOLF 2016-08-31 08:54:21
avatar
Скрыть

Re:Это свершилось!

Кстати, попробовал тут в виндов$е ввести команду Get-ChildItem. И шоб ты думал? 'Get-ChildItem' is not recognized as an internal or external command, operable program or batch file. В самом виндовсном шелле эти команды недоступны, а мы тут о какой-то переносимости розмовляем.

anonymous(*)(2016-08-31 15:09:22)

[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от anonymous 2016-08-31 15:09:22
avatar
Скрыть

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:Это свершилось! от AMUR-WOLF 2016-08-31 15:38:02
avatar
Скрыть

Re:Это свершилось!

У меня ХР.. Но я поступил проще - просто установил GNU-шные утилиты туда. И в андроид на мобилку. С тех пор у меня везде есть всё нужное, grep например. В любом шелле. Без всякого повершелла.

anonymous(*)(2016-08-31 15:44:36)
Отредактировано anonymous по причине "не указана"
[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от anonymous 2016-08-30 23:06:47
avatar
Скрыть

Re:Это свершилось!

> Ой, а зайчем нам эти ваши объекты? Приведите примеры где эти самые объекты реально нужны)))
Объекты чаще обрабатываются правильнее, чем отпарсенный текстовый вывод. Приведу простой пример. Нужно посчитать в домашней директорими количество нескрытых файлов и директорий. Если погуглить, то в bash это делается так:

text

dmn@dmn-Aspire-E5:~$ ls /home/dmn -l | wc -l
11
 
Получаем 11, радуемся и беззаботно идем дальше, ничего не подозревая. При использовании разных версий ls будем получать разные числа.

На PowerShell это делается так:
text

PS /home/dmn> (Get-ChildItem /home/dmn).count
10
 
Получили 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:Это свершилось! от AMUR-WOLF 2016-08-31 17:41:31
avatar
Скрыть

Re:Это свершилось!

На самом деле объекты не надёжнее текстового шелла. Шелл должен быть SQL-ным, а команда выглядеть вот так: select count(1) from files where directory=curr_dir();

anonymous(*)(2016-08-31 19:04:27)

[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от anonymous 2016-08-31 15:44:36
avatar
Скрыть

Re:Это свершилось!

> У меня ХР.
Щито?))) Вы директор бедного зоопарка что ли?)))

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
[#] [Добавить метку] [Редактировать] Ответ на: Re:Это свершилось! от anonymous 2016-08-31 19:58:39
avatar
Скрыть

Re:Это свершилось!

Ну пиздю, ну семёрочка. Всё равно эти еоманды в шелле цмд не запускаются.

anonymous(*)(2016-08-31 20:25:36)

Этот тред читают 8 пользователей:
Анонимных: 8
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!