linux中国_ 发布的文章

这两个开源办公套件产品很相似,然而某一个貌似已经开始具有轻微的领先优势……

Apache OpenOfficeLibreOffice都是OpenOffice.org的现代衍生产品。最近几年,几乎所有的Linux发行版都将LibreOffice作为它们的默认办公套件。然而,过去18个月来,OpenOffice作为Apache项目又重新回到了人们的视线,对于这两款全功能办公套件,现在,自由软件用户可以进行二选一咯~

然而即使是用户,在两种几乎一样的选择中做决定也会有困难。三年前,这哥儿俩分了家,三年时间,这对于软件开发来说是很长的一段时间,即使是这样,OpenOffice和LibreOffice之间的不同却刚刚开始显现。除去那些明显已经去掉的过时特性,单说功能集合与基本逻辑,自从OpenOffice.org时代以来,这两者都几乎没有什么大的改变。

纵观整个套件,只有个别应用里能发现一些新功能,主要集中在Writer的文字处理方面。其实,它们两者之间的大部分区别主要存在于更高的层面,例如对格式和字体的支持、对插件扩展的政策等,更多的不同,则体现在是否紧跟时代,以及对标准化接口的努力程度上。

具体各程序间的区别

LibreOffice和OpenOffice之间的程序大部分都是一样的。例如它俩的Draw,看起来完全没有区别;再如Impress,主要的区别就是LibreOffice的最新版支持使用Android设备控制幻灯片放映;除了幻灯片背景以外,两者其他方面没什么不同,都能很好的胜任日常使用,除非有特殊偏好,用户选择哪一款都可以;同样,在Calc电子制表软件中,两者最大的区别就是你可以在LibreOffice里创建数据表单。

即使在用户最常用的Writer程序中,两者的区别也很小。LibreOffice这边,编辑窗口的底部状态栏现在新包含了一个字词计数器,审阅标签也不再局限于某个单个点,现在可以附加在配图上,另外,LibreOffice终于解决了“脚注无法紧靠对应文本显示”的bug,除此以外,LibreOffice还添加了一个简易搜索栏,与web浏览器上的那种类似,同时,去掉了图形水平线的选项,这个功能过去十几年来几乎从没人用过。

格式与字体

一些更明显的区别体现在格式分类与字体支持上。例如,OpenOffice始终支持一些较老的保存格式,像AportisDoc(Palm版)和Pocket Word。另外,它也可以打开.docx格式的文件,但是无法像LibreOffice一样将文档保存为docx格式。

LibreOffice同样在字体支持方面占有优势。它对多语言和高级排版工艺始终有较好的支持,因此最新发布版本能够支持OpenType这样的现代字体首选格式。更重要的,通过“文件->属性->字体”,你能够将字体嵌入到文档中去,无需任何繁琐操作,就能确保字体的兼容性。

这样的特性使得LibreOffice在面对微软Office用户转换格式的时候,得到了决定性的1分。因为通常OpenOffice和LibreOffice都无法很好处理微软格式的文档,特别是那些又有文字表格又有图形对象再加上复杂格式的文档。因此,如果你要共享复杂一些的文档,例如宣传手册,最好使用PDF格式,而不是Open文档格式(ODF)。

然而,如果你确实需要转换一些本地或微软的文档,LibreOffice拥有一些决定性优势。它不仅能读写大多数微软文档,而且它对字体替换处理的很好,而这正是文档格式转换时要面临的一个主要问题。尽管其他问题仍有不少,例如在特性实现上有所不同,但LibreOffice在处理微软Office文档时确实应该是一个更可靠的选择。

对待插件扩展的政策

OpenOffice和LibreOffice两者都能很好的支持插件扩展,想要加强或替换某个特性的时候,用户只需要几分钟就能下载并安装完毕。大多数情况下,同一个扩展,在OpenOffice和LibreOffice上面都能工作的很好。

区别就在于,使用LibreOffice时,你无需亲自安装那些最流行的插件扩展。相反,LibreOffice已经帮你安装整合好了。例如,基本语法校验工具Lightproof、数据库汇总和打印工具ReportBuilder、演示文稿压缩工具PresentationMinimizer、博客用户喜欢的WikiPublisher、还有幻灯片配置工具PresentationConsole等等。

