Linux编程基础(国家信息技术紧缺人才培养工程指定教材)
正版二手书,欢迎选购
¥
12.84
2.6折
¥
49
八品
仅1件
作者 编者:黑马程序员
出版社 清华大学
ISBN 9787302477389
出版时间 2017-10
装帧 平装
开本 16开
定价 49元
货号 1568402684410188800
上书时间 2024-12-10
商品详情
品相描述:八品
商品描述
前言 序 传智播客和“黑马程序员” 江苏传智播客教育科技股份有限公司(简称“传智播客”)是一家专门致力于培养高素质软件开发人才的科技公司,“黑马程序员”是传智播客旗下的高端IT教育品牌。 “黑马程序员”的学员多为大学毕业后想从事IT行业,但各方面条件还不成熟的年轻人。“黑马程序员”的学员筛选制度非常严格,包括严格的技术测试、自学能力测试以及性格测试、压力测试、品德测试等。百里挑一的残酷筛选制度确保了学员质量,并降低了企业的用人风险。 自“黑马程序员”成立以来,教学研发团队一直致力于打造精品课程资源,不断在产、学、研三个层面创新自己的执教理念与教学方针,并集中“黑马程序员”的优势力量,有针对性地出版了计算机系列教材五十多种,制作了教学视频数十套,并发表了各类技术文章数百篇。 “黑马程序员”不仅斥资研发IT系列教材,还为高校师生提供以下配套学习资源与服务。 为大学生提供的配套服务: (1) 专业的辅助学习平台“博学谷”(http://yx.boxuegu.com),有专业老师在线为您答疑解惑。 (2) 针对高校学生在学习过程中存在的压力等问题,我们还面向大学生量身打造了“播妞”。播妞不仅致力推行快乐学习,还会有定期的助学红包雨。有兴趣的同学可添加播妞微信/QQ: 208695827。 (3) 高校学生也可扫描右方二维码,加入播妞粉丝团,获取最新学习资源,与播妞一起快乐学习。 为IT教师提供的配套服务: 针对高校教学,“黑马程序员”为IT系列教材精心设计了“教案+授课资源+考试系统+题库+教学辅助案例”的系列教学资源。高校老师请关注码大牛老师微信/QQ: 2011168841,获取教材配套资源,也可以扫描右方二维码,加入专为IT教师打造的师资服务平台——“教学好助手”,获取“黑马程序员”最新教师教学辅助资源相关动态。 前言 随着互联网的发展,计算机新技术如雨后春笋,层出不穷,这也促使越来越多的学子投入到计算机的学习与研发中;而二十多年来,Linux操作系统已逐渐被越来越多的人接受和认可,并被众多企业广泛应用到服务器以及嵌入式开发等领域。因此,Linux操作系统的使用以及基于Linux的应用开发成为计算机专业学子应掌握的必备技能。 然而,黑马程序员在近些年的观察和研究中发现: 面临就业的高校学子虽已经学习了编程语言与操作系统等的相关课程,但缺乏动手能力,难以将理论联系到实际。这皆因他们所用教材不是体系结构不够系统,就是知识不够全面,再加上讲解的知识较深奥,以至于学子难以掌握切实可用的实质。 针对这种现象,黑马程序员决定推出一本更符合学生实际需求的教材。为保障学生在学习的过程中能学有所得,在学习之后能学以致用,黑马程序员经过大量调研与长期编写,推出了本书,作为Linux课程的初级教材。 为什么要学习本书 Linux操作系统自诞生至今逐步发展并日渐完善,因其开源、安全、稳定等特性,成为众多企业与政府部门搭建服务器的首选平台。此外,Linux在移动应用与嵌入式开发领域也被广泛采用,因此掌握Linux系统的使用与Linux平台下的程序开发方法成为众多计算机从业人员需要掌握的必备技能。 本书在大纲制定上参照了传智播客C/C++学院数年来结合计算机发展趋势及企业需求所研发课程体系中的Linux系统编程部分,涵盖了Linux基本操作、常用工具、系统管理与程序开发等使用Linux系统以及在Linux环境下进行开发所需的必要知识;在内容安排上,由Linux环境搭建入手,逐步讲解了Linux的基本操作、常用工具、系统管理以及程序开发等知识,由浅入深,由易到难,循序渐进;在讲解方式上,将理论与实践相结合,为大多知识点都配备相应案例,保障读者能将理论与实践结合,在掌握理论知识的同时强化动手能力。 如何使用本书 本书以与企业中所用环境(Red Hat Enterprise Linux)较为接近的Linux版本(CentOS 6.8)为开发环境,主要介绍Linux系统的使用与Linux环境下的程序开发。本书中涉及的命令、语法与系统调用都配备了具体的案例,旨在让读者了解Linux平台下的常用服务器前言Linux编程基础模型。 若本书用于课堂教学,建议教师在讲解理论知识后,先引导学生自主动手实现教材中提供的案例,培养学生思考问题、分析问题、解决问题的能力,以期学生可更深刻地理解、掌握相应知识。 若读者为自主学习者,建议您勤思考、勤练习、勤总结,尽量完成并熟练掌握教材中配备的案例,并通过章节配套测试题进行自我检测和查漏补缺。若您在学习的过程中遇到困难或者有疑惑,可向问答精灵咨询。 本教材共分11章,每章的大体内容如下。 第1章首先介绍Linux系统的背景,包括Linux的起源、发展、应用领域、常用版本,以及GNU项目计划和POSIX版本;之后介绍Linux环境搭建过程;最后介绍VMware虚拟网络配置、Linux的远程终端访问和远程文件管理。通过本章的学习,读者可对Linux系统的背景有所了解,并能顺利搭建Linux环境,掌握Linux的远程终端访问方式及远程文件的管理。 第2章讲解Linux系统中的基本命令与开发工具,其中基本命令部分介绍与文件、网络、通信、压缩解压及帮助相关的命令,开发工具部分介绍vi编辑器、GCC编译器与GDB调试工具。掌握本章所讲的知识,可提高Linux系统使用与Linux环境开发的效率。 第3章讲解Linux系统中与用户、用户组管理相关的知识。Linux是一个支持多用户的操作系统,通过本章的学习,读者应能掌握Linux系统中管理用户、用户组的命令,以及用户切换的方法。 第4章讲解Linux的内核——Shell的相关知识、Shell应用技巧以及Shell脚本编程的相关语法。其中Shell编程语法包括Shell变量、条件语句、循环语句、函数,4.6节还给出了Shell脚本的调试方法。 第5章讲解磁盘与目录、Linux文件系统、Linux文件类型与文件操作,其中重点为磁盘的逻辑分区方式、文件系统的结构、文件操作。通过本章的学习,读者应掌握以上重点知识,并熟悉磁盘分区、挂载、卸载的方式与创建文件系统的方法。 第6章讲解Linux进程管理相关的知识,包括进程处理机制、进程属性、进程控制以及进程管理命令。通过本章的学习,读者应熟练掌握进程的处理机制,以及控制进程的方法,包括创建进程、退出进程与进程同步等。 第7章讲解Linux系统中的信号机制,包括信号来源、产生方式、信号阻塞、信号捕获和时序竞态等知识。通过本章的学习,读者应能在终端与程序中使用信号管理和控制进程。 第8章讲解进程间通信的方式,包括管道通信、消息队列通信、信号量通信与共享内存通信。通过本章的学习,读者应熟悉Linux系统中进程通信的这几种机制,并能在程序中使用这些机制实现进程通信。 第9章主要讲解Linux系统中的线程,包括线程的定义、线程相关操作、线程的属性,以及实现线程同步的机制。线程操作包括创建线程、退出线程、终止线程、挂起线程和线程分离,通过设置线程的属性亦可实现其中的部分操作。线程同步可通过互斥锁、条件变量、信号量实现。学习本章之后,读者应能在Linux环境开发中熟练操作线程、掌握线程同步机制,并熟悉线程的属性、可通过线程属性设置线程的状态。 第10章主要讲解socket编程,即Linux系统中的网络编程。其中首先简述计算机网络的协议与体系结构,之后讲解了socket编程中用到的系统调用、基于TCP和UDP两种协议的通信流程并补充网络编程中所需的知识,通过实际案例展示了不同协议下基于C/S模型的通信方式,最后对socket本地通信作了简单介绍。 第11章对Linux系统中涉及的几种并发服务器模型作了讲解,包括多进程并发服务器、多线程并发服务器、I/O多路转接服务器、线程池,最后对epoll的工作模式进行了补充。通过本章的学习,读者应对Linux系统中的服务器有所了解。 读者若不能完全理解教材中所讲知识,可登录博学谷平台,配合平台中的教学视频进行学习。此外读者在学习的过程中,务必要勤于练习,确保真正掌握所学知识。若在学习的过程中遇到无法解决的困难,建议读者莫要纠结于此,继续往后学习,或可豁然开朗。 致谢 本教材的编写和整理工作由传智播客教育科技股份有限公司完成,主要参与人员有吕春林、高美云、薛蒙蒙、郑瑶瑶、韩冬、王晓娟、刘传梅、朱景尧、王保明、刘宗伟等。全体人员在这近一年的编写过程中付出了很多辛勤的汗水。 意见反馈 尽管我们尽了最大的努力,但教材中难免会有不妥之处,欢迎各界专家和读者朋友们来信来函给予宝贵意见,我们将不胜感激。您在阅读本书时,如发现任何问题或有不认同之处,可以通过电子邮件与我们取得联系。 黑马程序员 2017年6月于北京 目录 第1章初识Linux1 1.1Linux概述1 1.1.1Linux的起源与发展1 1.1.2Linux的特点2 1.1.3GNU项目计划4 1.2安装Linux5 1.2.1前期准备5 1.2.2安装CentOS7 1.3网络配置11 1.4远程终端访问18 1.5本章小结22 1.6本章习题22 第2章命令与开发工具24 2.1Linux常用命令24 2.1.1命令格式24 2.1.2文件操作命令25 2.1.3网络管理与通信命令36 2.1.4压缩解压命令38 2.1.5帮助命令39 2.2Linux常用开发工具41 2.2.1vi编辑器41 2.2.2GCC编译器45 2.2.3GDB调试工具48 2.3本章小结52 2.4本章习题52 第3章用户与用户组管理54 3.1概述54 3.2用户和用户组管理55目录Linux编程基础3.2.1用户管理55 3.2.2用户组管理59 3.3用户切换61 3.3.1su61 3.3.2sudo62 3.4本章小结65 3.5本章习题65 第4章Shell编程68 4.1Shell概述68 4.1.1Shell的分类68 4.1.2Shell的功能69 4.1.3Shell命令执行流程69 4.2Shell应用技巧70 4.3Shell编程74 4.3.1第一个Shell程序74 4.3.2Shell中的变量75 4.4Shell中的条件语句81 4.4.1条件判断81 4.4.2if条件语句83 4.4.3select语句85 4.4.4case语句85 4.5Shell中的循环语句87 4.5.1for循环87 4.5.2while循环88 4.5.3until循环88 4.6Shell脚本调试89 4.7Shell中的函数90 4.8本章小结93 4.9本章习题93 第5章Linux文件系统与操作96 5.1磁盘与目录96 5.1.1磁盘与磁盘分区96 5.1.2目录结构99 5.1.3inode与dentry100 5.2Linux文件系统101 5.2.1Linux文件系统版本101 5.2.2fdisk/mke2fs102 5.2.3ext2/ext3文件系统105 5.2.4虚拟文件系统109 5.2.5挂载110 5.3Linux文件类型112 5.3.1文件类型概述112 5.3.2链接文件113 5.3.3设备文件114 5.4文件操作115 5.4.1文件描述符115 5.4.2文件I/O116 5.4.3文件操作121 5.5本章小结123 5.6本章习题123 第6章Linux进程管理125 6.1进程概述125 6.1.1进程处理机制125 6.1.2进程属性126 6.2进程控制129 6.2.1创建进程129 6.2.2exec函数族135 6.2.3进程退出138 6.2.4进程同步138 6.3进程管理命令144 6.4本章小结150 6.5本章习题150 第7章信号153 7.1信号及信号来源153 7.2信号的产生156 7.2.1系统调用156 7.2.2软件条件158 7.2.3kill命令160 7.3信号阻塞161 7.4信号捕获164 7.5时序竞态168 7.6SIGCHLD信号170 7.7本章小结173 7.8本章习题174 第8章进程间通信176 8.1管道176 8.1.1匿名管道177 8.1.2popen()/pclose()181 8.1.3命名管道182 8.2消息队列185 8.3信号量190 8.4共享内存195 8.5本章小结201 8.6本章习题201 第9章线程203 9.1线程概述203 9.2线程操作205 9.2.1创建线程205 9.2.2线程退出207 9.2.3线程终止209 9.2.4线程挂起210 9.2.5线程分离213 9.3线程属性215 9.4线程同步220 9.4.1互斥锁221 9.4.2条件变量225 9.4.3信号量229 9.5本章小结232 9.6本章习题232 第10章socket编程235 10.1计算机网络概述235 10.1.1协议与体系结构235 10.1.2网络结构模式239 10.2socket编程基础239 10.2.1socket编程接口240 10.2.2socket通信流程244 10.2.3网络编程相关知识245 10.3socket网络编程实例247 10.3.1基于TCP的网络通信247 10.3.2基于UDP的网络通信249 10.4socket本地通信251 10.5本章小结259 10.6本章习题259 第11章高并发服务器261 11.1多进程并发服务器261 11.2多线程并发服务器265 11.3I/O多路转接服务器268 11.3.1select268 11.3.2poll273 11.3.3epoll277 11.4epoll的工作模式283 11.5本章小结286 11.6本章习题287 内容摘要 本书分11章,首先介绍Linux的背景、开发环境、网络配置与远程操作及管理;其次讲解Linux系统操作中的基本命令以及基础开发中使用的工具;然后讲解Shell编程的基本语法、Linux系统中的用户和用户组以及Linux文件系统与操作;之后对Linux程序开发涉及的进程、信号、线程、网络编程等重点难点知识进行讲解;最后介绍Linux系统中高并发服务器的几种模型。本书中的每个章节都采用理论与案例结合的模式,在理论知识后通过切实可行的案例帮助学生在学习的同时实践并巩固所学知识。 本书的大纲结构主要借鉴传智播客C/C++学院所用的课程体系,也参考了市面上多本Linux教材,力求在构造完整知识体系的基础上能够系统、全面且精准。 本书附有配套视频、源代码、习题、教学课件等资源。同时,为了帮助初学者及时地解决学习过程中遇到的问题,黑马程序员还专门提供了免费的在线答疑平台。 本书可作为高等院校本专科计算机相关专业的Linux课程教材。
— 没有更多了 —
以下为对购买帮助不大的评价