我用win还用你bb 有些东西需要在Linux处理,你又不给提供 你这是什么服务态度

下丰富的开发环境与工具而不鼡启动到另外的操作系统或者使用虚拟机。这绝对是一个“来自开发者服务开发者”的 Windows 10 特色,它的目的是让开发者们每天的开发工作都變得顺畅而便捷

在本文中,我会展示给你一些我认为非常有趣的功能以及告诉你一些可以让你找到更多信息的资源。首先我会展示 WSL 所集成的那些主要命令(比如 ssh)是如何操作服务器和设备的。其次我会演示使用 Bash 脚本是如何以简明的方式来自动化执行任务的。其三峩会利用极棒的命令行编译器、一些其它工具以及对 *nix 兼容的能力来玩一个轻量级的古典黑客级游戏: NetHack。最后我会展示如何使用已有的 Python 脚夲和其它来自网上的脚本。

你可以用它和 Bash 脚本来创建一个 REST API 的快速测试客户端也可以用来探测一个 Web 页面或服务器并报告其返回的状态。它鼡来从网上下载文件也很棒你可以简单地重定向输出到一个文件而不是在屏幕上显示它:

Linux 的开源工具的地方。我希望以一种最简单、最舒服的方式来完成这些任务在某种意义上,这意味着我们需要在 Bash 中完成它们

我已经一掠而过的介绍了 Bash、Bash 脚本以及你可以在 shell 中完成的任務。到目前为止我谈论的都是有助于开发工作的那些功能。但是在 WSL 中实际的开发和编译工作是怎样的我在 Build Tour 大会上演示了下面这个部分。

这个夏初来自微软的讲演者们向大家演示了一些来自 Windows 和微软云上的很酷的开发者新功能。作为其中的一部分我以一种好玩的方式来演示了 WSL,而且这是一种和开发者们相关的方式

我个人想要展示使用 git 和一些传统的终端开发工具,我已经写好了 Bash 的演示程序包括了这些基础的东西(用 Python 和 Ruby 写的“Hello World”),不过我还是想要更有冲击力一些

我回想起我在大学的时光,那时我们在 Unix(DEC Ultrix 及 SunOS)和 VAX/VMS 之间折腾Unix 几乎全是命囹行环境。在我们学校绝大多数使用图形工作站的用户只是为了在不同的窗口打开多个终端会话而已,当然会在桌面背景放上一张超酷的月相图。大部分学生都是使用 VT-220 终端来打开他们的会话(学校离波士顿不远所以我们有很多 DEC 设备)。

那时计算机系的学生们主要玩兩大游戏:MUD (主要是 lpMUD 和当时刚出的 DikuMUD)和 。NetHack 和其它的  类游戏被视为历史上最有影响力的游戏之一它们是许多现在流行的地牢冒险和角色扮演类游戏的鼻祖。

NetHack 有很长的历史现在的它包含了来自几十年前的几十万行 *nix 代码,以及后来补充的一些代码该游戏使用  (及其替代品)莋为终端交互方式,需要通过 lex、 yacc(或 flex 和 bison)和 cc(或 gcc)以及一堆其它的开发工具构建。

它是由 C 语言编写的并包括了一些用  编写的复杂的脚夲配置功能。我觉得它是一个体现 WSL 和 Bash on Windows 10 的开发者能力的不错而有趣的方式由于使用了 curses(在 Linux 和 WSL 中是 libncurses 库),它也可以用来展示 Windows 10 中命令行窗口中嘚终端模拟能力

以前,在我们的分时 Ultrix 服务器上从源代码构建 NetHack 要花费掉我们很多时间而现在我的个人计算机上只需要几分钟就可以搞定。我喜欢这种技术进步在 Linux 或 WSL 上配置和编译 NetHack 有容易和复杂两种方式。为了节省时间我们会以容易的方式来进行。

首先更新你的 WSL 环境,確保你的软件是最新的在安装新的软件包之前,这是一个好的做法

然后,安装必须的开发工具最简单的办法就是使用 build-essential 软件包,它包括了 Linux 开发者构建以 C/C++ 开发的软件时所需的绝大部分程序

这要花几分钟。如果你想更加深入地了解你可以分别安装 gcc、gdb、make、flex、bison 以及 NetHack 文档中提箌的其它工具。不过如果你是一位开发者有时候你可能还需要一些其它工具。 build-essential 基本上提供了你所需的工具集

然后,安装 git如你所想,佷容易:

就像在 Linux 中一样你可以添加一个 git 的 PPA 来获取较新的版本,不过这里我们有一个就行了

最后,我们需要安装 curses(实际上是 ncurses)来进行终端屏幕交互

当我们完成这些步骤之后,就可以开始构建 NetHack 了

官方的 NetHack 仓库放在  上,首先我们需要把它抓取下来放到我们的主目录里面

注:如果 ASCII 字符图形不是你的菜,但是你喜欢这种类型的游戏你可以在微软商店搜索“roguelike”来找到视觉上更好看的这种游戏。

当然NetHack 很古老了,可能只有特定年龄段的人们喜欢它不过,构建它用到了大量重要的开发工具和 *nix 操作系统功能也包括终端模拟功能。从这里可以看到从 gcc、gdb、make、bison 和 flex 到更现代一些的 git,都在 WSL 里面工作的很好

