Что среди Bash/Python/Perl/Ruby/Sed/Awk для Системного администрирования, кодируя аксессуары

Самый "важный" ярлык Безопасная Последовательность Внимания , Ctrl + Высокий звук + Del .

На XP Вы обычно имеете к , включают его иначе, это просто выполняет Диспетчер задач.

, В то время как зарегистрированный, SAS поднимает диалоговое окно безопасности Windows на своем собственном Рабочий стол , который получит Вас из почти чего-либо (такие как подвешенное полноэкранное приложение DirectX).

ярлык Диспетчера задач теперь (и всегда был) Ctrl + Сдвиг + Esc .

(этот ответ относится к NT4, 2000, XP и 2003. Я не могу говорить за Vista)

6
задан Vadim Kotov 16 August 2017 в 09:58
поделиться

7 ответов

Я бы использовал Perl вместо комбинации bash / sed / awk. Почему?

  1. У вас есть только один исполняемый файл, а не порождение нескольких исполняемых файлов для выполнения работы.
  2. Вы можете использовать широкий спектр модулей Perl, чтобы делать что угодно (см. CPAN для доступные модули)

Фактически, я бы рекомендовал любой язык сценариев вместо комбинации shell / awk / sed по тем же причинам. У меня нет проблем с sed / awk как таковым , но по мере того, как требуемые решения становятся более сложными / длинными, я нахожу более мощные языки сценариев более масштабируемыми и (в некоторой степени) реорганизуемыми для повторного использования. -использование.

2
ответ дан 8 December 2019 в 13:00
поделиться

Я обычно выполняю много операций с ruby ​​. В нем есть все функции Perl, но я считаю его более читабельным. Оба perl и ruby ​​ поддерживают параметры -n , -e и -p .

-e 'command'    one line of script. Several -e's allowed. Omit [programfile]
-n              assume 'while gets(); ... end' loop around your script
-p              assume loop like -n but print line also like sed

Например, в ruby ​​

seq 1 4 | ruby -ne 'BEGIN{ $product = 1 }; $product *= $_.to_i; END { puts $product }'
24

, что очень похоже на perl

seq 1 4 | perl -ne 'BEGIN{ $product = 1 }; $product *= $_; END { print $product }'
24

В Python, то же самое будет выглядеть так:

seq 1 4 | python -c 'import sys; print reduce(lambda x,y : int(x)*int(y),  sys.stdin.read().splitlines(True))'
24

Хотя это можно сделать в bash / awk / sed, вы будете ограничены отсутствием более продвинутых функций.

7
ответ дан 8 December 2019 в 13:00
поделиться

При написании сценариев оболочки все, что вам нужно знать, - это немного bash / sh и много awk. Bash для вызова ваших команд и awk для обработки. Некоторые из нижеприведенных инструментов unix, вопреки тому факту, что многие люди их используют, не являются необходимыми, поскольку awk может выполнять их функции

1) cut
2) sed
3) wc
4) (e)grep
5) cat
6) head 
7) etc..

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

Perl / Python также являются очень полезными инструментами для системного администратора. Оба они делают похожие вещи и имеют библиотеки, которые помогают в ваших задачах системного администратора. Единственное существенное отличие, с эстетической точки зрения, - это внешний вид вашего кода, написанного на них.

Вы можете узнать о Ruby, если хотите, но с точки зрения системного администратора я бы сказал вместо этого перейти на Perl / Python.

1
ответ дан 8 December 2019 в 13:00
поделиться

За то время, которое вам потребовалось, чтобы написать эти несколько абзацев, вы могли бы уже выучить достаточно Python, чтобы сделать свою жизнь значительно лучше .

Любой, кто уже знает C ++ или Java может стать продуктивной в Python примерно за 4 часа. Просто прочтите руководство.

1
ответ дан 8 December 2019 в 13:00
поделиться

Python более выразителен и удобочитаем, чем bash, но требует дополнительных настроек: import os и так далее. Для простых задач bash работает быстрее - что для этого важнее всего. И не стоит недооценивать силу перенаправления ввода / вывода в bash!

4
ответ дан 8 December 2019 в 13:00
поделиться

Я считаю Python + Bash очень хорошей комбинацией.
Я обычно использую Python, потому что он очень удобен для чтения и сопровождения. И поскольку доступно множество онлайн-документации.

Между прочим, я предлагаю вам прочитать http://www.ibm.com/developerworks/aix/library/au-python/

3
ответ дан 8 December 2019 в 13:00
поделиться

Мой первый порт вызова - это bash с sed для обработки регулярных выражений. Вы можете многое сделать с помощью bash for loop, grep и некоторых регулярных выражений.

Стоит изучить регулярные выражения, если вы их еще не знаете. Редактор, который позволяет вам использовать их (например, vi), чрезвычайно полезен при работе с файлами (например, у вас есть набор данных, извлеченных из файла журнала, и вам нужно, например, превратить его в набор операторов SQL).

Если мне требуется больше нескольких минут, чтобы понять, как выполнить любую задачу синтаксического анализа, которую я пытаюсь выполнить в bash / sed, я обычно вместо этого использую perl. По предположению ikkebr, python, вероятно, не хуже (или лучше) perl; Мне просто не повезло сначала изучить Perl, поэтому я гораздо лучше знаком с ним - если бы я начал снова, я бы вместо этого выучил python.

0
ответ дан 8 December 2019 в 13:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: