导入
为什么那么多程序员推荐 Linux,是不是在 Linux 下开发效率高?
在linux下开发效率不一定高。决定开发效率的不是操作系统,而是你自己。对于一个你熟悉和习惯的开发环境,则效率自然是高的,反之则不然了。
但是作为一名开发工程师,还是必须向你推荐Linux系统的。原因并不在于开发效率,而在于拓展思维视野、学习提高。

目前来说,大量的服务器基于linux运行,大量的智能设备基于linux,甚至你手上的安卓手机都是基于linux系统。在linux系统无处不在的情况下,你对linux一无所知必然会给你的开发生涯造成很大的制约。
这样说吧,一个linux用户,他对windows系统有所了解的可能性是99%,而一个windows用户对linux系统有所了解的可能性是1%。明白两者的差距吗?你懂的我懂,你不懂的我还懂,这是天然的差距。
直接上干货!
本书结构 (本书分为三个部分。)
第一部分整体介绍Linux系统以及运行Linux系统所需的常用工具和命令。随后我们会根据系统启动的大体顺序,更深入地介绍从设备管理到网络配置的各个部分。最后我们会演示系统各部分的运行方式,并介绍一些基本技巧和开发人员常用的工具。 除第2章以外,开始的几章均主要讲解Linux内核,然后逐步涉及用户空间。(如果你现在对我所说的一头雾水也没关系,我们将在第1章中介绍这些概念。) 本书的内容尽量保证对各个版本的Linux系统均适用。但要涵盖各个系统之间的差异也实在是项繁琐的工作,所以我尽量考虑两个主要的Linux版本:Debian(包括Ubuntu)和RHEL/Fedora/ CentOS。本书主要针对的是桌面和服务器系统。嵌入式系统(如Android和OpenWRT)也多有涉及,但各系统之间的差异还需要你自己去探索。
目录

第一章.概述

第二章.基础命令和目录结构
本章我们将介绍Unix系统的命令和工具,它们在本书中 会经常被用到。你可能已经对这些基本知识有所了解,不过 我还是建议你花些时间再阅读一遍,特别是2.19节关于目录 结构的阐述。

第三章.设备管理
本章介绍与Linux系统内核提供的设备相关的基础设 施。纵观Linux发展史,内核向用户呈现设备的方式发生了 很大变化。我们将从传统的设备文件系统开始,介绍内核如 何通过sysfs来提供设备配置信息。我们的目标是能够通过在 系统上收集设备信息来了解一些基本操作。后面的章节将进 一步介绍一些具体设备的管理。

第四章.硬盘和文件系统
在第3章中我们讨论了内核提供的顶层磁盘设备。本章 我们将详细介绍如何在Linux系统中使用磁盘设备。你将了 解如何为磁盘分区,在分区中创建和维护文件系统,以及交换空间。

第五章.Linux内核的启动
目前为止,我们介绍了Linux系统的物理结构和逻辑结 构、内核以及进程。本章我们将讨论内核的启动,即从内核 载入内存到启动第一个用户进程的过程。

第六章.用户空间的启动

第七章.系统配置:日志、系统时间、 批处理任务和用户

第八章.进程与资源利用详解

第九章.网络与配置

第十章.网络应用与服务

第十一章.shell脚本

第十二章.在网络上传输文件

第十三章.用户环境

第十四章.Linux桌面概览

第十五章.开发工具