如果你想看看 Build Tour 大会上的演示,你可以在 Build Tour 加拿大大会上看到这个讲演WSL 的这部分演示茬 6:20 开始。

希望你能喜欢在 NetHack 地下城中的探险

C 和 C++ 都很伟大,就像其他的那些经典的开发工具一样你甚至还可以用普通的 Bash 脚本做到很多。不過也有很多开发者喜欢用 Python 做为他们的脚本语言。

你可以在网上找到很多 Python 脚本的例子这意味着 Python 越来越流行,也越来越有用了当然,大哆数情况下这些例子都是运行在 Linux 下的在过去,这就需要我们有另外一台安装着 Linux 的机器来运行它们或者使用虚拟机和多引导,否则就需偠修改一些东西才能让他们运行在 Windows 下的 Python 环境中

这是都不是无法解决的问题,但是它会日渐消磨开发人员每天的生活通过 WSL,不用折腾你僦拥有了一个兼容的、具有 Python 功能和 shell 变量的子系统

现在 Python 安装好了,我要展示给你如何从网上获取一个典型的 Linux 下的 Python 例子并让它直接工作起来我去 找一个排名第一的 Python 例子。好吧我走眼了,排名第一的是打印出整数名称的脚本这看起来没啥意思,所以我选择了第二名:俄罗斯方块我们每天都能看到 Python 出现在各种地方,所以这次让我们去玩另外一个游戏

我打开了 nano 编辑器,从 Windows 上的浏览器中打开的页面上复制了這 275 行 Python 代码然后粘贴到我的 WSL 终端窗口终端中的 nano 中,并保存为 tetris.py 然后执行它: 

它马上就清屏并出现了俄罗斯方块的游戏。同 NetHack 一样你可以使鼡同样的 vi 标准的方向键来移动(以前是使用鼠标和 WSAD 键来移动,而右手使用 HJKL 键更方便) 

如我所提到的,你当然可以不用 WSL 就在 Windows 中运行 Python然而,要想快速简便不用修改 Linux 下的 Python 代码,只需要简单的复制粘贴代码即可运行则可以极大的提高开发者的效率。

这是真的这并不是要替玳 Windows 原生的工具,比如 Python、PowerShell、C# 等等而是当你需要在现代的开发工作流程中快速而有效地完成一些事情时,可以避免种种折腾

包括 Bash、Python 以及其咜所有的 Linux 原生的命令行开发工具,WSL 为我的开发工作提供了所有需要的工具这不是一个 Linux 服务器,甚至也不是一个完整的客户端相反,它僦是一个可以让我避免每天折腾让我在 Windows 上开发更有效率、更有快感的一个东西!


重置你的 WSL 环境

随便去试吧,如果你搞坏了你的 WSL 环境它佷容易重新安装。在进行之前请确保做好了任何重要内容的备份。

我们希望 WSL 特别是 Bash 可以在 Windows 10 中帮你带来更高的效率,减少每天的开发中嘚折腾

开发团队做了大量的工作希望让 WSL 成为一个为开发者提供的强大的终端工具。如果你有任何反馈或运行出现问题我们推荐你查看┅下 ,以及 我们真的希望听到你的声音。

Linux shell 编程是一个庞大的话题在网上有很多这方面的内容。如果你还不够熟悉它们想要了解更多,可以看看各种 Bash 教程。

还有一些其他的参考资料也许对你有用:

哦当然,要更多的了解 NetHack请访问 。

转载过程中可能出现格式问题請作者谅解。

本文是一位清华退学学生所写!他的名字叫王垠,人很出名不信GOOGLE一下就知道!


我已经半年没有使用 Windows 的方式工作了。Linux 高效的完成叻我所有的工作GNU/Linux 不是每个人都想用的。如果你只需要处理一般的事务打游戏,那么你不需要了解下面这些了我不是一个狂热的自由軟件份子,虽然我很喜欢自由软件这篇文章也不是用来推行自由软件运动的,虽然我觉得自由软件运动是非常好的

这篇文章也不是用來比较 Linux 和 Windows 内核效率,文件系统网络服务的。我现在是作为一个用户而不是一个开发者来说话的我们的讨论是基于操作,应用层面的昰为了告诉大学里还不了解,或者不理解 UNIX 的科学工作者和大学生UNIX 比 Windows 更适合用于科学研究工作,请大家理解 UNIX 的工作方式不要用 Windows 的标准来偠求 Linux,而要用一个科学工作者的标准来要求自己用
UNIX 的思想来武装自己。

我显然是反对在大学特别是理工科专业推广 Windows 的。我也反对在对“娃娃”们的计算机启蒙教育中使用 Windows因为 Windows 不论从技术上,经济上思想风格上都是与我们培养高科技人才的目标格格不入的。Windows 的流行属於历史遗留问题爷爷一级的人当然已经不可救药,但是我们不应该让下一代继续走上歧途

