上次介绍了Linus Torvalds, 这次介绍他开发的「内核」. 经常听人提到「Linux kernel」,但如果被问到「kernel究竟是什么?」的话,会出乎意料的觉得难以回答. 那么,kernel到底是什么呢?「kernel」翻译过来就是「核心」的意思,简单来说,「Linux的核心程序就是Linux kernel」. 其实严格来说,「Linux」就是指「Linux kernel」.(最近,「Linux发行版」简称为「Linux」的情况越来越多) 将Linux kernel解释成「系统核心…
「Linux」本来指的仅仅是内核.5年之前大多都是这么认为的,但是最近不这么说了. 最近一般都说「Linux」是个 OS,这里的OS,不仅仅是内核,而是指电脑的整体环境(除了内核,还包括一些外围的软件). 内核本来是作为硬件和各种应用软件之间的桥梁而存在的,只有内核的PC是无法使用的. 因此,会将各式各样的软件和内核组合在一起,作为一个可以运行的OS来打包,打包后的OS就被称为「Linux发行版」. 最近,把「Linux发行版」称为「Linux」的情况也比较多了. 但是,「Linux内核」只有一…
偶尔在网上看到的这篇文章,总结了linux中一些天天在说的概念.可能是因为天天说的关系, 一直以为自己知道这些概念.其实对有些概念也只是似是而非的了解而已. 为此,决定将所有的小知识点全翻译下来,给自己看也是给大家参考. 原文是日文的(http://www.lpi.or.jp/lpic/examination/knowledge.shtml),翻译水平有限,难免有些错误,欢迎大家指出. 全部知识点一共 54 个,今天开始争取每天翻译一个知识点. 1. 「i386」是什么? 2. 「Linux」怎…
这次说说「cron」. 「cron」就是「定期自动执行任务的工具」(相当于windows中的计划任务).读做「库隆」.使用「cron」,可以预先指定任务在某个时间执行. 时间的指定并不只是「一小时一次」这种简单的指定方法,还可以指定只有某天的某时才执行任务,或者指定8点-22点每小时执行一次等等. 还可以指定到具体的时间(可以具体到分钟).使用起来有些规则,但不是很难. 「cron」被称为运用Linux所不可缺少的工具.可用来定期的管理获取日志的软件,定期的检查系统状态. 甚至可用来监视进程或者…
主要讨论日语中的读法,所以没有完全按照原文来翻译. 「linux」的读法有很多(这里指在日语中),代表性的读法有以下几种: A). 李纳苦思 B). 李奴苦思 C). 纳依纳苦思 A和B相同的是将 linux开头的「li」发音成「李」.这也是linux之父Linus Torvalds的名字的日语假名(「リーナス・トーバルズ」)的由来. linux中「nu」的发音是怎么样的呢?Linux Online的网页上有说明,而且视频中还有 Linus Torvalds 的发音. http://www.li…
这次聊聊「GCC」. GCC是「GNU Compiler Collection」的简称,由C.C++.FORTRAN.Java等语言的编译器以及这些语言的库所组成. GCC不仅包含编译器本身,还包含了编译所必要的库,所以可以编译多种语言所写的代码. GCC是免费软件,几乎所有Linux发行版中都包含它,所有使用Linux的时候可以很方便的使用GCC. 甚至可以这么说「提到Linux就不能不提GCC」. 使用GCC最重要的目的之一,就是「构建Linux内核」. 编译Linux内核源码的时候,是用G…
这次说说「Shell 脚本」. 根据上回的介绍,Shell就是「作为联系Linux和用户的接口而存在的软件」.在Linux环境中,通过Shell来操作系统很普遍. 这里,考虑到有时候可能想要「多次的进行反复的类似操作」,比如定时的系统监视等等. 在这种场合下,需要在Shell中多次的输入同样的命令.非常浪费时间. 上述的场合,可以事前将一系列的操作(准备执行的命令等等)以程序的形式记录在文件中,同时让这个文件可执行.这个文件就是「Shell Script」. 「Script」就是「脚本」的意思.…
这次说说关于Shell的东西. 「Shell」是看不见实体的,所以理解起来可能会有些困难. 最近的Linux发行版默认都是用X Window System来操作的(也就是图形化操作),所以很少见到有人会多余的去问「Shell是什么?」 UNIX系的OS的Shell是指「连结OS内核和用户的命令行接口」,命令行接口就是不使用鼠标,通过键盘输入字母文字等来和系统进行交互的接口. 即,Shell就是内核和用户之间通过文字交互的程序. X Window System启动后,同时按下 Ctrl+Alt+F…
这次聊聊桌面环境. 上次聊了 X Window System 相关的内容,虽然令人意外,但X Window System 和桌面环境不是一回事.请大家稍微考虑一下. X Window System 是指提供GUI环境的软件或者协议.与之相对,「桌面环境」是指工具栏,图标,窗口管理器,桌面管理器等等各式各样软件组合起来的GUI软件包. 换句话说,就是「使用桌面所必需的软件的集合」. 有名的桌面环境有「GNOME」和「KDE」.最近,很多Linux的发行版并不关心使用的桌面环境是「GNOME」还是「…
X Window System是给Unix系的OS提供的一套窗口管理软件或者说是组件.X Window System已经成为了在Linux上使用GUI环境的不可或缺的东西了. X Window System诞生于马萨诸塞州(美国州名)工科大学的研究组,现在主要由  X.Org Foundation 这个组织来负责开发.目前的版本是「X11」(version 11). 上面所说的内容可能很多人都知道,但 X Window System 的架构「采用了服务端·客户端模式」这点就不那么广为人知了.正因…
上次,从「计算机的内部构造」的角度解释了架构这个术语.这次,介绍下架构中经常提到的「i386架构」及之后的「i486」,「i586」. 安装Linux的时候,很多人即使不了解但也会经常听到i386架构这个词.因此,会误认为「自己的PC的架构是i386架构的」.现在用i386的人是非常少的. i386的 i 就是「Intel」的首字母.i386是1985年发布的架构,那么如今还在用i386电脑的人... ...将近20年没有换过电脑了.(这篇文章应该是作者2005年左右写的) 实际上i386的CP…
作为新年的第一次,这次想简单介绍下Linus这个人.(这篇文章是作者新年初写的,所以有这么句话) Linux之父,同时也是现在linux内核开发最终决定的人物就是「Linus Torvalds」.「Linux」这个名字也是从「Linus」的名字中来的. Linus Torvalds,1969年12月出生于芬兰的程序员.他在赫尔辛基大学读书时,开发了Linux系统的最初版本. 当时,Linus感到有必要开发一个能在当时PC中处于主流地位的Intel i386电脑上运行的兼容UNIX的OS. 说是开…
上次说了端口号相关的内容,这次聊聊「端口限制」的事. 经常看到关于安全的书籍上会说「不要开放多余的端口」,那么,如何限制端口才好呢? 实际,端口限制的方法大体上分的话有2种. 其一,「通过应用程序来处理」.试着一下考虑「打开端口」本来是怎么一回事.比如,启动Apache之类的Web服务程序的时候,(如果没有特别的设置)会打开Well known ports中的80号端口, 然后通过80号端口开始等待通信. 所以,如果关闭了服务端应用程序的话,端口也会自动被关闭.「不要开放多余的端口」也就是「不要…
实际上,「别名」被用在多种场合下.比如「命令的别名」,「邮件地址的别名」等等. 所以,单独说「别名」的时候,根据不用的场合,代表的意思也不一样. 一般来说,「别名」是指意思差不多的东西. 「别名」的英文是「alias」,日语就是「别名」. 说「邮件地址的别名」的时候,也可以看出别名的含义. 比如将「foo@example.com」设为「bar@example.com」,以「bar@example.com」为接收方的邮件就会发给「foo@example.com」. Linux中经常使用的除了邮件地…
这次聊聊「单CD Linux」. 所谓「单CD Linux」,就是不用安装,从CD-ROM启动后就可以使用的Linux. 有名的KNOPPIX就是「单CD Linux」,此外还有Puppy Linux.最近,Fedora和Gentoo也以「Live CD版」或者「Live DVD版」的方式发布了不用安装也能使用的Linux了. 那么,「单CD Linux」或者「Live CD」的方式有什么优势呢? 优势之一,因为不用安装,直接从CD-ROM启动后就能使用,所以最适合评价一个Linux发行版.即,…
这次,聊聊关于「命令行提示符」的相关内容. bash之类的Shell程序是操作Linux所不可缺少的东西.其中bash的提示符也有承担了很重要的作用. 「命令行提示符」的英文是「command prompt」,其中「prompt」有促使,推动的意思,根据这个意思,Shell中的「命令行提示符」就有促使,推动用户输入的意思. (下面的说明以bash为例,bash是Shell程序的一种) 目前的Linux发行版中,提示符一般都像下面这样: [user@host001 /etc]$ 上面这个提示符中包…
安装Linux的时候,需要对硬盘进行分区.那么「分区」到底是什么呢? 「分区」在日语中有区分,分割的意思.计算机术语中有时会说「对一个磁盘进行分区」,整个意思就是指定如何分割磁盘的意思. 「对磁盘进行分区」中的「分区」,现在多是用来表示磁盘分割后的一个一个独立的空间. 把磁盘分区之后,1个物理磁盘可以当成多个磁盘那样来使用了. Windows在安装的时候经常不对磁盘进行分区,而linux安装时几乎都会对磁盘进行分区.那么,分区的目的是什么呢? 对磁盘进行分区的目的有很多.最容易理解的就是,假如一…
现在的Linux,主流的文件系统是 「ext3」.但是,文件系统除此之外,还有「ReiserFS」「XFS」「ZFS」等等. 此外,Windows的主流文件系统是「NTFS」,CD-ROM的主流文件系统是「ISO9660」. 而且,Linux的文件系统「ext3」的下一代「ext4」也正在开发中.(内核版本 >= 2.6.19 就可以使用「ext4」) 「ext3」或者「XFS」这些文件系统中,采用了一种被称为「日志」的系统.(ext3之前的ext2文件系统没有采用「日志」这种系统) 这个所谓的…
最近比较流行的Linux发行版,得是连新闻都报道的,刚刚发布新版的「CentOS」了. 「CentOS」一般被称为Red Hat EnterpriseLinux的克隆版本,这是什么意思呢? Linux发行版中的大部分都是由开源软件所构成的.安装盘中虽然只包含了所有编译好的二进制软件包,但一般都会以其他方式提供使用的软件包的源代码. 所谓「克隆」,就是指利用这些软件包的源代码,重新编译来构成一个新的发行版. 当然,虽说完全相同,但是如果存在商标权和固有著作权的问题时,会把这些部分的标记,数据都替换…
经常有人会问「Linux和Unix有什么区别?」,「Linux就是Unix吗?」. 回答一般都是「Linux是仿照Unix而开发的OS」,「Linux和Unix相似但不是一种OS」之类的. 关于「Linux和Unix」,这其中还有些故事. 首先,「Unix」是1970年左右由美国AT&T公司的贝尔实验室开发,并将开发推进下去而形成的OS. 现在,「Unix」这个商标由The Open Group所拥有,因此可以说「Linux不是Unix」. 另一方面,还有一个「Linux不是Unix」的理由.1…
包括OS,所有的软件都有版本号信息.一般来说,版本号的增大表示软件的功能增强了或者修正了一些Bug,也就是表示软件更新了. 版本号的命名方式没有统一的标准.每种软件都不一样. 大部分情况下,版本号以「X.Y」或者「X.Y.Z」的方式命名,软件有大幅的功能增强时,增加「X」的数值,只有微小的改变时,增加「Y」或者「Z」的数值. 因此,「X」被称为「主版本号」,「Y」或者「Z」被称为「次版本号」. 但是,版本号有时还有其他的含义.比如Linux内核的版本号,现在是以「X.Y.Z」的方式命名的,200…
据说,「Linux」系统上的病毒要远远少于Windows系统上病毒.从2种系统的普及度来看,这是很显然的, 「Linux」的使用人群很少,所以「Linux」上的病毒的扩散时,受害的范围也不大. 但是,认为「Linux上不存在病毒」,「Linux不需要病毒防范策略」等等都是不对的. Linux感染病毒的情况也是有的,不仅如此,在Linux服务器上情况更为显著,比如一个windows平台的病毒混入了Linux服务器中, 其他连接此Linux服务器的Windows系统也有可能会感染这个病毒的. 使用L…
这次说说Linux的吉祥物 *企鹅* 都知道Linux的吉祥物是企鹅,但是这个企鹅叫什么名字呢? 它的名字就是「Tux」,注意可不是「Tax」(税收). 具体参考 wiki:中文解释  英文的解释更为详细一些:英文解释 Linux内核发展到 v2 的时候,举行了logo的设计比赛,最终这个企鹅logo被选中了. 其他候补的logo作品参见: Linux logo候补 (其中很多logo都有 「linux 2.0」 的字样) Tux在Linux内核启动时会显示,前提是Linux内核能够支持你的画面…
Linux刚开始是作为可运行在 Intel 的 「i386」CPU上,与POSIX兼容的内核来开发的. 而现在主流的Linux是指能在所谓「PC」上运行的内核.「PC」是指采用「IA(intel架构)」的机器. IA(Intel Architecture)虽然「I」是指Intel,但Linux并不是只能运行在Intel生产的CPU上.比如另一个非常大CPU生产商AMD所生产的兼容IA的CPU, 还有其他很多以省电为目的的兼容IA的CPU,这些CPU都可以被称作「IA」. 因此,Linux也就有可…
i386是指 *CPU* 的种类,也可以指 *CPU* 的架构(architecture). 现在的 CPU 一般都用 「Core 2 Duo」或者「Athlon」,「Xeon」,「Opteron」之类的比较酷的名称来称呼. Linux诞生的时候,CPU作为一个重要的组件,一般用型号来称呼它. i386的 i 代表 Intel. Intel公司最先生产的,从4004开始的CPU系列中,386(80386)是第一个32位的CPU. Linux刚开始就是作为386架构上兼容POSIX的内核来开发的.…
这次,聊聊补丁. 当有bug或者安全漏洞的时候,就会发布补丁.打上补丁之后,就能解决相应的bug或者安全漏洞. 那么,「补丁」到底是什么呢? 「补丁」只有少量的代码,一般都是对程序的一部分进行更新或者追加,包括bug修正,安全漏洞修正,功能追加或者变更等等.当然,只有「补丁」是无法运行的. 即,只有将「补丁」附加到原来的程序中,更新原来的程序后,才能运行. 「补丁(patch)」本来是指「打补丁用的小布头」.「patch」正是为了补足现有的程序,堵住程序漏洞的「布头」. 打「补丁」的时候需要用到…
最近术语「RAID」变得比较有名.「RAID」是指将多个HDD组合起来使用,从而提高存储可靠性的一种技术. 那么,关于 RAID 中的 「RAID 0」「RAID 1」「RAID 5」等各种「RAID」都有了解吗? RAID中最容易理解的应该是「RAID 1」(镜像)吧.所谓镜像(「RAID」),就是将同样的内容写入多台设备中,即使一台设备故障了,但只要还有一台设备是好的,就不用担心数据丢失. RAID 从「RAID 0」开始,到「RAID 6」为止,总共分为7类. 除了之前说的「RAID 1」…
这次聊聊「日志」. 「日志」主要指系统或者软件留下的「记录」.出自表示「航海日志」的「logbook」. 经常听说「出现问题的时候,或者程序没有安装自己预期的来运行的时候,请看看日志!」. 确实,记录了系统和软件详细运行情况的「日志」是信息的宝库,通过日志来解决问题的事例也非常多. 但事实上,「无论如何也不会看日志」的用户也有很多.理由很简单,日志的信息量非常大,全部用眼睛来看的话是非常吃力的. 而且,英语写的日志也会让英文不好的人敬而远之. 虽说「要养成用眼睛来看日志的习惯」,但实行起来却非常…
这次聊聊「RFC」. 有很多人经常听说「RFC」的吧,上次介绍的NTP是由「RFC1305规定的」,HTTP是由「RFC2616规定的」. RFC是「Request For Comments」的简称,由 Internet Engineering Task Force 公开的,以指定互联网技术标准「为目标」的文档. 可以这么说,互联网技术中的大部分都是依据它来实现的. 但是,上面的「为目标」用括号括起来是有原因的.实际上互联网技术每天都在变化,想要标准化是非常困难的. 即使规定了「这个是标准」,根…
这周解释下「UTC 和 JST」. 地球上的国家之间是存在时差的.然而互联网是遍布全球的网络,跨国境的数据传输是很频繁的.因此,互联网上的服务器就需要一个共通的时间. 实际上,互联网上的服务器,大部分都是使用「协调世界时(UTC:Universal Time Coordinated)」.可能在学校的地理课上学过,英国使用的GMT因为和UTC是一致的而闻名.严格来说,GMT和UTC是不一样的. UTC是以铯原子的振动时间为基准,GMT是从1958年1月1日0时0分0秒开始计算的时间. 但是,地球的…