以上这些扩展在OpenOffice下同样可用。与前者不同的是,使用OpenOffice时,你首先需要知道有这些扩展,然后专门去找到它们,这样一来,很大程度上限制了新用户对很多功能的体验。因此,当OpenOffice在最近发布的版本中尝试努力提供更好用的现代模板和剪贴画时,这样的疏漏就成了一个非常严重的不足,特别是当它很容易弥补的时候,(更何况LibreOffice同时也提供了自家最新的模板和剪贴画)。

界面的更新换代

在OpenOffice.org属于Sun和Oracle的12年日子里,它的界面和许多的其它功能一样,几乎被丢在遗忘的角落。如今的结果就是,OpenOffice和LibreOffice作为套件产品,都各自拥有一整套优秀的功能,但是它们的界面却仍停留在上世纪90年代的水平。只有表面上的一些老旧界面被移除,其实大部分仍然亟待更新。

在最新的发布中,OpenOffice试图彻底更新自己的界面的努力主要集中在“边栏”上。这一特性,你可以通过“工具->选项->LibreOffice->高级”打开,它被标记为“试验性”的。

边栏是一组功能集合,主要用于用户手动格式化。这一特性便于用户应用样式,因为如果用户关注在文章逻辑上,很容易忽略编排的样式。然而,最好的是,它大大简化了格式化字符和段落的选项卡,例如所有应用程序中都有的边框选项卡,以及电子表格单元格中的“格式”选项卡。幸运的是,边栏还重新定义了菜单和样式对话框窗口的概念。

LibreOffice还拥有更多的“冒险创新精神”,例如,与边栏类似,Impress中的任务面板,摘要显示了大多数幻灯片设计步骤中要用到的选项卡名称。

在Writer编辑窗口中,LibreOffice的大部分界面已经完成改进,窗口底部的状态栏中,添加了一个字词计数器,原本负责管理和编辑模板的狭窄子菜单,如今也已被高端大气上档次的流线形按钮所取代。

更明显的,LibreOffice中的主文本框架被精减为四个边角的十字准线。同样的,页眉和页脚也默认改为不可见,要想找到它们,四个小直角标明了它们的边界位置,点击就可以出现。

不太成功的一点改进是LibreOffice中管理页眉页脚的编辑窗口中的选项卡。虽然这个选项卡事实上是为了便于手动调整格式,但是让人郁闷的是,当在新一页的第一行输入的时候,已经输入的一部分总是会自动隐藏起来。

尽管LibreOffice还重组了许多对话窗口的选项,但是这些努力远没有结束。有时,开发人员会让LibreOffice变成传统框架与现代极简艺术的混合体,看起来有些不伦不类,但是,至少LibreOffice正在尝试着解决长期搁置的界面问题,而这些,OpenOffice甚至都还没来得及意识到。

做出选择

如果文档不超过2到3页,一般用户可能会时常看看标题栏看自己用的是LibreOffice还是OpenOffice。然而,对于进阶用户而言,LibreOffice目前可能更有优势。优势并不算大,但是很明显。

这一优势的确很难被忽略。原因首先是,在LibreOffice已经确立了好几个月时间优势的情况下,OpenOffice却仍在专注于管理权和代码审计,这些工作也许有帮助,也有必要,但是普通用户更愿意看到他们对代码做出更多的改进工作。

其次,LibreOffice的开发人员大部分是Go-oo的前成员,这是OpenOffice.org的一个非官方分支,以“快速完善”为目标。当Apache OpenOffice项目组还在筹建中的时候,LibreOffice就已经吸引了全世界酷爱编程、热衷变革的天才们。

没有人做过准确的调查,但是我印象中,当OpenOffice.org社区分家的时候,大部分富于冒险创新精神的贡献者都选择了LibreOffice,同时,有一些半独立的文档小组,在谨慎地同时为两个项目工作。

其实,LibreOffice最重要的优势或许可以称之为“吸血许可证”。怎么个意思呢?就是OpenOffice的Apache许可证兼容LibreOffice的Lesser GNU通用公共许可证,但是LibreOffice的Less GNU通用公共许可证却不兼容OpenOffice的Apache许可证。换句话说,LibreOffice可以随意自由地从OpenOffice“借”代码,但是OpenOffice却根本无法从LibreOffice“借”到任何东西。严格地讲,如果想从LibreOffice“借”来某个功能,OpenOffice必须完全从头实现。

这一情况有可能会改变,尤其是当Apache OpenOffice比LibreOffice拥有更高的知名度的时候,然而LibreOffice的支持者们正在迅速扩张,它的社区非常活跃,短短3年间所做的要比OpenOffice.org十二年来做的还要多。

现在,除非你特别需要某个功能,使用OpenOffice还是LibreOffice几乎没有区别。但是,我断定,除非发生某些不可预料的事情,否则LibreOffice的优势将会越来越大。无论你选择支持哪一方,几年内,也许你会对它重新作出评价。


via: http://www.datamation.com/applications/apache-openoffice-vs.-libreoffice-1.html

译者:Mr小眼儿 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

本文来源于一篇stackexchange的问题回答。提问者问到,我们在计算机科学和数学课程里面学习到的那些算法,到底在什么地方用到了?结果Vijay D给出一个洋洋洒洒的深入回答,得到了提问者和众多围观。我们将这篇回答翻译过来以飨读者。

Vijay D写到:

在我看来,一个系统背后主要发挥作用的算法更容易在非算法课程上找到,这和应用数学中的成果比理论数学中更容易出现在应用中是一个道理。在讲座中,很少有实际问题能够精确匹配到一个抽象问题。归根结底,我认为没有理由让流行的算法课程,诸如Strassen乘法,AKS素性测试、或者Moser-Tardos算法与底层实际问题,如实现视频数据库、优化的编译器、操作系统、网络拥堵控制系统或者其他系统相关。这些课程的价值是学习利用错综复杂的方法发现问题的脉络而找出有效的解决方案。高级算法和简单算法的分析都不简单。正是由于这个原因,我不会忽略简单随机算法或者PageRank。

我想你可以选择任何一个大型软件,并在内部找到它所采用的基础和高级的算法。作为一个研究案例,我选择了Linux内核,并会示例一些Chromium里面的例子。

Linux内核中的基本数据结构和算法

Linux内核(源代码的链接在github)。

1.链表双向链表无锁链表

2.B+ 树,这是一些你无法在教科书上找到的说明。

一个相对简单的B+树的实现。我把它作为一个学习练习来帮助理解B+树是如何工作的。这同样也被证明是有用的。

...

一个在教科书中并不常见的技巧。最小的值在右侧而不是在左侧。所有在一个节点里用到的槽都在左侧,所有没有用到的槽包含了空值(NUL)。大多数操作只简单地遍历所有的槽一次并在第一个空值时(NUL)终止。

3.优先排序列表 用于 互斥量驱动等等。

4.红黑树用于调度、虚拟内存管理、追踪文件描述符和目录项等。

5.区间树

6.根树用于内存管理,NFS相关查询和网络相关功能。

根树的一个通用的用处是存储指针到结构页中。

7.优先级堆,如其名称的教科书实现,用于cgroup

《简单的基于CLR的只插入的,含有指针的定长优先级堆》第七章

8.哈希函数,参考了Knuth和一篇论文。

Knuth建议,用乘法哈希的机器字来表示接近黄金比例的素数的最大整数。Chuck Lever验证了该技术的有效性:

http://www.citi.umich.edu/techreports/reports/citi-tr-00-1.pdf

这些素数的选择是位稀疏的,他们可以通过移位和加法操作,而不必使用乘法器,乘法器是很慢的。

9.有的代码,比如这个驱动,实现了他们自己的哈希函数。

使用了一种旋转哈希算法的哈希函数

Knuth, D. 《计算机程序设计艺术, 卷 3: 排序与搜索》, 第6、7章. Addison Wesley, 1973

10.哈希表用于实现inode文件系统完整性检测等等。

11.位数组用于处理标志位、中断等等。并在Knuth那本书的卷4中阐述。

12.信号量自旋锁