UNIX 不是计算机专家的专利当我建议一些非计算機专业的人用 Linux 的时候,很多人说:“UNIX 是计算机系的人用的我们不能理解。” “UNIX 是男孩用的我们女孩不用。”但是其实世界上的大多数科学家和工程师几乎用的都是 UNIX 作为他们的电脑工具就因为它简单,可靠稳定,强大有趣。甚至很多时候 UNIX 就是唯一的选择你说:“峩们都会用 UNIX 的话,你们计算机专业的人还用来干什么” 很容幸的告诉你,计算机专业的有一部分人就是专门为你们提供这样强大而方便嘚计算机工具的如果他们制造的工具只有自己会用的话,那这个工具还有什么用理解 GNU/Linux 不要用 Windows 的标准来要求 Linux。由于GNU/Linux这个词太长下面如果没有特别指明,“Linux”就是指“GNU/Linux”在这个年代,恐怕没有人需要我来介绍 Linux 是什么了吧如果你觉得“Linux 只不过是跟 DOS 差不多的东西”,那请問问你旁边的 Linux 用户Linux 到底是什么?那为什么我还要写一篇这样的文章因为,我发现还有很多人不不理解 Linux 和UNIX虽然他们也在用它,但是他們有时会问:“为什么 Linux 不能像 Windows 那样 ……”,“怎么Redhat Linux不能 mount NTFS 分区!”“Linux 下用什么整理硬盘?”“什么时候OpenOffice才能完全兼容Word文件啊?”“現在还有什么Windows能干的事情Linux干不了的?”……他们有40G的硬盘却只为 Linux 分配了2G空间,有时还抱怨“这个东西怎么占这么多硬盘!” 似乎 Windows 该占用夶部分硬盘他们把重要的数据装在Windows的分区,似乎信不过Linux他们总是到处寻找新奇的,好看的GUI程序对命令行的东西一概不屑一顾。他们對Drag&Drop菜单配置,自动升级非常感兴趣他们如果找到一个很像 Windows 程序的 Linux 程序,一定会很高兴的说:“哈哈!Linux 也能……了!”如果Linux在某种测试Φ胜过Windows他们会高兴得跳起来。他们没有办法用Linux解决问题的时候甚至用Wine来运行Windows程序。有时实在没办法只好重起到Windows,或者干脆省得麻烦在 Windows 下装一个 VMWare 虚拟一个 Linux 玩。你如果出现了上面的情况说明你的思想受到了 Windows 的某种潜移默化的影响和误导。你没有能够从本质上理解存在於 Linux 身上的 UNIX 思想你支持 Linux,你喜欢 Linux你能从中感觉到快乐,这非常好你现在只需要明白的是:Linux 从来就不是一个玩具,它是天才UNIX的后代UNIX 是洎晶体管发明以来最伟大的发明,它从诞生那一天开始就比 Windows 的设计出色

你要体会什么叫做“设计”,一个糟糕的设计并不是到后来缝缝補补就可以变好的而一个出色的设计,不但可以以不变应万变而且可以影响到后来者。一个出色的设计配上一个出色的实现那就是非常出色的发明。Linux 就是这样的一个出色的发明Linux 并不需要追赶 Windows,也不需要打垮微软它的最终目标是改变整个计算机世界,还人们自由給人们乐趣和方便。

Unix 是简单的你不需要成为一个天才也能理解这种简单。

UNIX的设计者 Dennis Ritchie 说:“Unix is 就是世界潮流”“微软的毕竟是新技术”,“有钱就是有技术”…… 甚至在一番论战比较后败下来还是要说:“Windows 性能差点但是易用性强”,“Windows 是老百姓用的要求别那么高”,“微软那么有钱以后想超过 UNIX 还不容易吗?”……

我前段时间在 USENET 发文问有关 Scheme 语言的问题时认识了一位丹麦人。他解决了我所有的问题并苴建议我阅读一些很“深奥”的有关程序语言语法,文法的书他告诉我很多网站可以学习 LISP,Scheme人工智能,算法他叫我看 JonathanRees 的论文 /"Syntactic Closures/"。他还咑包给我寄过来一份 MIT 的 /"How toDesign Programs/"他说他在自己的 PC 机上装的是 Linux,他用 Emacs 编辑运行Scheme 程序。他对 Emacs 的了解和爱好真是使人惊讶他大学本科毕业时做的毕業设计是一个 Scheme 解释器。这对于我来说是望尘末及了他是那么的不厌其烦,我的每一个问题他都详细的回答我有时都觉得过于详细了,怎么这么耐心啊我觉得他似乎是我的高中老师。他是什么样的人呢我好奇的打听了他的情况。原来他是丹麦一所普通高中的计算机咾师。他说他在高中里讲授程序设计和算法计算机语言文法。他说用 Scheme他的学生不用再为内存泄漏等程序语言本身的问题而烦恼,而专紸于问题和算法本身有利于培养学生解决问题的能力,特别是用计算机解决数学问题的能力天哪!为什么欧洲出现那么多数学家,几哬学家你看看别人重视的是什么!我们的计算机教育如果继续这样下去,只会沿着弯路越走越远!

微软和它的朋友们的如意算盘

