随着互联网的发展,大数据、云计算等技术日益流行,IT业开始了一场云计算的“盛宴”。国外诸如谷歌、亚马逊,国内诸如腾讯、阿里、华为等世界前列的IT公司都化身云厂商,为各中小型公司提供云计算等基础设施服务,其中大部分服务器的系统是Linux。
为什么选择Linux?因为Linux开源、稳定、安全、高性能、多租户、个性化。如果你想部署一个网站,让全世界的人都可以访问,并且24小时不关机,那么Linux无疑是最好的选择。
随着使用 Linux 系统的公司越来越多,各类网络管理人员、网站维护人员、服务器管理人员都必然需要与 Linux 打交道。软件测试人员与开发人员也要熟悉 Linux 系统,只有熟悉Linux系统,才能进行高效率的工作。
就面试来说,运维人员对 Linux 的掌握程度已经是一道必面的关卡。开发人员与测试人员熟悉Linux也是一个加分项。
从实际工作来说,Linux管理是运维人员的基本技能。开发人员与测试人员在测试生产环境和排查问题时,也要掌握一定的Linux技巧。
笔者的使用体会
笔者一直从事开发工作,但是在项目管理的过程中,无法避免与 Linux 打交道。部署服务、运维管理都需要具有一定的Linux知识。服务器的Linux系统一般都是用命令行操作的。笔者在开始工作时,因缺乏一定的Linux基础而将很简单的事弄得很复杂。
掌握 Linux 的基础操作,熟悉 Linux 的运行机制,可以让开发人员对很多以前开发工作中“为什么这么做”的理由有新的认识。
笔者认真钻研了Linux,在熟悉了Linux并掌握了其中几个命令后,发现掌握Linux其实并没有那么难,因此受邀编著本书,希望将自己的一些学习经验分享给读者。
本书送给那些被拦在 Linux 门外的初学者和希望进阶掌握 Linux 的读者们。希望你们可以按图索骥,破困而出,乘风破浪。
本书的特色
❏ 保姆式学习:书中介绍了安装Linux系统的多种方式(虚拟机、物理机+PE、云主机),以及各种 macOS、Windows 客户端工具的安装使用,且在入门章节中详细介绍了各种入门命令。
❏ 内容普适性:书中采用大多数企业使用的 CentOS 7.9 作为演示系统,而不是被放弃的CentOS 8。安装软件大多基于官网上的最新版本进行讲解(截至本书撰写完成,安装软件以书中版本为准)。
❏ 命令工具书:书中大多数命令都有常用的示例。对于重要或复杂的命令工具,如vim、sed、top等,本书介绍更为全面,可以作为一部称手的工具书。
❏ 生产案例实践:书中每章都配有多个能在生产工作中真实使用的案例。读者可根据案例对章节内容进行归纳学习。
❏ 脚本源码赠送:书中Shell脚本代码随书附赠,以便读者学习。
本书包括的内容
本书包括最基础的Linux系统安装教程,最全面的Linux文档处理命令,深入的权限、磁盘、进程管理与详解,带领读者快速入门Shell编程。最后以“制作自己专属的Linux命令”为例结束。
第1章介绍Linux是什么,Linux的特点与用途,以及如何学习Linux。
第2章介绍如何选择Linux的发行版,使用多种方式(虚拟机、物理机+PE、云主机)安装Linux、macOS及Windows系统下的各种客户端工具,以及Linux系统的初始化工作。
第3章介绍在Linux系统下,对文件进行增删改查的命令,以及乱码文件的处理和特殊字符的一些说明。
第4章介绍在Linux系统下,如何增删改查用户和用户组,以及如何计算与设置文件权限和相关实战案例。
第5章介绍在Linux日常工作中,文件下载、打包压缩、多路会话管理、定时任务、邮件收发等功能的使用。
第6章介绍如何查看磁盘设备、文件句柄,如何设置inode、软/硬链接,格式化新建文件系统,硬盘挂载,分区磁盘扩展,以及对磁盘进行故障模拟和诊断修复。
第7章介绍Linux主机、CPU、内存、进程的查看方法及它们互相之间的影响,详细描述进程的管理方式及 KILL 信号间的关系,以及性能监控的方法和相关系统资源管理的生产实战案例。
第8章介绍Linux网卡、路由配置,域名与DNS解析的关系,网络探测与流量监听工具,各类防火墙与安全组的配合使用,TCP/IP、OSI、Socket、TCP/UDP、HTTP、SSL等网络通信模型与协议,以及与安全相关的内网穿透、漏洞扫描和一些安全防护的方法工具等。最后以实战案例演示如何搭建防暴力破解工具、部署内网穿透服务及清除挖矿病毒。
第9章介绍Linux系统管理与软件安装的几种方式,其中包括Linux的开关机与运行级别、系统服务systemd、RPM与Yum安装、Yum的多种换源方式等,并以安装Nginx为例,贯穿本章所学命令。
第10章介绍Shell编程的环境配置、执行方式与基本语法,并扩展介绍特殊的文件处理命令 awk,以及如何调试与编写 Shell 脚本,最后以实战案例的方式演示如何编写一个类似cp、mv的Linux命令。
作者介绍
姚伟,高级工程师,分时科技CTO,曾任神州数码项目经理、科大讯飞软件架构师,有11年软件开发经验、6年Linux运维经验。
个人博客:https://www.cnblogs.com/yaomaomao。
微信公众号:Linux常用命令。
本书读者对象
❏ 对Linux感兴趣的在校学生。
❏ 准备从事Linux运维工作的应届毕业生。
❏ 基于Linux服务器的网络管理人员、售后人员和维护人员。
❏ 经常与Linux打交道的开发人员、运维人员和测试人员。
❏ 需要一本Linux命令工具书的IT从业人员。