13.二分查找用于中断处理,寄存器缓存查询等等。

14.B树的二分查找

15.深度优先搜索被广泛地用于目录配置中

执行一个修改过的命名空间树的深度优先遍历,以指定的start\_handle节点开始(及结束)。回调函数会在任何一个参数匹配的节点被发现时被调用。如果回调函数返回了一个非0值,搜索将会立即终止并且将其返回给调用者。

16.广度优先搜索用于检测运行时锁定的正确性。

17.链表中的归并排序用于垃圾收集文件系统管理等等。

18.冒泡排序在一个驱动库中也有一个令人惊讶的实现。

19.Knuth-Morris-Pratt 字符串匹配,

根据Knuth、Morris和Pratt[1]实现了一个线性时间的字符串匹配算法。他们的算法避免了转换函数的显式地计算DELTA。对于长度为n的文本,其匹配时间是O(n),对于长度为m的模式(pattern),仅使用一个辅助函数PI[1 . .m],预先计算模式的时间为O(m)。数组PI允许转换函数DELTA被实时有效地计算。粗略地说,对于任何状态"q"= 0,1,…、m和在SIGMA中的任何字符"a",PI["q"]的值包含的信息是独立的"a"并需要计算DELTA("q","a") [2]。既然PI只有m个记录,而DELTA有O(m |SIGMA|)个记录,在预处理时间计算PI而不是DELTA的时候,我们可以节省一个因数|SIGMA|

[1] Cormen, Leiserson, Rivest, Stein,算法介绍,第二版,MIT出版社

[2] 见有限自动机原理

20.Boyer-Moore 模式匹配是在找替代品时的参考和建议。

实现了Boyer-Moore字符串匹配算法:

[1] 《一个快速的字符串搜索算法》,R.S. Boyer and Moore.计算机通信协会,20(10), 1977, pp. 762-772. http://www.cs.utexas.edu/users/moore/publications/fstrpos.pdf

[2] 《准确的字符串匹配算法手册》,Thierry Lecroq, 2004 http://www-igm.univ-mlv.fr/~lecroq/string/string.pdf

注:由于Boyer-Moore(BM)从右到左搜索匹配,仍然有可能匹配分布在多个块,在这种情况下该算法并没有优势。

如果你希望确保这样的事情永远不会发生,那使用Knuth-Pratt-Morris(KMP)实现。总之,根据您的设置适当地选择字符串搜索算法。

如果你正在用文本搜索器进行过滤,NIDS或任何类似的注重安全的目的,那么使用KMP。否则,如果你真的关心性能,并且你对数据包进行分类以使用服务质量(QoS)政策,当你不介意匹配可能分布分散,那么用BM。

Chromium 浏览器中的数据结构和算法

Chromium的(源代码在 Google code)。我只会列出一部分。我建议使用搜索来找到你最喜欢的算法或者数据结构。

1.伸展树

这个树通过分配策略(分配器)参数化。这个策略用于C的可用存储区的列表分配,参见zone.h。

2.Voronoi算法用于一个示例。

3.基于Bresenham算法的选项卡

在Chromium的第三方代码里面也有如下的数据结构和算法。

1.二叉树

2.红黑树

Julian Walker的总结

红黑树是一个有趣的小东西。他们被认为比AVL树(它们的直接竞争对手)简单,乍一看这似乎是由于插入是一项轻松的乐事。然而,当你开始删除时,红黑树变得非常棘手。然而,通过复杂性的平衡,插入和删除可以使用单通道,实现自上而下的算法。这与AVL树情况不一样,插入只能自顶向下,删除则需要自下而上。

...

红黑树是很流行的,像大多数数据结构一样有一个古怪的名字。比如,在Java和c++库映射结构通常用红黑树实现。红黑树的速度也与AVL树相当。而AVL树平衡性不是很好,需要保持平衡的话红黑树通常更好。有一些流传的误解,但在大多数情况下对红黑树的宣传是准确的。

3.AVL 树

4.Rabin-Karp字符串匹配用于比较。

5.自动机后缀的计算

6.由Apple公司实现的bloom过滤器

7.Bresenham 算法

编程语言库