下面来看看微软的收入是怎么来的首先,Windows 98系列操作系统一个就是 100多美元,每次升级又是几乎同样的价钱Windows NT 还要贵几倍,而且有用户数目限制5个用户的,10个用户的…… 以后如果要增加用户数目还要按比例付钱花了如此多钱买来的操作系统就能用了吗?它竟然连压缩程序都没囿提供!你装上Windows 之后一般第一件事就是去下载一个 WinZip 吧“只要 OfficeXP 吧,一起买便宜些$ 吧,要不然怎么编译程序$ 技术。非要把别人认为自己昰科学的自己是领导世界高科技的。但是呢它什么高科技也没有。欧洲美国,哪一个关键部门在用微软的东西NASA? DOE? CERN?


你仔细想一想,微軟的程序对人类到底有什么重大作用


“Windows 能干而 Linux 干不了的事情,那就是不需要干的事情”

有个朋友看我半年没有用 Windows,有时就会问我:“伱只用 Linux有没有发现有些Windows 能处理的事情 Linux 干不了?”---
我回答说:“Windows 能干而 Linux 干不了的事情那就是不需要干的事情。”

Windows 下的某些功能确实是我們需要的那么 Linux 的开发者们和用户也需要这种功能,他们就会去实现这种功能而且比 Windows 的方式好得多。由于大多数科学家工程师用的都昰 Linux 或者某种商业 UNIX, 所以几乎所有商业的科学工程程序,比如Matlab, Mathematica, AutoCAD, Candence的Synopsys的,Avant! 的……全都是先有UNIX 的版本(包括Linux)然后再考虑移植给 Windows,甚至根本不移植给 Windows因为 Windows 的机器一般没有足够的能力运行这样的程序。你不要以为只有 Windows才有 PSpice, UNIX 的 HSpice 要好得多而且可以运行在大型主机上。当然它们不是免
费的但是它们值那个价钱。

但是 Windows 下有些东西在 Linux 下没有很相似的或者你找到很多类似的,但是它们每一个比起 Windows 的那个程序都要差很多那么原因有两种可能性:

有一个完全类似的程序,但是由于它乍一看不漂亮被你忽略了。而其它程序虽然看起来很漂亮但是它们是一些初學编程的人写的。现在由于 Gtk, Qt 的诞生Linux 下开发图形界面程序极其简单,很多初中生甚至小学生都可以随手编出一些漂亮不中用的程序如果伱整天寻找这样的程序挑来挑去,永远也找不到你满意的当然也有一流的程序用 Gtk 和 Qt,比如 GVIM 就可以用 Gtk 作为图形界面我还知道 Synopsys 一些程序用叻 Qt。我曾经也犯过这样的错误从外表区分一切。结果优秀的 FVWM, lftp, Mutt, wget 都被我忽略过当我找回它们的时候,我是那么的羞愧不已它们现在都是峩的朋友 我第一次看到 FVWM 觉得它只不过是一个有很厚很难看边框的东西。可是现在我的同学看到 FVWM 都说:“哇!真漂亮。”有另一种完全不哃的方式可以达到相同的目的甚至更好。很多人很关心 Open Office, Star Office, AbiWord, ... 他们多么盼望有一天某一个Linux 程序能够完全兼容的打开一个复杂的 doc 文档但是你永遠也不可能有那一天。为什么呢因为微软为了占有市场,必定不会让其它系统的程序能够完全兼容它的文档格式它一定会不断变化 doc 文檔的内部结构,隐藏一些秘密让其它公司的程序打开 doc 文档时总是有某种问题,从而你必需购买 Microsoft Office 和 Windows你应该想一下,那么多的高智商的大學教授科学家,学生他们用的都是 Linux 或者其它类型的 UNIX,他们没有 Word 可用怎么处理文档呢?这么多年没有一个像Open Office 的程序出现难道大家没囿办法写文档吗?显然不是这样你看看那些高水平的学术杂志,论文那些大学教授的网页,那些漂亮的幻灯片它们是什么做的?原來 UNIX 用户早就有非常方便的 troff, LaTeX, SGML等东西可以处理文档而且它们比起 Word 都要高明的多。Word 显然被这些大拿忽略了以至于很久以来没有人想在 Linux 下开发┅个类似 Word 的程序,除非某些公司

很多人留着 Windows 在硬盘上的原因无非是为了用 Word 和 PowerPoint我见过一个教授,他的 Windows 笔记本电脑上除了 PowerPoint 什么都没有有一忝演示的时候,他指着堆乱字符说:“对不起这是一个公式……怎么每次都是这样……” 其实有比PowerPoint 好几百倍的东西可以制造幻灯片,你鈳以用最简单的方法制造世界一流效果的论文和幻灯片你待会儿可以看看我的TeX网页,你就会知道为什么我可以完全离开 Windows

……并不是说電脑游戏不该玩,但是应该适可而止电脑是用来处理事务,帮助你学习解决问题的工具,而不是一个玩具!整天沉迷于电脑游戏中洏不出去感觉外面的世界,你会变得越来越冷酷越来越缺乏人情味。你与真实的世界越来越远

你可以在 CS 里杀人,你可以在 Tomb Raider 里探险你甚至可以在 Tony Hawk’s ProSkaters 里滑板…… 但是 It’s not real!你虽然有很高的“反恐技巧”,但是遇到歹徒的时候你是那么的怯懦;你虽然控制 Laura 伸手敏捷,但是你咑篮球的时候怎么总是被人断球你虽然可以轻易的在 THPS 里作出一个 /"360 kickflip to 游戏精彩,每一个都有如此高的3D性能以至于

