尽pipe你可以在linux上做任何事情,但是它往往需要在configuration文件中进行大量的调整,并阅读大量的手册/教程,然后才能以自己的方式运行。
我知道随着时间的推移,它变得更容易了,Ubuntu / debian的apt-get安装正朝着正确的方向发展。
但是linux怎么能在未来对我们更友好?
我认为,如果更多像IDE环境自动化,例如。 键入svn将给我们所有关于每个命令的命令和描述,当你用键盘在命令之间移动时。 那太好了。
但这只是一个例子。 另一个是terminal之间的导航文件夹。 现在你只需要input很多文件就可以跳转到不同的文件夹。 在这里也会有更多的自动化。
我知道这些额外的function会减慢服务器的速度,但现在的2010年,这些function对于CPU来说并不那么沉重,但是使用起来更友好,并鼓励服务器的维护,而不是吓跑你。
你怎么看待这件事? 应该/我们可以在服务器上有更多的用户友好的Linux环境,这让你非常恼火吗?
很多事情都是以unix的方式完成的,但是也许我们应该在某些地方重新发明轮子,显然,如此重复今天,很难做简单的任务。 这应该是更容易,我认为..
我会假定你知道UNIX的哲学,以及为什么UNIX工具是按照它们的方式构build的。
我将解决你的问题中的两个要点,我从你的post中了解到: “shell很难使用” , “有很多configuration文件调整”
我不同意在shell中操作更加重复和手动。 事实上,情况恰恰相反。 你可以很容易地脚本和自动化的东西。
此外,现代发行版使手动shell程序的使用更容易与文件名和命令参数一起使用。 这使得导航更容易。 在Ubuntu中,你可以键入svn后跟空格,然后点击两次tab,例如获得可用的svn命令列表。 另外,如果你误用它,几乎所有的命令都会给你它的使用说明。 如果你认为你需要命令行的function,那么它已经存在了,你不知道,或者有更好的方法。 🙂
有一些学习曲线涉及到,但是当你发现越来越多的事情你可以用一个命令行工具和你可以结合看起来不相关的简约工具的方式来学习的时候,学习是有好处的,有一点你的工作效率会比你更高使用更多的集成工具(如IDE)。
例如,像多平台多架构C ++这样的东西从一组不同的开发分支中构build子项目,而在一个IDE中使用多个不同的工具链并不容易,因为它通常是针对一些常见的用例而定制的。
因为基于Linux的操作系统中的软件不是由单一厂商生产的,所以它的软件包来自于各种各样的人,因此Linux生态系统是非常异类的,每个人都倾向于在API和configuration文件。 这是你为多样性付出的代价。
但它并不像看起来那么陡峭。 当你了解的更多,程序和库的组织方式(只有很多明智的方式)是反复出现的模式,所以你可以在几分钟内捡起它们,而不需要大量的文档。
UNIX的哲学是每个组件都应该“ 做一件事,做一件好事 ”,这已经很好地服务于UNIX和Linux。 恕我直言,是的,我们可以使事情更加用户友好,但这样做的方法是提供一个单独的GUIconfiguration应用程序读取/写入底层的configuration文件; 而不是通过使底层代码更复杂,这会使事情变得更慢,并可能引入错误。
我只想补充几分钱。 你可能知道这一点,但也可能有其他人阅读这些谁不。