跟老男孩学Linux运维:Shell编程实战

跟老男孩学Linux运维:Shell编程实战 pdf epub mobi txt 电子书 下载 2025

老男孩 著
图书标签:
  • Linux
  • Shell
  • 运维
  • 编程
  • 实战
  • 老男孩
  • 系统管理
  • 自动化
  • 脚本
  • 命令
想要找书就要到 新城书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 机械工业出版社
ISBN:9787111556077
版次:1
商品编码:12117874
品牌:机工出版
包装:平装
丛书名: Linux/Unix技术丛书
开本:16开
出版时间:2017-01-01
用纸:胶版纸
页数:399

具体描述

内容简介

  本书可分为五大部分:部分为第1章~第4章,此部分着重介绍新手如何学好Shell编程。涉及的内容包括Shell编程的入门介绍、基础知识、运行原理、编程语法、编程习惯、变量知识以及变量的深入实践。第二部分为第5章~第8章,着重讲解变量的多种数值运算、条件测试与比较、if条件判断语句、Shell函数等相关的知识。第三部分为第9章~第13章,着重讲解case条件语句、while循环和until型循环、for循环和select循环、条件与循环控制及程序返回值、Shell数组等知识。第四部分为第14章~第16章,着重讲解Shell脚本开发规范与编码习惯、Shell脚本的调试知识和技巧、Shell脚本开发环境的配置调整和优化等。第五部分为第17章~第20章,着重讲解Linux信号及trap命令的企业应用实践、Expect自动化交互式程序的应用实践、贯穿全书技术的面试题和企业实战案例,以及子Shell知识。

作者简介

  老男孩,专注于Linux运维架构领域一线运维及管理工作13年以上,擅长大规模互联网网站集群架构技术细节,曾服务于全国大的基础远程教育公司及全球大的中文百科网站,曾为某门户网站的早期及某大型培训机构早期提供过顾问服务,老男孩老师对于运维技术有着非同常人的独特理解,经过近10多年工作和教学,形成了比较完善的个人创新的运维思想、思维体系,长期担当多家互联网企业技术顾问及企业培训特聘讲师。曾3度创业,后于2007年开办国内Linux运维实战培训私塾式精英教育培训机构及项目实施服务公司【老男孩Linux高薪实战教育】。截止到2014年8月,累计受益学生达到数万人,至今仍工作在一线,运维及教育。

目录

前  言
第1章 如何才能学好Shell编程 / 1
1.1 为什么要学习Shell编程 / 1
1.2 学好Shell编程所需的基础知识 / 1
1.3 如何才能学好Shell编程之“老鸟”经验谈 / 3
1.4 学完本书后可以达到何种Shell编程高度 / 5
第2章 Shell脚本初步入门 / 6
2.1 什么是Shell / 6
2.2 什么是Shell脚本 / 7
2.3 Shell脚本在Linux运维工作中的地位 / 8
2.4 脚本语言的种类 / 9
2.5 常用操作系统默认的Shell / 11
2.6 Shell脚本的建立和执行 / 12
第3章 Shell变量的核心基础知识与实践 / 22
3.1 什么是Shell变量 / 22
3.2 环境变量 / 23
3.3 普通变量 / 31
3.4 变量定义技巧总结 / 40
第4章 Shell变量知识进阶与实践 / 41
4.1 Shell中特殊且重要的变量 / 41
4.2 bash Shell内置变量命令 / 52
4.3 Shell变量子串知识及实践 / 55
4.4 Shell特殊扩展变量的知识与实践 / 60
第5章 变量的数值计算实践 / 65
5.1 算术运算符 / 65
5.2 双小括号“(())”数值运算命令 / 66
5.3 let运算命令的用法 / 73
5.4 expr命令的用法 / 75
5.5 bc命令的用法 / 81
5.6 awk实现计算 / 83
5.7 declare(同typeset)命令的用法 / 83
5.8 $[]符号的运算示例 / 83
5.9 基于Shell变量输入read命令的运算实践 / 84
第6章 Shell脚本的条件测试与比较 / 92
6.1 Shell脚本的条件测试 / 92
6.2 文件测试表达式 / 97
6.3 字符串测试表达式 / 102
6.4 整数二元比较操作符 / 105
6.5 逻辑操作符 / 108
6.6 测试表达式test、[]、[[]]、(())的区别总结 / 120
第7章 if条件语句的知识与实践 / 121
7.1 if条件语句 / 121
7.2 if条件语句企业案例精讲 / 132
第8章 Shell函数的知识与实践 / 151
8.1 Shell函数的概念与作用介绍 / 151
8.2 Shell函数的语法 / 152
8.3 Shell函数的执行 / 152
8.4 Shell函数的基础实践 / 153
8.5 利用Shell函数开发企业级URL检测脚本 / 155
8.6 利用Shell函数开发一键优化系统脚本 / 158
8.7 利用Shell函数开发rsync服务启动脚本 / 166
第9章 case条件语句的应用实践 / 169
9.1 case条件语句的语法 / 169
9.2 case条件语句实践 / 171
9.3 实践:给输出的字符串加颜色 / 176
9.4 case语句企业级生产案例 / 181
9.5 case条件语句的Linux系统脚本范例 / 187
9.6 本章小结 / 191
第10章 while循环和until循环的应用实践 / 192
10.1 当型和直到型循环语法 / 192
10.2 当型和直到型循环的基本范例 / 194

