unixLinux应用编程与系统管理(unixlinux编程实践教程pdf)
《PythonUNIX和Linux系统管理指南》pdf下载在线阅读全文,求百度网盘云资源
《Python UNIX和Linux系统管理指南》(基弗特 (Gift, Noab))电子书网盘下载免费在线阅读
链接:
提取码: j868
书名:Python UNIX和Linux系统管理指南
作者:基弗特 (Gift, Noab)
译者:杨明华
豆瓣评分:7.5
出版社:机械工业出版社
出版年份:2009-9
页数:417
内容简介:
《Python UNIX和Linux系统管理指南》介绍了Python语言如何为管理uNIx和Linux服务器提供各种更加有效的任务处理方式。书中各章都提出了具体的管理问题,如并发或数据备份,然后通过Python示例提供了解决方案。通过《Python UNIX和Linux系统管理指南》,读者可以学习如何用Python开发自己的一套命令行工具来解决诸多问题。
作者建立了一个免费下载的Ubuntu虚拟机,其中包含《Python UNIX和Linux系统管理指南》的源代码和运行实例,也包括SNMP、IPython、SQLAlchemy及其他工具。通过《Python UNIX和Linux系统管理指南》,你可以发现Python在如下几个方面的作用:
读取文本文件并提取信息。
使用多线程和fork选项。
使用网络设备从一个进程获取另一个进程的信息。
创建可点击的、易于交互的GUl工具。
通过交互式SNMP编程实现监控大型主机集群。
掌握IPython shell,作为Bash、Korn或Z—Shell的替换或补充。
将云计算整合到基础设施中,编写Google App引擎的应用程序。
通过定制脚本解决独特数据备份的难题。
使用Djan90、SQLAlchemy和Storm ORM与数据库进行交互。
通过《Python UNIX和Linux系统管理指南》及其补充的虚拟机,你可以了解如何打包并部署Python应用程序和库,以及编写代码在类似的多个UNIXfH Linux平台上运行。
LINUX 与 UNIX 系统的区别是什么
UNIX是一个功能强大、性能全面的多用户、多任务操作系统,可以应用从巨型计算机到普通PC机等多种不同的平台上,是应用面最广、影响力最大的操作系统。
Linux是一种外观和性能与UNIX相同或更好的操作系统,但,Linux不源于任何版本的UNIX的源代码,并不是UNIX,而是一个类似于UNIX的产品。Linux产品成功的模仿了UNIX系统和功能,具体讲Linux是一套兼容于System V以及BSD UNIX的操作系统,对于System V来说,目前把软件程序源代码拿到Linux底下重新编译之后就可以运行,而对于BSD UNIX来说它的可执行文件可以直接在Linux环境下运行。
一般来说,Linux是一套遵从POSIX(可移植操作系统环境)规范的一个操作系统,它能够在普通PC计算机上实现全部的UNIX特性,具有多任务、多用户的能力。Linux受到广大计算机爱好者的喜爱的另一个主要原因是,它具有UNIX的全部功能,任何使用UNIX操作系统或想要学习UNIX操作系统的人都可以从Linux中获益。
在网络管理能力和安全方面,使用过Linux的人都承认Linux与UNIX很相似。UNIX系统一直被用做高端应用或服务器系统,因此拥有一套完善的网络管理机制和规则, Linux沿用了这些出色的规则,使网络的可配置能力很强,为系统管理提供了极大的灵活性。
学习linux的哪一部分。系统管理?编程? 内核?我是小白,想为找工作添点筹码。
别看鸟哥的书,很一般,特厚,唠唠叨叨的
建议你学习 系统管理和shell编程 熟悉 linux环境
然后 学习 linux应用程序设计,看APUE是必须的,这本书好在提供了unix-like系统调用 和C标准库的一些知识,而且适度的涉及了unix内核机制。
然后 建议你看linux内核,内核是最固定死板的东西,也是需要记忆最少的东西。但是,内核需要水到渠成,者有就比较简单了。
最后看ldd,因为之前,你所接触的计算机是一个通过不同层次的软件封装而虚构的简单好用的计算机,如果说理解操作系统内核只需要明白硬件的功能特向,则设备驱动既要设计硬件的细节。此外,硬件驱动程序的设计也反应了以个操作系统的设计理念。所以,这个放在最后面看。x是最受欢迎的自由电脑操作系统内核。它是一个用C语言和汇编语言写成,符
什么 是 UNIX系统和LINUX 系统
Linux与Windows XX的总体比较
Linux何以备受青睐,致使除微软以外,国际上有名的硬、软件厂商都毫无例外地与之结盟、捆绑。甚至连世界IT的龙头老大“蓝后巨人”IBM也要“全面拥抱Linux”呢?
首先,Linux作为自由软件有两个特点:一是它免费提供源码,二是爱好者可以按照自己的需要自由修改、复制和发布程序的源码,并公布在Internet上。这就吸引了世界各地的操作系统高手为Linux编写各种各样的驱动程序和应用软件,使得Linux成为一种不仅只是一个内核,而且包括系统管理工具、完整的开发环境和开发工具、应用软件在内,用户很容易获得的操作系统。
由于可以得到Linux的源码,所以操作系统的内部逻辑可见,这样就可以准确地查明故障原因,及时采取相应对策。在必要的情况下,用户可以及时地为Linux打 “补丁”(这正是笔者前面文章中讨论的集市模式开发软件最本质的内容),这是其它操作系统所没有的优势。同时,这也使得用户容易根据操作系统的特点构建安全保障系统,不会由于不了解不公开源码的 “黑盒子”式的系统预留的什么 “后门”而受到意外的打击。
第二,究其根本,Linux是一个UNIX系统变种,因此也就具有了Unix系统的一系列优良特性,Unix上的应用可以很方便地移植到Linux平台上,这使得Unix用户很容易掌握Linux。下面简要地描述UNIX亦即Linux的一系列特色。
2.1 UNIX/Linux的主要特色
早期UNIX的主要特色是结构简炼、便于移植和功能相对强大,经过30来年的发展和进化,形成了一些极为重要并稳定的特色,其中主要包括:
1. 技术成熟,可靠性高
经过30来年开放式道路的发展,UNIX的一些基本技术已变得十分成熟,有的已成为各类操作系统的常用技术。实践表明,UNIX是能达到大型主机(mainframe)可靠性要求的少数操作系统之一。目前许多UNIX大型主机和服务器在国外的大型企业中每天24小时,每年365天不间断地运行。例如,不少大企业或政府部门,即所谓肩负关键使命的场合/部门将其整个企业/部门信息系统建立并运行在以UNIX为主服务器的Client/Server结构上。但到目前为止,世界上还没有一家大型企业将其重要的信息系统完全建立在NT上。
2. 极强的可伸缩性
UNIX系统是世界上唯一能在笔记本电脑、PC、工作站,直至巨型机上运行的操作系统,而且能在所有主要CPU芯片搭建的体系结构上运行(包括Intel/AMD及HP-PA、MIPS、PowerPC、UltraSPARC、ALPHA等RISC芯片)。至今为止,世界上没有第二个操作系统能达到这一点。此外,由于UNIX系统能很好地支持SMP、MPP和Cluster等技术,使其可伸缩性又有了很大的增强。目前,商品化UNIX系统能支持的SMP,CPU数已达到几百甚至更多个,MPP系统中的节点甚至已超过1024个UNIX支持的异种平台Cluster技术也已投入使用。UNIX的伸缩性远远超过了NT操作系统目前所能达到的水平
3. 网络功能强
网络功能是UNIX系统的一又一重要特色,作为Internet网技术和异种机连接重要手段的TCP/IP协议就是在UNIX上开发和发展起来的。TCP/IP是所有UNIX系统不可分割的组成部分。因此,UNIX服务器在Internet服务器中占80%以上,占绝对优势。此外,UNIX还支持所有常用的网络通信协议,包括NFS、DCE、IPX/SPX、SLIP、PPP等,使得UNIX系统能方便地与已有的主机系统,以及各种广域网和局域网相连接,这也是UNIX具有出色的互操作性(Interoperability)的根本原因。
4. 强大的数据库支持能力
由于UNIX具有强大的支持数据库的能力和良好的开发环境,因此多年来,所有主要数据库厂商,包括Oracle、Informix、Sybase、Progress等,都把UNIX作为主要的数据库开发和运行平台,并创造出一个又一个性价比的新记录。UNIX服务器正在成为大型企业数据中心替代大型主机的主要平台。
5. 开发功能强
UNIX系统从一开始就为软件开发人员提供了丰富的开发工具。成为工程工作站的首选和主要的操作系统和开发环境。可以说,工程工作站的出现和成长与UNIX是分不开的。至今为止,UNIX工作站仍是软件开发厂商和工程研究设计部门的主要工作平台。有重大意义的软件新技术的出现几乎都在UNIX上,如TCP/IP、WWW、OODBMS等。
6. 开放性好
开放性是UNIX最重要的本质特性。开放系统概念的形成与UNIX是密不可分的。UNIX是开放系统的先驱和代表。由于开放系统深入人心,几乎所厂商都宣称自己的产品是开放系统,确实每一种系统都能满足某种开放的特性,如可移植性、可兼容性、可伸缩性、互操作性等。但所有这些系统与开放系统的本质特征—不受某些厂商的垄断和控制相去甚远,只有UNIX完全符合这一条件。
7. 标准化
过去,Unix界被分析家和用户批判,因为没有为所有Unix操作系统提供统一的标准。其实,到目前为止,国际标准化组织(ISO)、工业团体恰恰是以UNIX基础制订了一系列标准化,如ISO/IEC的POSIX标准、IEEE POSIX标准、X/Open组织的XPG3/4工业标准以及后来的Spec 1170(因为它包含了1170个应用编程接口,后来改名为UNIX’95)标准。不少人对标准及标准化组织的作用及职权产生了误解。事实上,当标准化组织企图驾驭互相竞争的力量,和企图为用户规定他们的要求时是注定要失败的。比方说,标准只能用于给出道路的规则,而不应用于制造汽车。如果厂家被强迫完全遵从单一的标准,而不允许他们产品有特色,则用户将受害,Unix将变成象任何单一厂家的产品一样,没有任何特色。
Unix标准组织的真实目标是为用户和厂家定义一种规定Unix形态的基础。标准将保证Unix系统是可操作的,并且其应用是便于移植的。但它们也允许相互竞争的开放开发环境能创新和具有技术特色。
当然,由于UNIX是有版权的,而且其源头有多家,许多厂家自行开发,并强调特色而导致UNIX版本的不统一(相比之下,Linux的核心是统一的,各发行厂家只是在外部作了不同程度的开发,但又都要遵循POSIX等标准,所以不会存在UNIX那种四分五裂的表象)。即便如此,Unix系统已经提供了比任何其他操作系统更多的可互操作性。公共的联网和系统管理协议允许用户方便地混用和匹配多种Unix系统。从一种Unix向另一种Unix移植应用只需几天时间,而在完全不同的操作系统间移植或重写代码需要几个月甚至几年时间。
而且Unix工业界还在快速地向前发展,使得互操作性和可移植性更为方便。由独立的X/Open组织管理的Unix’95为操作系统厂家和应用开发商规定了商品Unix的形态。所有的Unix厂家已经从Unix’95规格说明。
开发或购买遵从Unix’95规格的应用可保证用户方便地从一个Unix操作系统向另一个移植。但并不强迫用户购买只遵从Unix’95规格的产品,用户可以开发和遵从开放且自由竞争的市场购买具有新的扩充的产品,以满足自己特殊的需要。
这样,Unix工业界再次为用户提供了选择的权力。如果伸缩性和移植性对用户的业务是最重要的,用户可以选择遵从Unix’95的应用;如果先进技术是关键,则用户可选择某一厂家具有新扩充的应用,当然这些扩充尚未成为标准。
由于Unix不断发展,因此,Unix’95标准将继续发展以接纳某些厂家的创新。
2.2 Linux和Windows XX相比有何特点
1. 可完全免费得到
Linux操作系统可以从互联网上免费下载使用,只要您有快速的网络连接就行;而且,Linux上跑的绝大多数应用程序也是免费可得的。用了Linux就再也不用背”使用盗版软件”的黑锅了。
2. 可以运行在386以上及各种RISC体系结构机器上
Linux最早诞生于微机环境,一系列版本都充分利用了X86CPU的任务切换能力,使X86CPU的效能发挥得淋淋尽致,而这一点连Windows都没有做到。此外,它可以很好地运行在由各种主流RISC芯片(ALPHA、MIPS、PowerPC、UltraSPARC、HP-PA等)搭建的机器上。
3. Linux是UNIX的完整实现
从发展的背景看,Linux与其他操作系统的区别是,Linux是从一个比较成熟的操作系统发展而来的,而其他操作系统,如WindowsNT等,都是自成体系,无对应的相依托的操作系统。这一区别使得Linux的用户能大大地从Unix团体贡献中获利。无论是Unix的作者还是Unix的用户,都认为只有Unix才是一个真正的操作系统,许多计算机系统(从个人计算机到超级计算机)都存在Unix版本,Unix的用户可以从很多方面得到支持和帮助。因此,Linux作为Unix的一个克隆,同样会得到相应的支持和帮助,直接拥有Unix在用户中建立的牢固的地位。
UNIX上的绝大多数命令都可以在Linux里找到并有所加强。UNIX的可靠性、稳定性以及强大的网络功能也在Linux身上一一体现。
4. 真正的多任务多用户
只有很少的操作系统能提供真正的多任务能力,尽管许多操作系统声明支持多任务,但并不完全准确,如Windows。而Linux则充分利用了X86CPU的任务切换机制,实现了真正多任务、多用户环境,允许多个用户同时执行不同的程序,并且可以给紧急任务以较高的优先级。
5. 完全符合POSIX标准
POSIX是基于UNIX的第一个操作系统簇国际标准,Linux遵循这一标准这使UNIX下许多应用程序可以很容易地移植到Linux下,相反也是这样。
6. 具有图形用户界面
Linux的图形用户界面是Xwindow系统。Xwindow可以做MSWindows下的所有事情,而且更有趣、更丰富,用户甚至可以在几种不同风格的窗口之间来回切换。
7. 具有强大的网络功能
实际上,Linux就是依靠互联网才迅速发展了起来,Linux具有强大的网络功能也是自然而然的事情。它可以轻松地与TCP/IP、LANManager、Windows for Workgroups、Novell Netware或Windows NT网络集成在一起,还可以通过以太网或调制解调器连接到Internet上。
Linux不仅能够作为网络工作站使用,更可以胜任各类服务器,如X应用服务器、文件服务器、打印服务器、邮件服务器、新闻服务器等等。
8. 是完整的UNIX开发平台
Linux支持一系列的UNIX开发工上,几乎所有的主流程序设计语言都已移植到Linux上并可免费得到,如C、C++、Fortran77、ADA、PASCAL、Modual2和3、Tcl/TkScheme、SmallTalk/X等。
总而言之,Unix就是可供各种用户选择的对象。一个操作系统已经使分布式计算成为现实。一个操作系统正在使新形式的交互娱乐成为现实并正确领导通向新的工程和商业应用的路。这就是Unix所体现的精神。但Unix还不止于此。主要地,Unix给用户选择最佳应用、最佳开发环境、最佳网络功能和最佳硬件的自由,以满足用户的业务要求。Unix还给用户选择何时升级系统的自由,甚至当用户改变主意时,用户可以以最少的痛苦来安装一个新系统,只要业务需要。
Unix专门献身于使用户保持选择的权力。
三、 主要产品的竞争
上面我们从总体上讲述了UNIX从而也是Linux的特点,下面我们从服务器,桌面机和嵌入式三个不同层面上来比较Linux与Windows之间的优缺点、强项和弱处。
3.1服务器操作系统——Linux与NT
服务器是涉及一大类机器的统称,最高端,用作超级计算或顶级企业和网络服务器的MPP(大规模并行处理机)、SMP(对称多处理机)、Cluster(集群机),Mainframe(大型主机);到普通商用数据库服务器的中型机,如IBM AS/400,中高档服务器如IBM RS/6000/系列机,HP 9000/K系列,SUN Ultra SPARC中高档服务器(如10000系列)、SGI的1000系列等。以及低端,用作邮件、文件/打印服务器等的普通PC服务器,门类繁多,不一而足。在这方面Linux都有其产品,而NT基本上是处于PC服务器档次上的操作系统。