我想这个问题值得思考。编程语言设计者们认为值得花一些工程师的时间和精力来实现这些数据结构和算法,这样其他人就不必这么做了。这些库是我们在JAVA里面比C更少的发现需要重新实现基本数据结构的部分原因。

1.C++ STL包含了链表、栈、队列、映射、向量和排序搜索和堆操作算法。

2.Java API易于扩展的并且越来越多。

3.Boost C++ 库包含了像 Boyer-Moore以及Knuth-Morris-Pratt字符串匹配算法。

分配和调度算法

我发现这些很有趣,因为即使他们被称为启发式,您使用的策略规定了算法类型和需要的数据结构,因此,所以需要人们知道栈和队列。

1.最近最少使用(LRU)算法可以用不同的方法实现。Linux内核有一种基于列表的实现

2.其他的还有先入先出(FIFO)、最常使用和轮询。

3.FIFO的一个变种用于VAX/VMS系统。

4.Richard Carr时钟算法用于Linux中的页面替换。

5.Intel i860处理器是一种随机替代策略。

6.自适应置换高速缓存用于一些IBM存储控制器中,也曾经用于PostgreSQL中(虽然仅仅因为一些专利问题)。

7.Knuth在《计算机程序设计艺术 卷1》中讨论过的Buddy内存分配算法内用于Linux内核中,jemalloc并发分配器被用于FreeBSD和facebook中。

*nix系统核心工具

1.grepawk同时从正则表达式中实现NFA的Thompson-McNaughton-Yamada构造,显然这甚至击败了Perl的实现

2.tsort实现了拓扑排序。

3.fgrep实现了Aho-Corasick字符串匹配算法

4.GNU grep,根据作者Mike Haertel实现了Boyer-Mooresuan算法

5.Unix上的crypt(1)实现了一个在Enigma机器上的不同加密算法。

6.Unix diff由Doug McIllroy实现,基于和James Hunt合作编写的原形。它比用于计算Levenshtein距离的标准动态规划算法执行地更好。Linux 版本计算最短编辑距离。

加密算法

这本是一个非常长的列表。加密算法在所有执行安全通信和交易的程序中都有实现。

1.Merkle 树,特别是 Tiger Tree Hash变种,被用于点对点应用,比如GTK GnutellaLimeWire

2.MD5被用于提供软件包的校验和并被用于在*nix系统上的完整性检测(Linux 实现),同样也支持Windows和OSX。

3.OpenSSL实现了很多加密算法包括AES、Blowfish、DES、SHA-1、SHA-2、RSA、DES等等。

编译器

1.LALR 解析在yacc和bison实现。

2.支配算法被用于大多数基于SSA形式的编译器优化。

3.lex和flex将正则表达式编译为NFA。

压缩和图像处理

1.用于GIF图片格式的Lempel-Ziv算法在图像处理程序中实现,从*unix工具转化到复杂的程序。

2.行程长度编码用于产生PCX文件(用于原来的画笔程序),它是被压缩的BMP和TIFF文件。

3.小波压缩是JPEG2000的基础,所以所有生成JPEG2000文件的数码相机会支持这个算法。

4.Reed-Solomon纠错在Linux内核、CD驱动器、条形码读取器、结合从Voyager中的卷积图像传输中实现。

冲突驱动语句学习算法 (CDCL)

自2000年以来,SAT求解器在工业标准的运行时间(通常是硬件工业,虽然其他地方也被使用)以近乎指数的方式每年下跌。这发展中很重要的一部分是冲突驱动语句学习算法,它结合了Davis Logemann和Loveland在约束规划和人工智能研究中关于语句学习的原始论文中的布尔约束传播算法。特定地,工业造型,SAT被认为是一个简单的问题(见这个讨论)。对我而言,这个一个最近最好的成功故事,因为它结合了这几年算法的不断发展、清晰的工程理念、实验性的评估、齐心协力地解决一个问题。Malik 和 Zhang的CACM文章值得阅读。这个算法在许多大学中教授(我参加过的4个地方都是如此),但是通常在一个逻辑或者形式方法课上。

SAT求解器的应用有很多。IBM,Intel和许多其他公司都有他们的SAT求解器实现。OpenSuse的包管理器同样使用了一个SAT求解器。


