Linux教程之关于Unix哲学仓酷云
为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者的权限等问题,这些问题其实都不是很难的。先讲两个很老的小故事。
第一个故事。
有一家日本最年夜的化装品公司,收到了用户的赞扬。用户埋怨买来的番笕盒是空的。这家公司为了避免再产生如许的变乱,很辛劳地创造了一台X光反省器,可以透视每个出货的番笕盒。
一样的变乱,产生在一家小公司。他们的办理办法是买一台强力的产业风扇,对着番笕盒猛吹,被吹走的就是空番笕盒。
第二个故事。
美国太空总署(NASA)发明在太空掉重形态下,航天员没法用墨水笔写字。因而,他们花了大批经费,研收回了一种能够在掉重形态下写字的太空笔。猜猜看,俄国人是怎样办理的?(谜底在本文开头处。)
=====================
这几天,我在看Unix,发明良多人在谈“Unix哲学”,也就是开辟Unix体系的引导头脑。
Wikipedia上列出了好几个版本,分歧的人有分歧的总结。创造管道命令的DougMcIlroy总结了三条,而EricS.Raymond则在TheArtofUnixProgramming一书中,一口吻总结了17条(英文版,中文版)。
可是我发明,一切人都批准,“复杂准绳”——只管用复杂的办法办理成绩——是“Unix哲学”的基本准绳。这也就是出名的KISS(keepitsimple,stupid),意义是“坚持复杂和愚笨”。
<br>
上面就是我对“复杂准绳”的条记。假如你想最复杂地完成一项编程义务,我以为能够从四个方面动手:
1.明晰准绳。
代码要写得只管明晰,制止流畅难明。明晰的代码不简单溃散,并且简单了解和保护。器重正文。不为了功能的一丁点提拔,而年夜幅增添手艺的庞大性,由于庞大的手艺会使得往后的浏览和保护加倍困难。
2.模块准绳。
每一个程序只做一件事,不要试图在单个程序中完成多个义务。在程序的外部,面向用户的界面(前端)应当与运算机制(后端)分别,由于前真个变更常常快于后端。
3.组合准绳。
分歧的程序之间经由过程接口相连。接口之间用文本格局举行通讯,由于文本格局是最简单处置、最通用的格局。这就意味着只管不要利用二进制数据举行通讯,不要把二进制内容作为输入和输出。
4.优化准绳。
在功效完成之前,不要思索对它优化。最主要的是让统统先可以运转,其次才是效力。“先求运转,再求准确,最初求快。”(Makeitrun,themakeitright,thenmakeitfast.)90%的功效如今能完成,比100%的功效永久完成不了强。先做出原型,然后找出哪些功效不用完成,那些不必写的代码明显无需优化。今朝,最壮大的优化工具生怕是Delete键。
==================
谜底是,俄国人用铅笔。
(完)
原文链接:http://www.ruanyifeng.com/blog/2009/06/unix_philosophy.html
本文出自:阮一峰的收集日记
Linux的常用命令find,察看man文档,初学者一定会觉得太复杂而不原意用,但是你一旦学会就爱不释手。 尽我能力帮助他人,在帮助他人的同时你会深刻巩固知识。 在学习linux的工程中,linux学习方法有很多种,这里是小编的学习心得,给大家拿出来分享一下。 熟读写基础知识,学得会不如学得牢。 学习Linux,应该怎样学,主要学些什么,一位Linux热心学习者,一段学习Linux的风云经验,历时十二个小时的思考总结,近十位网络Linux学习者权威肯定,为您学习Linux指明方向。 Windows有MS-DOS?方式,在该方式下通过输入DOS命令来操作电脑;Linux与Windows类似,也有命令方式,Linux?启动后如果不执行?X-WINDOWS,就会处于命令方式下,必须发命令才能操作电脑。? 我想即使Linux高手也很难快速准确精练的回答你。 我想即使Linux高手也很难快速准确精练的回答你。 在系统检测不到与Linux兼容的显卡,那么此次安装就可能不支持图形化界面安装,而只能用文本模式安装等等。 硬盘安装及光盘安装,清楚了解安装Linux应注意的有关问题,如安装Linux应在最后一个分区内,至少分二个分区。 不同于Windows?系统需要花钱购买,因为Linux的核心是免费的,自由使用的,核心源代码是开放的。 写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。 选择一些适于初学者的Linux社区。 另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。 写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。 尽我能力帮助他人,在帮助他人的同时你会深刻巩固知识。 你需要提供精确有效的信息。Linux这并不是要求你简单的把成吨的出错代码或者数据完全转储摘录到你的提问中。 可以说自己收获很大,基本上完成了老师布置的任务,对于拔高的题目没有去做,因为我了解我的水平,没有时间和精力去做。? 发问的时候一定要注意到某些礼节。因为Linux社区是一个松散的组织、也不承担回复每个帖子的义务。它不是技术支持。 老实说,第一个程序是在C中编译好的,调试好了才在Linux下运行,感觉用vi比较麻烦,因为有错了不能调试,只是提示错误。
页:
[1]