你喜欢通过GUI还是CLI来pipe理服务器?

你喜欢通过GUI还是CLI来pipe理服务器?

请说明您正在应答的系统操作系统。

graphics用户界面可以是初学者友好的,但之后 – 他们更有利于 敌意

他们在你和你正试图解决的问题之间放置了一层,而“代理”很less能解决你以后的所有function。 当时写的那个开发者想到了“需要什么”,然后在那个时候用他做出的select封锁了你的自由。 期望开发人员考虑可能发生或可能不会发生的每一个可能的问题是不合理的。

话虽如此 – 我还要补充一点,GUI也是有用的,写得好的话可以节省时间和精力,甚至可以提供一些使用上的乐趣 – 这里没有任何争论。 但是当你最终需要在“正常情况下”下使用产品以外的其他东西时,你不应该被迫通过GUI – 这将是一个障碍。

(我的观点不是基于任何特定的操作系统)。

我更喜欢CLI,因为pipe道和标准input/标准输出。 我更喜欢所有的系统。

我更喜欢当有configuration文件,而不是registry设置。

CLI一路走来,简单的原因是审计更容易。 当我进行更改时,只需login我的terminal会话,然后logging下我做了什么,我是否必须回过头来validation它。

基于文本的configuration也适用于自动化; 将一些脚本自动保存在networking设备上的configuration文件并将其检入到版本控制系统中是非常简单的,并且可以让您了解随着时间的推移,networking中发生了什么变化的历史logging。

除了人们给CLI带来的好处外,还有许多好的答案,而我没有看到CLI的另一个优点,就是根据我的经验, CLI不太可能失败 。 如果远程pipe理服务器,这可以节省很多时间。 另外,如果机器开始经历沉重的负载,CLI通常会有更多的响应

OS Linux。

首选项CLI。 为什么? 它的快速,缓和,你可以得到所有的select,你知道发生了什么。 它是可编写脚本的,当你部署/维护很多系统,甚至只有一些必须保持一致的已知状态的系统时(例如可能需要重新部署/经常重置状态的开发盒)如果您使用GUI,您可能会得到相同的效果,但是您可能永远不会理解所做的事情。

操作系统的Windows我非常occaisonally必须做窗口的东西,经常要testing对Linux服务器的Windows。 然后我更喜欢CLI,即使我不知道。 原因? 看来,很多时候的Windows GUI不会做的东西。 即您在GUI中执行操作,但实际上并没有触发操作系统中的操作。 我发现CLI通常会给你一个关于Windows机器当前状态的更好的概念,而且通常你可以让事情起作用,即使看起来好像有些时候在GUI中并不实际工作(每次)像他们一样。 有理由我在窗口上使用更多的GUI,主要是因为我对窗户一无所知,而且根本不知道命令行工具。

我个人认为,一个成功的变更控制系统几乎不可能在仅有GUI的世界中实现。

如果变更是通过cli来实现的话,可以将这些步骤捆绑成一个脚本,然后提交给pipe理层进行审批。 一旦批准,可以在现场环境中运行相同的脚本。

正如之前的海报提到基于文本的configuration文件使事情变得更好。 我不会介绍使用CVS(或者用你最喜欢的revison控制系统)来维护你的configuration环境的好处,但是我将仅仅留下这个configuration文件的示例(来自tinyproxy):

#20090527 MJH – 请求更改564

允许192.168.1.100

我知道一些graphics用户界面现在有一个(执行不力)的注释字段,上面描述的很多内容都可以在GUI中实现。 但目前情况并非如此。

马匹的课程。 Jeff Snover为Windows开发了PowerShell,因为Exchange中的某些关键操作在GUI中是三个深度和困难的操作。 毫无疑问,我宁愿有一个CLI来做一个批量操作的操作,而不是用GUI来操作。

OTOH,甚至PowerShell – 我曾经使用过的最好的CLI – 容易出现无尽的参数问题,除非脚本或cmdlet编写者非常仔细地select默认值,否则很难扩展。

我有GUI窗口打开,但我总是有一个PowerShell窗口打开。 我怀疑大多数pipe理员都是这样做的,即使是那些硬核Unix的Unix也是如此。

CLI是唯一的出路 – 特别是如果你正在打电话,而不想被捆绑到你的房子。 能够通过移动/手机login盒子,没有3G可用,并且能够排除故障是非常宝贵的,使用GUI将无法快速完成任务。

上面提到的很多原因也是有效的。 脚本gui是相当棘手的。

