尽管您可以在 Linux 中做任何事情,但在您按照自己的方式运行它之前,往往需要在配置文件中进行大量调整,并阅读大量手册/教程。
我知道随着时间的推移它会变得容易得多,并且使用 ubuntu/debian 的 apt-get 安装正在朝着正确的方向发展。
但是 Linux 将来如何才能对我们来说更加用户友好呢?
我认为,如果更多内容像 IDE 环境一样自动化,例如。当您使用键盘在命令之间移动时,键入 svn 将为我们提供所有命令以及有关每个命令的描述。那就太好了。
但这只是一个例子。另一个是在终端中的文件夹之间的导航。现在你必须输入很多内容才能在不同的文件夹之间跳转。如果这里能有更多的自动化就更好了。
我知道这些额外的功能会减慢服务器的速度,但是现在已经是 2010 年了,这些功能对 CPU 的负担并不大,反而使其更加用户友好并鼓励服务器维护,而不是吓跑你。
您对此有什么看法?我们是否应该/是否可以在服务器上拥有更加用户友好的 Linux 环境,这让您很烦恼?
很多事情都是按照 unix 的方式完成的,但也许我们应该在某些方面重新发明轮子,因为显然,今天它是如此……重复,并且很难完成简单的任务。我认为它应该更容易一些。
答案1
我会假设你知道UNIX 哲学以及为什么 UNIX 工具以这种方式构建。
我将针对您的问题回答两个主要观点,这些观点是我从您的帖子中了解到的:“外壳用起来很费力”, 和“有很多配置文件需要调整”
壳
我不认为在 shell 中操作更加重复和手动。事实上,情况恰恰相反。你可以轻松地编写脚本并实现自动化。
此外,现代发行版通过文件名和命令参数的制表符补全功能使手动使用 shell 变得更加容易。这使得导航变得更加容易。svn
例如,在 Ubuntu 中,您可以键入后跟空格并按两次制表符,以获取可用的 svn 命令列表。此外,如果您误用了几乎任何命令,它都会为您提供其使用说明。如果您认为命令行中有您需要的功能,那么它要么已经存在而您不知道,要么有更好的方法。:)
虽然有一定的学习难度,但学习是有回报的当你发现用命令行工具可以做越来越多的事情时通过组合看似不相关的简约工具,您的工作效率在某种程度上会比使用更多集成工具(如 IDE)时更高。
例如,像多平台多架构 C++ 构建这样的操作,需要从一组不同的开发分支中提取子项目,同时使用多个不同的工具链,这在 IDE 中并不容易做到,因为它通常是针对许多常见用例进行定制的。
配置文件
由于 Linux 操作系统中的软件并非由单一供应商制作,其软件包来自各种各样的人,因此 Linux 生态系统非常多样化,每个人都倾向于按照自己的方式处理 API 和配置文件等问题。这就是多样性的代价。
但其实并没有看上去那么难。随着你对它的了解越来越多,你会发现程序和库的组织方式中存在着重复出现的模式(合理的方式只有这么多),所以你可以在几分钟内掌握它们,而不需要阅读大量的文档。
答案2
UNIX 哲学是每个组件应该“做好一件事“这对 UNIX 和 Linux 来说非常好。恕我直言,是的,我们可以让事情变得更加用户友好,但这样做的方法是提供一个单独的 GUI 配置应用程序来读取/写入底层配置文件;而不是通过使低级代码变得更复杂,这会使事情变得更慢,并可能引入错误。
答案3
我只想补充几点我的看法。你可能知道这一点,但其他读者可能不知道。
- 使用 Tab 和 Double-Tab,习惯于使用它,您可能会惊讶于它有多么有用。
- 使用 pushd/popd 交换目录。
- 使用 grep、sed、awk 来读取、解析和编辑文件,尤其是配置文件。如果你使用它们,那就多学点。如果你认为你了解它们,那就多学点 :)
- 使用管道。这很简单,但需要时间来理解这个功能有多强大。