Linux 的用户们都是关心解决世堺的关键问题的份子,他们哪里有时间用自己的机器来玩游戏啊他们每天用Linux高效的做完自己的工作就到阳光下享受自然去了。要玩游戏吔是玩一些类似推箱子贪吃蛇之类的智力小游戏。所以你知道为什么 Linux 几乎没有游戏了吧?

“整理硬盘优化系统”

这是一个非常有意思的话题,仅次于有关“病毒”的话题相信很多 Windows 用户都有整理硬盘的经历。在很多 Windows 用户眼里“硬盘用久了,会出现碎片速度会减慢,需要一个程序来整理整理硬盘的时候不要做其它工作”,这好像是天经地义的事情我也曾经津津有味的看着 Norton Defrag 一点一点的把我的硬盘排序,调整用图形的方式显示出来,然后报告:“100% 没有碎片你的硬盘现在已经达到最佳状态。”我现在才发觉我那时是多么的幼稚

Linux 囷 UNIX 用户似乎从来没有“整理硬盘”这种说法呢?你觉得很奇怪吗如果你觉得很奇怪,那说明你的思想在某种程度上被微软的垃圾程序禁錮了你需要明白,UNIX 的大型主机很多必须是一天24小时一年365又1/4天不停运转的,要是每个星期都要整理一次硬盘在整理的时候几乎不能干任何事情,那是绝对行不通的!Linux 机器根本不用整理硬盘这就是为什么没有看到过 Linux 用户整理硬盘。Linux的文件系统是比 Windows 的 FAT, FAT32, NTFS 高明得多的文件系统它们不但可以对文件设置权限,实施完全的保护而且可以“越用越整齐”,“越用碎片越少”!你应该把文件大部分放在 Linux 的分区而鈈是 Windows 分区,因为它比 Windows分区可靠得多还有更滑稽的事情就是有很多“Norton System Doctor”,“Windows 优化大师”“超级兔仔注册表魔法” 之类的程序存在,而且價格昂贵似乎一个操作系统本来应该有很多问题,需要别的厂商做程序来“优化”它而且为了得到优化,你需要付钱!这些问题 Linux 根本僦没有所以不需要什么优化。Linux 内核本身就是高度优化的

有些人在抱怨为什么 Linux 没有一个良好的 IDE 开发环境。Linux 现在已经有一些IDE 了但是总是囿很多问题。你是不是正在寻找正在期望 Linux 某一天可以有一个VC那样的开发环境?你有没有发现你正在进入微软给你设下的怪圈你为什么┅定要用 IDE?你说:“IDE 开发迅速调试方便,适合大型程序……” 那说明微软的程序在你脑子里已经比较根深蒂固你需要好好清醒一下了,看看我来告诉你高明的 UNIX 程序员不用 IDE,IDE 从来就是给初级 Windows 程序员用的你看看大型的 UNIX 程序,包括 Linux 内核各种网络服务程序,Xwindow 程序在内哪┅个是 IDE 搞出来的?我们实验室的 EDA 程序也没有一个是 IDE 弄的我还知道Candence, Synopsys,Mentor 的高性能的图形界面 EDA 程序也都不是 IDE 写的你信不信,微软的人在写 Windows 本身的时候也根本不用 IDE微软内部程序员最喜欢的编辑器其实是 VIM,用 VIM 的微软程序员上次向乌干达的可怜儿童捐助了1000多美元这是值得称赞的。

有一次某杂志采访一些出名的 Linux 内核程序员包括 Linus 在内,没有一个人用IDE有的人用 VIM,有的用 Emacs只有 Linus 说“GNU Emacs is evil”,但是其实他用的是一种跟 Emacs 有同樣键绑定功能的 MicroEmacs大家都是用编辑器编辑了程序文件,然后用 make 这样的自动工具调用 gcc 编译器完成编译工作的甚至高级的 Windows 程序员也不用 IDE,他們可以从命令行调用 clnmake 来编译自己的程序。虽然这样的 Windows 程序员很少但是他们却是最了解 Windows,最高明的

为什么 UNIX 程序员不用 IDE明白了这个道理伱就能体会到 UNIX 的设计思想了。首先一个 IDE 集成了编辑器,编译器汇编器,调试器跟踪器…… 这个编辑器功能肯定比不上 VIM 或 Emacs,编译器比鈈上 GCC汇编器比不上 as,调试器比不上 gdb,ddd, 跟踪器比不上 strace, ltrace, truss你得到的是一套整合的低能的程序。如果你对调试器的功能不满意你只好换用另外┅套 IDE,但是这套 IDE 的热键菜单,编辑器功能按钮…… 跟原来那个有很大不同。你不得不花很多时间来熟悉新的环境而不能保持原来的某些东西。而在 UNIX 下就不一样了你可以用你最喜欢的 VIM 编辑程序,你在 VIM 里可以调用GNU makemake 可以调用 gcc, ld, ... make 的出错信息可以被 VIM 捕获,VIM 能帮你在源程序里定位你如果喜欢 icc, 你可以让 make 用 icc 而不是 gcc。你如果觉得 gdb 跟踪变量时比较麻烦你可以用 ddd 来显示各种数据结构之间的关系。你还可以在 Emacs 里调用 gdb那樣就可以同步显示源代码了。而且 VIM 和 Emacs 还可以编辑很多其它东西比如信件,LaTeX 文档HTML,配置文件…… 你不用另外找一个什么编辑器来干这些雜活了很多程序比如 Mutt, tin 都可以在内部使用 VIM,这样就更方便了实际上 make 在其它方面还能帮你很多忙,我的每一个比较大型的 LaTeX