第11章 for和select循环语句的应用实践 / 217

第12章 循环控制及状态返回值的应用实践 / 249

第13章 Shell数组的应用实践 / 260

第14章 Shell脚本开发规范 / 279

第15章 Shell脚本的调试 / 286

第16章 Shell脚本开发环境的配置和优化实践 / 297

第17章 Linux信号及trap命令的企业应用实践 / 310

第18章 Expect自动化交互式程序应用实践 / 317

第19章 企业Shell面试题及企业运维实战案例 / 340

第20章 子Shell及Shell嵌套模式知识应用 / 377

附 录 Linux重要命令汇总 / 393


前言/序言

  前言为什么要写这本书目前全球正处于互联网+的时代,越来越多的传统企业都在通过互联网提供产品和服务,比如,互联网+教育、互联网+金融、互联网+电商、互联网+出租车、互联网+保险等,可以看到,几乎所有的产品、服务都能在网上找到。而支撑互联网的幕后英雄其实就是Linux(包括移动互联网在内),掌握Linux运维技术已经成为每一个IT技术人员的必备技能!
  互联网+的时代下企业的网站流量呈爆炸式增长,如果你是运维人员,很可能要面对几十台、几百台、上千台甚至上万台的服务器设备,而对于企业来说,如何提高IT运维的管理效率、降低成本也成了最大问题。要解决这个问题,必须在Linux运维工作中,做好运维服务的标准化、规范化、流程化和自动化,而这里面的前三项其实是在为最后一项“IT运维自动化”做铺垫。
  要实现IT运维自动化就需要学会编程语言,目前Linux系统下最流行的运维自动化语言就是Shell和Python(Python相关图书,作者正在写作中)。在这两者之中,Shell又几乎是所有IT企业都必须使用的运维自动化编程语言,特别是在运维工作中的服务监控、业务快速部署、服务启动停止、数据备份及处理、日志分析等环节里,Shell必不可少。当然Python也是一门很好的自动化编程语言,它和Shell是互补的,Shell更适合系统底层,而Python则更适合处理复杂的业务逻辑,以及开发复杂的运维软件工具,实现通过Web访问等。
  在长期的运维工作以及深度教学中,老男孩发现很多Linux入门人员很害怕Shell编程,觉得Shell不好掌握,甚至是已经工作的企业运维人员对Shell编程也是一知半解,不能熟练运用。而市面上的Shell图书大多如出一辙,理论多,实战少。因此在众多学员和网友的关注和提议下,老男孩决定写一本比较与众不同的偏重实战的Shell编程书籍,相信本书一定会让众多读者受益,提升个人在企业工作中的效率,达到加薪升职的目的。
  本书是老男孩Linux运维实战系列的第二本书,第一本是《跟老男孩学习Linux运维:Web集群实践》(已由机械工业出版社出版),第三本是《跟老男孩学习Linux运维:三剑客命令实战》(预计书名),此书将在几个月后和大家见面。更多Linux运维实战系列的图书在持续写作中,敬请期待。
  读者对象热衷于IT运维自动化的人员Linux系统管理员和运维工程师互联网网站开发及数据库管理人员网络管理员和项目实施工程师Linux相关售前售后技术工程师开设Linux相关课程的大中专院校对Linux及Shell编程感兴趣的人员如何阅读本书本书是一本较完整的Shell编程实战型图书,并非大而全,但处处可以体现实战二字,大多内容取于企业实战,并结合老男孩十几年的运维工作和教学工作进行了梳理。本书从脉络上可分为五大部分:
  第一部分为Shell编程基础篇(第1章~第4章),着重介绍新手如何学好Shell编程,涉及的内容包括Shell编程的入门介绍、基础知识、运行原理、编程语法、编程习惯、变量知识以及变量的深入实践。读者学完此部分,将会具备一个学好Shell编程的坚实基础。
  第二部分为初中级的实战知识和技能篇(第5章~第8章),着重讲解变量的多种数值运算、条件测试与比较、if条件判断语句、Shell函数等相关的知识,并给出了企业实战技巧和案例。本部分是学好Shell编程的重中之重,读者必须掌握。
  第三部分为Shell中高级实战知识和技能篇(第9章~第13章),着重讲解case条件语句、while循环和until型循环、for循环和select循环、条件与循环控制及状态返回值、Shell数组等知识,以及相应的实战技巧和案例。本部分同样是学好Shell编程的重中之重,读者必须掌握。
  第四部分为高效Shell编程必备知识篇(第14章~第16章),着重讲解Shell脚本开发规范与编码习惯、Shell脚本的调试知识和技巧、Shell脚本开发环境的配置调整和优化等。
  第五部分为Shell特殊应用及企业面试、实战案例篇(第17章~第19章),着重讲解Linux信号及trap命令的企业应用实践、Expect自动化交互式程序的应用实践,以及能体现全书所讲技术的面试题和企业实战案例,让真正的Shell全自动化运维成为可能。
  最后一章补充讲解了大家易感困惑的子Shell知识及应用实践内容。
  勘误和支持由于作者所授的培训课程排期很紧,课程较多,全书内容基本上都是利用早晨和夜里的时间完成写作的。限于作者的水平和能力,加之编写的时间仓促,书中难免有疏漏和不当之处,恳请读者批评指正。你可以将书中的错误发布在专门为本书准备的博客地址评论处(http://oldboy.blog.51cto.com/2561410/1865956或微博http://weibo.com/oldboy8)。同时不管你遇到何种问题,都可以加入我为本书提供的QQ交流群204041129(验证信息:Shell书籍),我将尽力为你提供最满意的解答。书中所需的工具及源文件也将发布在的博客网站上(书中大部分章节结尾都给出了相关网址及二维码),我也会将相应功能的更新及时发布出来。如果你有更多的宝贵意见,也欢迎发送邮件至邮箱oldboy@oldboyedu.com,很期待能够听到你们的真挚反馈。
  致谢感谢犹金毅、何清等为本书贡献第20章的重要底稿内容及对本书的写作给予的支持。


踏上技术精进之路:拥抱自动化与效率的现代运维新篇章 在这个日新月异的科技时代,企业运营的效率与稳定性,很大程度上依赖于高效、可靠的IT基础设施。而现代IT运维,早已不再是简单的“救火”与“重启”,它已经演变为一门融合了精细化管理、自动化流程、以及前瞻性风险控制的综合性技术学科。我们不禁要问,如何在纷繁复杂的服务器环境、海量的数据流量、以及层出不穷的潜在安全威胁中,确保系统的平稳运行,提升资源利用率,并为业务发展提供坚实的技术支撑? 这不仅仅是一个关于“运维”的概念,更是一场关于“如何更聪明地工作”的变革。传统的运维模式,往往需要大量人工介入,耗时耗力,且容易出错。随着业务规模的不断扩大和技术栈的日益复杂,这种模式的瓶颈愈发明显。因此,拥抱自动化,将重复性、规律性的工作交给机器去完成,不仅能极大解放运维人员的精力,让他们能够专注于更具战略性、创造性的任务,更能显著降低人为失误的可能性,提升整体运维效率和系统稳定性。 自动化运维:从被动响应到主动掌控 自动化运维的核心理念在于“少即是多”。通过脚本、工具以及各种智能化的解决方案,我们可以将许多日常的运维任务,例如: 系统部署与配置: 从零开始搭建服务器环境,安装所需的软件,配置网络参数,设置安全策略,这些繁琐的步骤都可以通过自动化脚本一次性完成,确保部署的一致性和高效性。想象一下,当您需要快速部署数十台甚至上百台服务器时,手动操作将是多么浩大的工程,而自动化脚本则能将这项任务缩短到几分钟甚至几秒钟。 监控与告警: 实时监控服务器的CPU、内存、磁盘、网络流量等关键指标,一旦出现异常,能够立即触发告警,并将告警信息发送给相关人员。这不仅仅是“看到了问题”,更是“在问题发生前或刚发生时就介入”,将潜在的风险扼杀在摇篮之中。告警机制的精细化配置,如告警阈值、告警级别、告警通知方式等,能够确保运维人员在正确的时间获得准确的信息,做出最及时的响应。 日志管理与分析: 海量的系统日志是了解系统运行状况、排查故障的重要线索。自动化日志收集、归档、以及基于关键词或模式的搜索和分析,能够极大地简化故障排查的过程,帮助我们快速定位问题根源。更进一步,通过日志分析,我们可以挖掘出系统运行的规律,预测潜在的性能瓶颈或安全隐患。 备份与恢复: 数据是企业的生命线。定期的、自动化的数据备份,以及能够在灾难发生后快速恢复数据的能力,是确保业务连续性的基石。自动化备份流程能够确保备份的及时性和完整性,而有效的恢复策略和演练,则能让我们在面临突发情况时,能够从容应对。 安全加固与漏洞修复: 随着网络攻击的日益猖獗,系统安全始终是运维工作的重中之重。自动化脚本可以用于执行日常的安全检查,如端口扫描、敏感文件权限检测、弱密码检测等,并能快速部署安全补丁,修复已知的系统漏洞,构筑坚实的安全防线。 任务调度与自动化脚本执行: 许多运维任务,如定期清理临时文件、生成报表、执行性能测试等,都可以通过任务调度器(如cron)来实现定时自动执行。而更复杂的任务,则可以通过编写脚本来实现,让机器按照预设的逻辑完成一系列操作。 Shell编程:连接指令与智能的桥梁 在Linux运维领域,Shell脚本扮演着至关重要的角色。它不仅仅是一种命令解释器,更是实现自动化运维的强大工具。通过Shell编程,我们可以: 编写高效的命令组合: 将多个零散的Linux命令通过管道(|)和重定向(> , >> , <)等方式组合起来,实现更复杂的任务。例如,我们可以用一条命令统计某个目录下所有文件的行数,并按行数降序排序。 实现逻辑判断与流程控制: 使用if-else语句、case语句、for循环、while循环等结构,为脚本赋予“智慧”,使其能够根据不同的条件执行不同的操作,实现动态的、智能化的任务处理。 处理文件与目录: 遍历目录、复制、移动、删除文件,修改文件权限,查找特定文件内容,这些文件操作都可以通过Shell脚本轻松实现,极大地提升了文件管理的效率。 与系统进程交互: 启动、停止、监控系统进程,修改进程优先级,这些对系统稳定运行至关重要的操作,都可以通过Shell脚本进行自动化管理。 实现用户与权限管理: 自动化创建、删除用户,修改用户密码,赋予用户不同的权限,可以极大地简化用户管理工作,并确保权限的统一性。 网络通信与数据交换: 通过SSH等协议,实现远程服务器的脚本执行和文件传输;通过awk、sed、grep等工具,对文本数据进行强大的处理和分析,为日志分析、配置管理等任务提供有力支持。 定制化工具与解决方案: 针对企业特定的需求,编写定制化的Shell脚本,解决实际工作中的痛点,例如:一键部署应用、自动化生成服务器报告、批量修改配置文件等。 深入理解Linux内核与系统机制:构建稳定运维的基石 仅仅掌握Shell编程不足以应对复杂多变的生产环境。对Linux内核的深入理解,以及对操作系统底层机制的把握,是成为一名优秀运维工程师的关键。这包括: 进程管理: 了解进程的生命周期,进程间的通信方式(IPC),以及如何有效地管理和调度进程,是保证系统响应速度和稳定性的基础。 内存管理: 理解虚拟内存、物理内存、内存分配与回收机制,有助于我们诊断内存泄漏问题,优化系统性能,防止因内存不足导致的崩溃。 文件系统: 熟悉不同的文件系统类型(如ext4, XFS),理解文件系统的挂载、卸载、校验以及性能调优,对于数据安全和系统可用性至关重要。 网络协议栈: 深入理解TCP/IP协议族,HTTP、DNS等常见应用层协议,以及网络接口、路由、防火墙等网络设备的工作原理,是排查网络故障、保障服务连通性的必备知识。 系统调用与API: 了解应用程序如何通过系统调用与内核进行交互,以及常见的系统API,能够帮助我们更好地理解系统行为,甚至进行更底层的性能分析。 安全机制: 熟悉Linux的用户和权限管理模型,SELinux、AppArmor等安全增强模块,以及文件和网络的安全配置,是构建安全可靠IT环境的基石。 拥抱现代运维理念:提升效率与价值 除了技术能力的提升,现代运维更强调以下理念: 持续集成/持续部署 (CI/CD): 将开发、测试、部署等环节自动化,缩短产品上线周期,提高软件交付效率。 基础设施即代码 (IaC): 将服务器、网络、存储等基础设施的配置和管理,通过代码进行描述和自动化部署,实现基础设施的可重复、可版本化管理。 可观测性 (Observability): 收集、存储、分析系统运行过程中产生的各种遥测数据(日志、指标、链路追踪),以更深入地理解系统行为,并快速定位和解决问题。 DevOps文化: 打破开发与运维之间的壁垒,促进团队协作,共同为产品的成功负责,实现更快速、更可靠的服务交付。 展望未来:成为技术驱动的业务赋能者 在这个技术飞速发展的时代,IT运维工程师的角色正在从“幕后守护者”转变为“技术驱动的业务赋能者”。通过不断学习和掌握新的技术、工具和理念,拥抱自动化,深入理解系统本质,并积极践行现代运维的最佳实践,您将能够: 构建更稳定、更高效的IT系统: 降低故障率,提升系统可用性和性能。 加速业务创新与迭代: 为产品快速上线和迭代提供坚实的技术保障。 优化资源利用,降低运营成本: 通过自动化和精细化管理,最大化资源价值。 提升个人职业竞争力: 成为企业急需的技术人才,在技术浪潮中乘风破浪。 这条技术精进之路,虽然充满挑战,但每一步的积累都将为您带来质的飞跃。重要的是保持好奇心,不断探索,将理论知识与实践相结合,最终成为能够驾驭复杂技术,驱动业务增长的优秀IT运维专家。

用户评价

评分

这本书的讲解风格可以说是出奇地“实在”。不像有些技术书,上来就堆砌一大堆理论概念,让人望而生畏。这本书更像是和一位经验丰富的老朋友在聊天,他会告诉你,“兄弟,这事儿吧,实际操作起来就是这么回事儿”,然后就给你演示一遍。从最基础的命令解释,到如何组合它们完成复杂任务,每一步都清晰明了,而且很多地方都有“为什么这么做”的解释,这对于理解Linux的底层逻辑非常有帮助。我特别喜欢书里强调的“实战”二字,它不是让你死记硬背命令,而是告诉你这些命令在实际工作中有哪些应用场景,遇到问题时该如何思考和解决。书中提供的很多脚本示例,我都直接拿来在自己的服务器上测试过,效果斐然。特别是那些关于自动化运维的章节,让我感觉我终于有能力去简化我日常的工作流程了。比如,之前我需要手动检查服务器状态,现在一个简单的Shell脚本就能帮我完成,而且还能生成报告。这本书给我最大的改变,就是让我从“害怕”Linux运维,变成了“热爱”它,因为我看到了它带来的实际价值和效率提升。

评分

这本书真的是让我大开眼界!我之前一直对Linux运维这个领域感到有些模糊,总觉得它神秘又复杂。接触到这本书后,我才发现原来它并没有想象中的那么遥不可及。作者用非常接地气的方式,一点点地剖析了Shell编程的精髓,像是把我从一个站在门外的旁观者,一步步引到了门内,还手把手地教我如何运用这些工具。书里的案例讲解特别细致,很多在实际工作中可能遇到的场景,比如自动化部署、日志分析、性能监控等等,都通过Shell脚本得到了生动而有效的解决。我印象特别深刻的是关于文件处理的部分,以前觉得很麻烦的批量重命名、数据提取,现在看来越来越简单了。而且,这本书并没有止步于基础,它还涉及了一些进阶的技巧,比如如何写出更健壮、更易于维护的脚本,如何利用一些高级特性来提高效率。每次读完一个章节,我都会迫不及待地在自己的Linux环境里动手实践,看着那些原本需要花费大量时间的重复性工作,被几个简单的脚本瞬间搞定,那种成就感真的无与伦比。这本书就像是一本武林秘籍,让我这个初学者也渐渐掌握了Linux运维的“独门绝技”。

评分

这本书给我的感觉,就像是打开了一扇通往Linux运维世界的大门。我之前对运维工作总是有种“神秘感”,觉得里面充满了各种我不懂的黑话和复杂的配置。但是,通过这本书,我发现Shell编程才是连接这些复杂概念的桥梁。作者的语言风格非常平实易懂,就像是在跟我们分享他多年的经验和心得。他不会故弄玄虚,而是把每一个概念都讲得清清楚楚,并且通过大量的代码示例来佐证。我尤其喜欢书里关于“如何思考”的指导,它不仅仅教我们写脚本,更重要的是培养我们用脚本去解决问题的能力。很多时候,我都会停下来思考作者提出的问题,然后自己尝试去写脚本解决,这个过程非常锻炼人。这本书让我对Linux运维产生了浓厚的兴趣,也让我看到了通过学习Shell编程,能够让我的工作变得更加轻松、高效。我现在对未来的运维工作充满信心,感觉自己已经掌握了一把打开无限可能的钥匙。

评分

对于我这种已经有一些Linux使用经验,但对Shell编程一直感到“隔靴搔痒”的人来说,这本书简直就是及时雨。它没有浪费时间去讲解我早就知道的基础知识,而是直接切入Shell脚本的核心。我惊喜地发现,原来很多我以为很复杂的问题,通过巧妙的Shell脚本组合,就能变得如此简单高效。书里对一些常用命令的深入剖析,以及如何将它们融入到脚本中,让我对Linux命令的理解提升到了一个新的高度。我印象特别深刻的是关于管道符和重定向的讲解,以前我只是知道怎么用,现在我理解了它们背后的原理,并且能够写出更灵活、更强大的脚本。而且,书中还穿插了很多非常实用的技巧和“黑魔法”,这些都是我在网上零散地学习或者自己摸索很难触及到的。读这本书的过程,就像是在解锁Linux运维的各种隐藏技能,每解锁一个,我都能明显感觉到自己在工作效率上的提升。

评分

说实话,一开始我选择这本书,是被“老男孩”这个名字吸引的。总觉得能叫“老男孩”的,肯定是有故事、有经验的人。果不其然,书里的内容完全没有辜负我的期待。作者在讲解Shell编程的时候,非常注重逻辑性和实用性。他不会仅仅告诉你“怎么做”,更重要的是告诉你“为什么这么做”,以及“这样做的优点和缺点”。很多时候,我会发现之前自己一些想当然的做法,在书里得到了更系统、更优化的解答。我尤其欣赏书中对于脚本编写规范和错误处理的讲解,这对于初学者来说太重要了。很多时候,我们写脚本会遇到各种各样的问题,而这本书就像一本“避坑指南”,让我提前知道哪些坑不能踩,以及如果不小心踩进去了该如何爬出来。书里的案例涵盖了从基础的文件管理到复杂的系统服务管理,几乎涵盖了运维工作中会遇到的绝大多数场景。我感觉自己像是跟着一位经验丰富的老师傅学艺,一点一点地打磨自己的技术,从一个只会敲命令的小白,逐渐成长为一个能够独立解决问题的“老手”。

评分

跟着老男孩学习懂了很多

评分

五折的时候买的,很不错,多补充补充知识。

评分

python2.7为基础的 活动购买 不管好坏 慢慢看吧 不过据说很一般 那就也随便看看吧 活动最重要

评分

老男孩的书不错,简单易懂,比较全面,shell和Python同步起飞

评分

不 错

评分

书很不错,下次还要买。

评分

好好好好好好好好好好好好好好好好好好好好

评分

新书还没有认真看,先评了再来认真读

评分

老男孩值得信赖

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有