via: http://cstheory.stackexchange.com/questions/19759/core-algorithms-deployed/19773#19773

译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

一台典型的linux服务器运行命令行环境中,并已经包括了一些用于安装和配置各种没有界面的服务的基本工具。和一些成熟的具有图形界面的桌面软件相比,就安全性、资源消费和速度来说,仅需要少量的设置无疑是一个优点。

如果你习惯了使用基于图形界面的软件环境,你也许会想在Linux服务器中是否也有图形界面。典型的Linux桌面环境如GNOME、KDE等,与它们提供的功能相比,其所占用的系统资源负担是很不值得的,而且还不够安全,因为越多的代码越会带来安全弱点。

另外一个成熟的桌面GUI的可选替代是使用 基于Web的管理工具。现在已经有许多基于Web的配置管理工具,如 WebminISPconfigZentyal等。

在这篇教程中, 我会讲述 怎样利用基于Web的界面工具来管理和配置Linux服务器

Webmin 是一个用Perl语言写的轻量级 (~20 MB) 系统配置工具。 Webmin 具有内置的web服务器, 允许用户通过web接口来配置Linux服务器。 其中一个优点是由于它是基于模块架构的,你可以选择性加载模块来扩展其功能。

Linux服务器上安装Webmin

在 Ubuntu 或 Debian 系统中安装Webmin, 你可以使用如下命令。

$ sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python
$ wget http://prdownloads.sourceforge.net/webadmin/webmin_1.660_all.deb
$ sudo dpkg -i webmin_1.660_all.deb 

在CentOS 或 RHEL 系统中安装Webmin, 使用如下命令:

$ wget http://prdownloads.sourceforge.net/webadmin/webmin_1.660_all.deb
$ sudo rpm -U webmin-1.660-1.noarch.rpm 

使用 Webmin

安装好Webmin之后,你可以通过在浏览器中输入 https://<主机的IP地址>:10000 来使用。 如果你开启了防火墙, 请确保TCP端口 10000 没有被拦截。

同时, 请注意你应该使用 HTTPS, 而不是 HTTP。 否则, 会出现重定向错误。 Webmin 默认使用其自己生成的的SSL验证模式。

一旦你进入了Webmin登录页面, 你可以使用root身份登录 (当然需要输入root账户密码)或者使用具有root权限的任何用户账户登录。 登录成功后, 你可以看到如下Linux服务器的状态信息。

Webmin 的特点

Webmin 一个引以为豪的优点就是它几乎能够配置任何Linux服务器所支持的配置。接下来我来介绍,让你们大体了解它的一些重要功能。

设置引导时自动启动的服务, 同时显示他们相关配置信息。

实时监控服务器状态和其他服务, 同时配置定时监控及邮件提醒。 你也可以监控一系列服务器守护进程如 NFS、MySQL、 BIND DNS、Squid proxy、Apache Web server等, 或者监控系统资源如磁盘存储情况、内存使用和网络占用等。

配置 iptables-based firewall。

配置本地路由表和网关。

挂载和配置文件系统。

通过文件管理接口来查看和修改本地文件,但是这需要浏览器有相关的java插件。

通过改变Webmin的相关配置,你可以控制管理 IP 地址,添加/删除 Webmin 功能模块,开启双因子认证来使用安全登录功能,或者创建证书验证等。


via: http://xmodulo.com/2013/11/manage-linux-server-gui.html

译者:thinkinglk 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Q.1: Linux 操作系统的核心是什么?

  • Shell
  • Kernel
  • Command
  • Script
  • Terminal
: 内核(Kernel)是Linux 操作系统的核心。Shell是一个命令行解释器,命令(Command)是针对计算机的指令,脚本(Script)是存储在文件中的命令的集合,终端(Termial)是命令行接口。

Q.2: Linus Torvalds 都创建过什么东东?

  • Fedora
  • Slackware
  • Debian
  • Gentoo
  • Linux
: Linux Torvalds 创建了Linux,Linux是所有上述操作系统的核心,同样也是其他一些Linux 操作系统的核心。