文档都是用 make 维护嘚

当然有很多事情是Linux/UNIX的专利了。因为 Windows 只能装在 PC 机上好像以前也有 Alpha 可以使用 Windows NT,但是就是没见到有人用PC 机的能力是很低的,像我们编程序处理 NP-Hard 问题的人用 Windows 的机器显然速度不够,而且有时一个问题算上几天甚至几个星期Windows 机器是以“死机”著称的,我们怎么能放心所以幾乎所有科学计算程序,EDA 程序高性能图像处理程序都不是 Windows 的。他们有时也会移植一些给 Windows但是常常降低那些程序的能力。你比较过 Windows版本嘚 Mathematica 和 Linux 的有什么区别吗IBM 制造的最大的并行计算机有 8000 多个处理器,Windows 不可能有能力管理这么多

处理器它用的是什么操作系统?答案是 Linux《泰坦尼克号》电影里的三维动画,那么细腻逼真Windows机器能做出来吗?不行

那也是 Linux 机器做的。

民航总局用来训练地情人员的虚拟现实训练设備Windows 当然无能为力。那都是商业的 IRIX 机器

UNIX 是最早支持 TCP/IP 网络协议的系统。它上面有很多可以互相协作的网络服务程序它们经过多年的使用囷修订,已经达到比较完善的程度而就在1997年,微软的比尔盖茨还在扬言:“Internet 是没有前途的” 微软的这个“远见卓识”大家应该都已见識,它后来加上的网络服务程序IIS漏洞之多让公安部都频频发出警报,大家也是见识

其实你知道了Windows 没有一样有用的事情能比 UNIX 干的更好。

當然 Linux 不是万能的它也有不能干的事情,电脑也有干不了的事情但是 Linux干不了的事情,Windows 肯定也干不了这些事情就是我们需要探索,需要努力的事情了在你探索的过程中,Linux 必定是你的好伙伴

不要把Linux和Xwindow掩盖起来!不要把我们的用户当成傻瓜。

什么你早就知道 Windows 是垃圾?噢!你怎么不早说呢!害我废话这么多嘿嘿。

“好了你知道 Windows 是垃圾,你现在用什么”

“那我问你,Xwindow 是什么样的”

“不就是跟 Windows 差不多嗎?只不过 ’Start’ 按钮比较方而且上面不是一个
Windows 标志,而是一个脚丫子点击一下居然还有很漂亮的中文菜单。我喜欢!”

“你知道什么昰‘根窗口’吗”

“不知道。从来没听说过呢”

“根窗口就是遮盖整个屏幕的那个最大的窗口。”

“哪儿有什么窗口啊!我没有看到呢”

你发现了问题吗?这些 Linux 用户说是在用 Linux 和 Xwindow但是他们对 Linux和 Xwindow 几乎完全不了解。很多人用了那么久 Xwindow 都不知道根窗口是什么东西不知道其實按钮也是窗口,不知道窗口管理器和其它程序有什么关系大家都以为窗口上面的按钮是程序自己放上去的,不知道窗口的“class name”“resourcename”昰什么东西。他们也不知道 .Xdefaults 是用来干什么的特别是他们很多人都不知道 Xwindow 的字体是如何命名的,什么是 fontset有了一个新的字体也不知道怎么咹装。

他们被遮在 Linux 之上的一层一层的包装迷惑了他们等待有图形界面的工具来帮助完成一切事情,他们认为 Linux 跟 Windows 一样只是麻烦一点。他們知道 Linux内核很好但是他们感觉不到 Linux 和 Xwindow 在操作层面的天生的先进性,随后不久就把 Linux 完全删除掉了你发现没有,要用户理解 UNIX 和 Xwindow 的操作层面嘚先进性才是留住用户的最好办法。如果用户体会不到操作时的方便和高效内核再好他们也不会理会。但是用摹仿 Windows 的作法来吸引用户永远会失败的。因为 Linux 如果摹仿 Windows那一套低效率的方式那么 Linux 的这套“低效率方式”永远比不上 Windows 的那一套“低效率方式”。那么用户就会说:“这个 Linux没有一样比的上 Windows。”

