Вы предпочитаете управлять серверами через графический интерфейс или интерфейс командной строки?
Пожалуйста, укажите, за какую операционную систему вы отвечаете.
Графические интерфейсы могут быть удобными для новичков, но после этого они станут более удобными. враждебный чем полезный.
Они создают слой между вами и проблемой, которую вы пытаетесь решить, и этот «прокси» редко затрагивает все функции, которые вам нужны. Разработчик, который написал это в то время, думал о том, «что потребуется», а затем ограничил вашу свободу выбором, который он сделал в то время. Даже неразумно ожидать, что разработчик будет думать обо всех возможных проблемах, которые могут или не могут произойти.
Сказав это - я также добавлю, что графический интерфейс жестяная банка тоже может быть полезным, и, когда он написан хорошо, может сэкономить время и силы, даже приносит некоторое удовольствие от использования - никаких аргументов. Но когда вам в конце концов понадобится что-то другое, кроме «использования» продукта в «нормальных обстоятельствах», вы не должны вынужденный пройти через графический интерфейс - это было бы препятствием.
(Моя точка зрения не основана на какой-либо конкретной ОС).
Я предпочитаю CLI из-за трубопроводов и stdin / stdout. Я предпочитаю это на всех системах.
Я также предпочитаю, когда есть файл конфигурации, а не настройки реестра.
CLI полностью по той простой причине, что аудит намного проще. Когда я вношу изменения, я просто регистрирую сеанс терминала, а затем у меня есть запись о том, что я сделал, если мне когда-нибудь придется вернуться и проверить это.
Конфигурация на основе текста также поддается автоматизации; просто собрать несколько сценариев, которые автоматически сохраняют конфигурацию с сетевых устройств и регистрируют их в системе контроля версий, давая вам историю изменений в вашей сети с течением времени.
Помимо того, что люди дали много хороших ответов о преимуществах интерфейса командной строки, еще один плюс интерфейса командной строки, который я не видел, заключается в том, что по моему опыту CLI гораздо реже терпит неудачу. Это может значительно сэкономить время, если вы управляете серверами удаленно. Кроме того, если машина начинает испытывать большую нагрузку, CLI обычно более отзывчивый.
ОС Linux.
Предпочтительный интерфейс командной строки. Зачем? Это быстро, кратко, вы можете получить доступ ко всем параметрам и понять, что происходит. И это скрипт, что важно, когда вы развертываете / обслуживаете множество систем или даже несколько систем, которые должны поддерживаться в согласованном, известном состоянии (например, блоки разработчика, которые, возможно, потребуется повторно развернуть / часто "сбрасывать" состояние) Если вы используете графический интерфейс, вы можете получить тот же эффект, но никогда не поймете, что было сделано.
ОС Windows Мне очень редко приходится работать с окнами, часто для тестирования окон на серверах Linux. И тогда я предпочитаю CLI, хотя я этого не знаю. Причина? Кажется, что в большинстве случаев графический интерфейс Windows ничего не делает. Т.е. вы выполняете операцию в графическом интерфейсе пользователя, но на самом деле она не запускает операцию в ОС. Я обнаружил, что обычно интерфейс командной строки дает вам лучшее представление о текущем состоянии компьютера с Windows, и часто вы можете заставить что-то работать, что на самом деле не работает (каждый раз) в графическом интерфейсе, хотя иногда это выглядит как они это делают. Я предпочитаю использовать графический интерфейс больше в окнах, в основном потому, что я не знаком с окнами и просто не знаю инструментов командной строки.
Я лично считаю, что успешную систему управления изменениями практически невозможно создать в мире, где только графический интерфейс.
Если изменение должно быть реализовано через cli, шаги могут быть объединены в сценарий, который затем передается в управление изменениями для утверждения. После утверждения тот же самый сценарий может быть запущен в реальной среде.
Как упоминалось в предыдущем плакате, текстовые файлы конфигурации улучшают ситуацию. Я не буду вдаваться в подробности использования CVS (или замены вашей любимой системы контроля версий) для поддержки вашей среды конфигурации, но я просто оставлю этот (слегка придуманный) пример файла конфигурации (от tinyproxy):
# 20090527 MJH - Запрос на изменение 564
Разрешить 192.168.1.100
Я знаю, что в некоторых графических интерфейсах теперь есть (плохо реализованное) поле комментариев, и многое из того, что я описал выше, можно реализовать в графическом интерфейсе. Но на данный момент это не так.
Все зависит от выполняемой работы, но я считаю, что использую графический интерфейс чаще, чем интерфейс командной строки в Windows. Примерно 50/50 на нашем единственном сервере Mac или моем MacBook. На наших машинах с Linux нет графического интерфейса, поэтому очевидно, что это всегда интерфейс командной строки, и я предпочитаю его таким образом.
Интерфейс командной строки - единственный выход, особенно если вы на связи и не хотите, чтобы вас привязывали к дому. Возможность войти в систему через мобильный телефон или сотовый телефон без доступа к сети 3G и возможность устранения неполадок неоценимы, вы не получите ничего быстрого с графическим интерфейсом.
Вышеуказанных причин также достаточно. Сценарий графического интерфейса довольно сложен.
Лошади для курсов. Джефф Сновер разработал PowerShell для Windows, потому что некоторые ключевые операции в Exchange занимали три окна в глубину и были сложны в графическом интерфейсе. Без сомнения, я бы предпочел, чтобы CLI выполнял одну операцию, которая выполняет что-то массово, а не возился с графическим интерфейсом.
OTOH, даже PowerShell - лучший интерфейс командной строки, который я когда-либо использовал - подвержен проблеме бесконечного количества параметров, и его трудно масштабировать, если автор сценария или командлета не выберет значения по умолчанию очень тщательно.
У меня открыты окна графического интерфейса, но я всегда также откройте окно PowerShell. Я подозреваю, что большинство администраторов делают то же самое, даже самые заядлые бородатые Unix.
Я изучил свой Linux на Slackware, где (при установке по умолчанию) не было ничего, кроме интерфейса командной строки. То же самое верно для многих разновидностей серверной редакции (например, Ubuntu). Может быть, в раннем возрасте я настроен на свои пути, но все же предпочитаю интерфейс командной строки по двум основным причинам:
Единственное необходимое условие для удаленного администрирования - это SSH-клиент. Если вы понимаете, что ваш сервер по какой-то причине не работает, и вы оказались у друга, работающим под управлением любой ОС, возьмите бесплатный клиент ssh, войдите в систему, и вы получите то, к чему вы привыкли. Нет необходимости устанавливать VNC, клиент X11 и т. Д.
От минимальных до пренебрежимо малых накладных расходов. Мне нравится идея, что я не трачу ресурсы на рисование красивого окна, и вы не можете превзойти пропускную способность, используемую ssh.
Кроме того, интерфейсы - это всего лишь внешние интерфейсы, например, интерфейс командной строки. Вырежьте среднего человека :)
Debian / OSX. CLI / SSH / SFTP / Cyberduck / TextMate. Я все время учусь. Я думаю, что действительно нужно привыкнуть к некоторому языку сценариев, быть методичным, структурированным и документировать - это ключ. Хотя мне нравится графический интерфейс, когда дело доходит до графиков загрузки процессора и тому подобного :) Я часто использую SFTP, поскольку Cyberduck позволяет редактировать файлы «на месте». Очень удобно. Мне тоже нравятся «графические» консольные инструменты, например, top. Я скоро попробую Webmin. Посмотрим.
Я склонен рассматривать графический интерфейс и интерфейс командной строки как просто инструменты для выполнения работы и буду использовать то, что больше всего подходит для моей работы, без каких-либо абсолютных предпочтений в любом случае.
Я считаю, что так и должно быть.
CLI - прозрачность - это все.
Выиграть
Я все еще учусь каждый день, но я определенно предпочитаю CLI. Хотя это было не так давно, я бы сказал, GUI. По мере того, как я перерос в свою работу, кажется, что есть еще много вещей, которые вы можете сделать с помощью CLI .... особенно после установки таких инструментов, как pstools (и других, о которых я не могу думать только в этом разделе).
Хотя в моей компании нет машин Linux / Unix, у меня есть пара дома, и кажется, что ВСЕ проще (и хотите верьте, хотите нет, БЫСТРЕЕ) с интерфейсом командной строки, если вы потратите время на изучение. Вы определенно можете сделать больше с помощью интерфейса командной строки, чем с графическим интерфейсом.
Windows / Unix:
Из-за возможности автоматизации я предпочитаю CLI. В Windows всегда этого не хватало, но с Powershell это становится проще.
Зависит от задачи и знания администратором тонкостей администрируемого продукта.
Из-за большей осведомленности интерфейс командной строки обычно является предпочтительным способом, особенно если этот интерфейс командной строки легко может быть написан для выполнения общих задач.
Хорошо продуманный графический интерфейс с ориентированными на задачи рабочими процессами, сопровождаемыми полезными подсказками и необходимой документацией, часто является лучшим способом ознакомления или выполнения сложных рабочих процессов, где использование интерфейса командной строки может привести к пропуску шагов и т. Д.
Это особенно верно в моем опыте работы со специализированными бытовыми приборами, которые отличаются от типичных форм коробки Solaris или рабочего стола Windows.
В основном, однако, все сводится к тому, насколько хорошо используемый продукт был разработан и проверено на удобство использования для целого ряда предполагаемых пользователей / администраторов.
Однозначно CLI.
Гораздо проще следовать / давать инструкции в виде серии команд CLI, чем щелкнуть здесь, открыть это диалоговое окно, щелкнуть там, ...
Кроме того, любая команда CLI по определению может быть автоматизирована в сценарии.
UNIX / Linux / OSX
Поскольку мне приходилось использовать довольно много разных дистрибутивов в разных версиях, я никогда не совсем уверен, какой инструмент является текущим предпочтительным интерфейсом или насколько хорошо он взаимодействует с базовыми файлами конфигурации. В некоторых случаях мне приходилось удалять файл, созданный с помощью графического интерфейса, и вручную переписывать новый.
Я знаю, как работают инструменты CLI, в основном одинаковые в системах linux / unix, а также синтаксис файлов, которые они используют. Это не меняется между системами.
Кроме того, некоторое время работая продавцом, я привык к тому, что мне говорили сесть за машину и использовать ее, никогда не зная, какая это ОС и какая версия. Мне даже время от времени говорили, что это совершенно неправильная ОС (Solaris, а не Linux; HP-UX, а не Solaris и т. Д.). Знание стандартных инструментов интерфейса командной строки означает, что я могу работать на любой машине Unix. К сожалению, это часто означает, что vi не Emacs для тех, кто хочет религиозной войны, но vi был включен каждый машина unix / linux, которую я когда-либо использовал.
Платформы Unix и Linux различных версий (OSX, BSD, Solaris, AIX, Ubuntu, Debian, Red Hat, SUSE и т. Д.).
Я предпочитаю администрировать системы с помощью системы управления конфигурацией, например Повар. Вместо того, чтобы запускать команды для управления системами, я пишу код. Каждая служба или другая сущность рассматривается как объект. Это буквально программная инфраструктура, и она намного более масштабируема, проста и интересна, чем вход в машины и выполнение команд. Я пишу рецепт для управления Apache один раз, а затем каждый раз, когда мне нужен веб-сервер, я добавляю рецепт. То же самое с любым сервисом. Я могу восстановить системы и перенастроить их по своему желанию.
Любой, кто вручную управляет системами в качестве своей рутинной повседневной работы, слишком много работает.
Исторически сложилось так, что я предпочитаю интерфейсы командной строки из-за возможности использования языков сценариев, таких как Bash, Ksh, Perl, Ruby и Python, для объединения команд.