Q.3: Torvalds,使用C++语言编写了Linux内核的大部分代码,是这样吗?

: 不! Linux内核包含了12,020,528行代码,其中注释占去了2,151,595 行。因此剩下的9,868,933 行就是纯代码了。而其中7,896,318行都是用C语言写的。

剩下的1,972,615行则是使用C++,汇编,Perl, Shell Script, Python, Bash Script, HTML, awk, yacc, lex, sed等。

:代码行数每天都在变动,平均每天超过3,509行代码添加到内核。

Q.4: 起初,Linux 是为 Intel X86 架构编写的,但是后来比其他操作系统移植的硬件平台都多,是这样吗 ?

: 是的,我同意。Linux那时候是为x86机器写的,而且现已移至到所有类型的平台。今天超过90%的超级计算机都在使用Linux。Linux在移动手机和平板电脑领域前景广阔。事实上我们被Linux包围着,远程遥控,太空科学,研究,Web,桌面计算等等,举之不尽。

Q.5: 编辑 Linux 内核合法吗?

: 是的,内核基于GPL发布,任何人都可以基于GPL允许的权限随意编辑内核。Linux内核属于免费开源软件(FOSS)。

Q.6: UNIX和Linux操作系统,本质上的不同在哪里?

: Linux操作系统属于免费开源软件,内核是由 Linus Torvalds 和开源社区共同开发的。当然我们不能说UNIX操作系统和免费开源软件(FOSS)无关,BSD 就是基于 FOSS 范畴的 UNIX 的变种。而且大公司如 Apple,IBM,Oracle,HP等,都在为UNIX内核贡献代码。

Q. 7: 挑出来一个与众不同的来.

  • HP-UX
  • AIX
  • OSX
  • Slackware
  • Solaris
: Slackware。 HP-UX, AIX, OSX, Solaris 分别是由 HP, IBM, APPLE, Oracle 开发的,并且都是UNIX的变种. Slackware 则是一个Linux操作系统.

Q.8: Linux 不会感染病毒吗?

: 当然会! 这个地球上不存在不会感染病毒的操作系统。但是Linux以迄今为止病毒数量少而著称,是的,甚至比UNIX还要少。Linux榜上有名的病毒只有60-100个,而且没有一个病毒在传播蔓延。Unix粗略估计有85-120个。

Q.9: Linux 属于哪种类型的操作系统?

  • 多用户
  • 多任务
  • 多线程
  • 以上所有
  • 以上都不是
: 以上所有。Linux是一个支持多用户,可以同时运行多个进程执行多个任务的操作系统。

Q.10: 一般的 Linux 命令的语法格式是:

  • command [选项] [参数]
  • command 选项 [参数]
  • command [选项] [参数]
  • command 选项 参数
: Linux 命令的正确语法是, Command [选项] [参数]。

Q.11: 挑出来一个与众不同的来.

  • Vi
  • vim
  • cd
  • nano
: cd 与其他命令不同。Vi,vim和 nano都是编辑器,用于编辑文档,而cd是用于切换目录的命令。

就这么多了。上述问题你学到手几个?效果如何?我们期待着你的评论。下周,会有新的问题,让我们拭目以待。保持健康,锁定链接,记得来Tecmint哦。


via: http://www.tecmint.com/basic-linux-interview-questions-and-answers/

译者:l3b2w1 校对:jasminepeng

本文由 LCTT 原创翻译,Linux中国 荣誉推出

当你在控制台模式下,无法通过“鼠标右键 > 关于”获取操作系统的信息。这时,在Linux下,你可以使用uname命令,帮助你完成这些工作。 Uname是unix name的缩写。在控制台中实际使用的时候只需键入uname

当你输入uname不带参数时,它仅仅显示你的操作系统的名字。

# uname

Linux

也许这还不能满足你的需要。所以你需要加上一些参数,来使uname显示你所需要的信息。

以下是uname参数的列表:

1. 内核名称

你可以用-s参数,显示内核名称。(译注:可以在其他的类Unix系统上运行这个命令看看,比如mac就会显示Darwin)

# uname -s

Linux

输出信息会跟uname不带参数时输出的一样。

2. 内核发行版