Linux 天生就是继承了 UNIX 的高效的工作方式为什么我们要把它掩盖起来?我们为什么只告诉用户 KDE 的菜单怎么用峩们为什么不能像早期的 Xwindow 书籍那样第一节就告诉用户什么是 X server, 什么是 X client,什么是 Window Manager, 什么是根窗口第二章就告诉用户窗口有哪些属性,什么是 classname, resource name, hint怎样使用 .Xdefaults, xrdb ……在这里我又不得不说一下那些 Linux 的发行公司和写书的人,他们把 Linux 和 Xwindow包装起来却没有从基本上告诉用户 Xwindow 的工作原理。很多书籍講授的层次就是在Gnome, KDE 的菜单操作的层次靠大量抓图来占篇幅,“繁荣”Linux 书籍市场现在很多人已经把能够利用别人的库写出一个好看的程序作为自己编程水平的象征。在这个“图形化”“可视化” 的年代,你如果还在用 troff, LaTeX 写文档你还在用VIM 自己编辑 HTML,用 Mutt 处理邮件你还在用攵本模式的 gdb 调试程序,你还在用Xlib 写程序, 你还在用 tin 上 USENET你还在自己写 Makefile,写机器代码你还在玩 Clossal Cave 这样的字符模式冒险游戏,那你就是老古董其实这种思想是错误的。虽然你是一个坚决的 Linux 支持者但是你的思想是 Windows的思想。你认为图形界面菜单,按钮就可以解决一切问题就可鉯给你高效方便。你还是没能摆脱微软给你的潜移默化的东西你其实离不开 Windows 那样的环境,你迟早会

GUI …… 什么都在不断变化不断出问题,又不断的在修改…… Windows 程序员不得不买又厚又重的 MicrosoftPress 的书籍看了才一个月,又过时了今天你才学会了写 VxD,明天你就必须用WDM 了你不得不紸册 MSDN 才能赶上 Microsoft 的步伐。很多人说:“计算机是贵族的专业” 这就是微软一手造成的。

这些东西才是没完没了的浪费大家的时间和金钱的这是是浪费生命!我们为什么不使用从诞生就那么一致和完美的 UNIX?你需要理解先进工具的设计理念UNIX 的工具就像我们用的汽车,它的离匼器油门,刹车方向盘,后视镜永远都在同样的位置。用惯了的话你对你的汽车的每一个部件都会了如指掌,甚至你自己都可以修车了这难道不好吗?

有人说:“你说我们需要了解 UNIX难道你要开车还必须了解汽车的结构吗?” 你去问问开车的司机哪一个不了解汽车的结构的,那他的驾照就是混来的你难道想要傻瓜型的“微软牌汽车”吗?我们来看看:

你买的微软牌汽车最开头只有一个座位烸加一个座位你得向汽车公司付钱。车上的防撞气囊不时会冒出来说是为了你的安全。每开100英里要大修一次每过一年要换一次引擎。附带的你还必须换用由微软汽车公司指定的石油公司提供的新型号的机油。你的车出了问题但是法律规定,你不准私自拆开你的汽车來修理你必需到微软汽车公司指定的维修点去,需要付相当多的钱才能修好一个小毛病最可气的是,你每换一个型号的微软牌汽车咜的刹车和离合器都在不同的位置,你需要重新去考驾驶执照如果这辆汽车在途中刹车失灵,你受了重伤你也不能状告微软汽车公司,因为你买来汽车之后必须签一个合同说“由于微软牌汽车对你和家

人造成的一切死伤,微软概不负责”

说了这么多 Windows 的不好。我还没囿告诉你我怎么用 Linux 处理有些必要的事情半年以前我由于中文老是配置不好,一直是双系统不时需要重起到 Win2k 来处理汉字。后来我找到了 miniChinput, XSIM 囷 SCIM 输入法这下可以处理汉字了。而且 VIM 和Emacs 对汉字支持越来越好我的大部分文本是用 VIM 编辑的,包括程序信件,网页LaTeX 论文,MetaPost 绘图语言峩不用 Word 这样的程序写论文,而是用 LaTeX因为这是世界上效果最好,最方便的论文工具是大多数学术杂志要求的格式。幻灯都是用 ConTeXt 做的用起来很简单,而且效果非常漂亮你可以看看我的TeX介绍。至于绘图你可以用很多可视化的工具,比如 xfigdia。但是对于我来说任何可视化嘚工具都不能完成某些任务,我需要一种可以精确描述图形的语言我找到了MetaPost。它简单又好用而且效果是世界一流的。我的插图如果鈈是图像,都是MetaPost 画出来的

我曾经抱怨 mozilla-mail 经常突然消失,损坏我好几封快要完成的信件后来我发现mozilla 的邮件处理程序确实是不稳定的,功能叒弱有经验的 UNIX 用户都不用这样的程序。Mutt 是一个非常稳定可靠的 UNIX 邮件处理程序而且功能非常强大。我曾经为 Gnome 和 KDE 的不稳定而烦恼现在我找到了非常强大的 FVWM。KDEGnome也能和 FVWM 一起工作。虽然 Gnome 和 KDE 总体不稳定但是某些部件程序还不错,很多 gtk, Qt 的程序也很不错它们很多都是可以独立于這些桌面环境运行的。

Linux 有很多强大方便的工作方式是 Windows 没有的或者有类似的东西,但是很

我写这么多的目的是什么我希望喜欢 Linux 的朋友,唍全清除微软和 Windows 灌输在你脑子里的谬论别再相信它们所谓的“新技术”,别再追赶 Windows因为追赶Windows = 倒退。马克思有一个思想很重要“新苼事物并不一定是在最近出现的。”UNIXXwindow, TeX 虽然都比 Windows 先出现,但是它们才是先进生产力的代表我们要清楚的认识到什么才是真正的现代化,什么才是真正的自动化消除学计算机很难的幻觉,勇敢的拿起像 bash, FVWM, TeX, VIM, Emacs, Mutt ……这样强大的程序勇敢的面对符号。不要再埋怨“Linux 为什么不能像 Windows 那樣”不要再浪费时间试用这样那样的程序,不要再忙着升级你需要理解 UNIX 的工作方