我在Slackware上学习了我的linux,在那里(默认安装)只有一个命令行界面。 许多服务器版本(如Ubuntu)也是如此。 也许我很小就习惯了,但我仍然更喜欢CLI,主要有两个原因:

  • 远程pipe理的唯一先决条件是SSH客户端。 如果你意识到你的服务器由于某种原因而closures了,而且你恰好在一个运行任何操作系统的朋友的地方,那么可以拿一个免费的ssh客户端login,然后向用户呈现你习惯的东西。 无需安装VNC,一个X11客户端等…

  • 开销可以忽略不计。 我喜欢这样的想法,即不浪费资源来绘制一个漂亮的窗口,而且你无法击败ssh使用的带宽。

此外,前端只是:前端,如命令行的前端。 剪掉中间人:)

完全取决于手头的工作,但我发现我比Windows上的CLI更频繁地使用GUI。 在我们唯一的Mac服务器或我的MacBook上约50/50。 我们的Linux机器没有GUI,所以显然这是CLI,我更喜欢这种方式。

绝对CLI。

跟随/点击这里的命令作为一系列的CLI命令是非常容易的,打开这个对话框,点击那里,…

而且,根据定义,任何CLI命令都可以在脚本中自动执行。

取决于任务和pipe理员对被pipe理产品的来龙去脉的熟悉程度。

随着熟悉程度越来越高,CLI通常是首选的模式 – 特别是如果该CLI易于编写普通任务。

一个精心devise的graphics用户界面,面向任务的工作stream程,伴随着有用的提示和需要点文档,通常是获得熟悉程度或完成使用CLI的复杂任务工作stream程可能导致错误步骤等的最佳途径。

在使用偏离Solaris机箱或Windows桌面的典型模具的专业家电产品的经验中,情况更是如此。

然而,大多数情况下,所涉及的是所使用的产品的devise和可用性在各种预期的用户/pipe理员中的testing情况。

Windows / Unix:

由于自动化能力,我更喜欢CLI。 Windows一直在这方面缺乏,但与Powershell变得更容易。

赢得

我仍然每天都在学习,但我绝对更喜欢CLI。 不久前,虽然我会说GUI。 正如我已经成长为我的工作似乎有更多的事情,你可以用CLI做…特别是在安装工具,如pstools(和其他人,我不能只想到这一秒)。

虽然我的公司没有任何Linux / Unix机器,但是我在家里有一对夫妇,如果你花时间去学习,看起来一切都更简单(相信或不相信)。 与CLI相比,您可以使用CLI做更多的事情。

CLI – 透明度就是一切。

我倾向于将GUI和CLI看作是完成工作的工具,并且将使用最适合于我所从事的工作的任何一种方式,没有绝对的偏好。

我相信这是应该的。

Debian的/ OSX。 CLI / SSH / SFTP / Cyber​​duck的/ TextMate的。 我一直在学习 我觉得真正习惯于一些脚本语言,而且是有条不紊的,有条理的,文档是关键。 虽然我喜欢graphics用户界面的CPU负载等:)我使用SFTP很多,因为Cyber​​duck让你“就地”编辑文件。 很方便。 我也喜欢“graphics”控制台工具,如顶部。 我要尽快尝试Webmin。 我们拭目以待。

UNIX / Linux的/ OSX

不得不使用不同版本的不同版本的发行版,我不太确定哪个工具是当前select的前端,或者它与底层configuration文件的交互方式。 在很多情况下,我不得不删除GUI创build的文件,并手动重写一个新文件。

我知道CLI工具是如何工作的,在linux / unix系统中基本上是一样的,以及它们使用的文件的语法。 这在系统之间不会改变。

另外,作为一个供应商工作了一段时间,我习惯了被告知坐在一台机器上使用它,永远不知道它是哪个操作系统,或者哪个版本。 我甚至被完全告诉了操作系统的错误(Solaris不是Linux; HP-UX不是Solaris等)。 了解标准CLI工具意味着我可以在任何Unix机器上工作。 不幸的是,那些想要进行宗教战争的人经常意味着vi不是Emacs,但是vi已经在我使用过的每个 unix / linux机器上了。

各种风格的Unix和Linux平台(OSX,BSD,Solaris,AIX,Ubuntu,Debian,Red Hat,SUSE等)。

我更喜欢用像Chef这样的configurationpipe理系统来pipe理系统。 我不是运行命令来pipe理系统,而是编写代码。 每个服务或其他实体都被视为一个对象。 这实际上是编程基础架构,它比login到机器和运行命令更具可扩展性,简单和有趣。 我写了一个配方来pipe理Apache一次,然后我需要一个Web服务器,我添加配方。 与任何服务一样。 我可以重build系统,并随时重新configuration它们。

任何将系统手动pipe理为常规日常工作的人都在努力工作。

现在,从历史上看,由于使用Bash,Ksh,Perl,Ruby和Python等脚本语言的强大function,我更喜欢命令行界面。