如果你想知道你正在使用哪个内核发行版(指不同的内核打包版本),就可以用-r参数

# uname -r

2.6.18-371.1.2.el5

3. 内核版本

除一些内核信息外,用-v参数uname也能获取更详细的内核版本信息(译注:不是版本号,是指该内核建立的时间和CPU架构等)。

# uname -v

#1 SMP Tue Oct 22 12:57:43 EDT 2013

4. 节点名

参数 -n 会提供给你节点的主机名。举例来说,如果你的主机名是“dev-machine”,-n参数就会把主机名打印出来。

# uname -n

dev-machine

对于RedHat和CentOS用户来说,你也可以通过/etc/redhat\_release文件来查看:

# cat /etc/redhat_release

CentOS release 5.10 (Final)

如果不是基于RedHat的发行版,你可以查看/etc/issue文件.类似如下:

# cat /etc/issue

Linux Mint Olivia \n \l:

5.硬件名称

如果你想知道用的是哪类机器,你可以尝试-m参数。它将告诉你关于硬件的信息。

# uname -m

i686

i686表明了你用的是32位的操作系统,如果是X86\_64则表明你用的是64位的系统。

6. 硬件平台

与硬件名称类似,-i参数会显示你的硬件平台(译注:硬件名称i686是属于硬件平台i386系列的)。

# uname -i

i386

同样,i386意味这是正在运行一个32位的系统,如果输出的是X86\_64则说明你正在运行一个64位的系统。

7. 处理器类型

你可以用-p参数查看处理器类型。如果uname无法识别,它会显示 ‘unknown’ 作为输出。

# uname -p

i686

8. 操作系统

uname也可以透露你正在运行的操作系统信息,用-o参数可以实现这个目的。

# uname -o

GNU/Linux

9. 所有信息

有一个参数可以展示所有的信息!这就是-a参数,它会显示所有信息。如果-i和-p输出为unknown则默认会被省略。

# uname -a

Linux dev-machine 2.6.18-371.1.2.el5 #1 SMP Tue Oct 22 12:57:43 EDT 2013 i686 i686 i386 GNU/Linux

以上就是关于uname命令的使用。请敬请期待更多的命令!

谢谢阅读!


via: http://linoxide.com/linux-command/uname-command/

译者:Luoxcat 校对:Mr小眼儿

本文由 LCTT 原创翻译,Linux中国 荣誉推出

正如大家所知,Ubuntu 本身自带可以收发邮件的客户端——Thunderbird,当然它也支持Gmail,Yahoo Mail,Microsoft Outlook 等等支持IMAP协议的邮件服务。

Thunderbird 是一个功能强大的邮件客户端,只要email客户端所需要的功能,它都能够做到。但是如果你想选择一个能在够在GNOME 下运行的轻量级客户端,Geary 是一个不错的选择。

Geary 是一个界面简洁,能让你快捷方便的地阅读邮件的免费程序。它所有的对话均展示在一个简洁的面板上,这样你可以不必点击鼠标来切换消息。

Geary 还支持IMAP 协议,所以你可以使用Google, Yahoo 和 Microsoft 这样的在线邮箱服务。

以Ubuntu 13.10用户为例,Geary 可以在Ubuntu 的软件中心获取。只要运行以下命令即可安装Geary 。

sudo apt-get install geary

在以前的Ubuntu 版本中,键盘按下Ctrl – Alt – T 可以打开终端。打开之后,运行以下命令增加PPA源。

sudo add-apt-repository ppa:yorba/ppa

接下来运行以下命令来升级系统和安装Geary 。

sudo apt-get update && sudo apt-get install geary

第一次启动Geary时,你需要设置你的Gmail,Yahoo 或 Microsoft 电子邮件帐户。

设置非常的简单,只要输入你的账号信息,Geary 就会自动配置好你的账号。

若想卸载Geary ,首先要从系统中移除它的PPA源,要运行的命令如下。

sudo add-apt-repository -r ppa:yorba/ppa

然后再运行以下命令卸载Geary 。

sudo apt-get remove geary 

就这么简单~


via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tips-get-geary-a-lightweight-email-reader-in-ubuntu/

译者:NearTan 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出