式,因为那是大多数科学家的工作方式Linux 可以成为你嘚好朋友,你需要认识它了解它,信任它才能完全的靠它来高效的工作。当然在游戏机,手机掌上电脑里,或者在用电脑来娱乐嘚时候用一些“傻瓜软件”还是不错的.我希望小学,中学的计算机老师能够提高自己的素质在孩子们的启蒙教育中充分利用Linux 神秘的特點,引起孩子们对数学对符号的好奇心。诱导他们用计算机来解决世界上的有趣问题而不要把教学的范围局限于计算机的操作和它自身的问题。

附录: 我用来处理日常事务的 Linux 程序
好了好了我知道你发现自己应该转向 Linux,你很后悔当初为什么中了微软的邪但是不要着急。洇为这些东西本来只是工具它们是用完成你的主要任务的辅助而已。你以前选错了工具这不要紧。你还是拥有你自己原来的专业技能那才是最重要的。工具的东西只有慢慢适应转换不能一蹴而就,否则你会感到非常没意思甚至放弃。如果你只想做一个像我这样的普通用户主要目的是用 Linux 来完成自己的任务,那就可以不用系统管理员或者网络管理员的标准来要求自己因为当一个系统和网络管理员確实很辛苦。这里我对实验室的网管同学鞠一躬谢谢你的指点和帮助. 不用把你的机器当成网络服务器,不用开放没有必要的服务设置恏 ssh, ftp 已经足够了。这样会省去了解很多没必要了解的东西的时间不用过度考虑“安全”,因为 Linux 缺省已经很安全了不过你有兴趣了解更多那也无妨。下面给出一些推荐使用的可以处理一般事情的程序至于你的专业上要用到的科学和工程软件比如 Matlab, Mathematica, Maple, HSpice, Design Compiler, …… 还有其它物理上的,化學上的生物上的 …… 都必然有 Linux 和 UNIX 的版本。当然他们很多不是免费的不要总是觉得什么都应该免费,自由不等于免费它们是经过很多囚辛勤劳动的产物,是可靠的程序它们物有所值。下面列出我常用的一些 Linux 程序一个列表里可能有很多,那是为了方便你来选择我列絀了比较信得过的。但其实很多只有第一个是我真正在用的我不喜欢试用程序。我不是一个合格的网络管理员我的服务器都只设置了峩自己需要的功能,那样可以省去我很多麻烦

绘图工具:MetaPost这个语言太强了,以至于我只用它了你不熟悉的话可以用xfig,dia 来画一些流程图之類的图片。
图像格式display 可以显示图片和简单编辑(缩放,换质量转格式,简单绘图简单虑镜)。通常我就这么点需要如果你要更强大的圖像工具可以用 Gimp, 它几乎和Photoshop差不多。
自动管理工具:make我可以用make来自动编译程序,自动编译文档自动更新插图……全自动,而且不会重复勞动
数值计算程序:SciLab。这个程序基本上可以代替 Matlab
代数计算程序:MAXIMA。这个程序基于世界上最老的计算机代数系统之一: 由美国能源部(DOE)发行嘚 MIT Macsyma 系统它是用 Common Lisp 实现的。很多现在的符号计算程序比如 Maple 都从 MAXIMA 身上学到很多东西它现在经过 DOE 批准以GPL发行,永远是一个自由软件
加密程序:GnuPG。我的 PGP 密钥就是它搞出来的
虚拟光驱程序。Linux 不需要虚拟光驱程序直接 mount 就行了。
ftp 客户程序:lftpncftp。它们都是文本方式操作的但是比起圖形界面的方便的多。比如 lftp 几乎具有 bash 的所有方便功能Tab 补全,bookmark, queue, 后台下载镜像…… Linux 也有图形界面的 ftp 客户程序,但是大多不稳定有很多问題。这就是很多人抱怨 Linux 不如 Windows 的一个小原因还有很多人用 Wine 模拟

这是一个创建于 1755 天前的主题其Φ的信息可能已经有所发展或是发生改变。

方法2和卖家商量换有冲的

Linux插上就能用,你的键盘什么型号

我在 Ubuntu 下怎么可以用啊……

你用dmsg看┅下,有没有关于键盘的信息输出

查了一下,果然是无冲的

买前功课没做够哦……这种无冲键盘就是给win党玩游(zhuang)戏(bi)的…

呃...还不知道雷柏也出机械键盘...

这种东西,还是一次到位比较好...也差不了多少钱

大部分键盘都是3个系统兼容的吧

哎 一开始没打算买机械键盘 就想买个普通键盘 然后淘宝逛逛 看着这个还挺便宜的 就像买来体验体验 谁晓得。。

看来买之前得做好功课呀

99-2004年一直在用机械键盘后来就换成薄膜键盘了, 感觉还是薄膜的舒服声音还小!

貌似无冲的只能在 Win 下正常工作.

雷柏的机械键盘不要买啊不要买

我要回帖

更多关于 win10如何变得更流畅 的文章

 

随机推荐