Linux shell脚本编程入门

Linux shell脚本编程入门 pdf epub mobi txt 电子书 下载 2026

出版者:人民邮电出版社
作者:[韩] 金泰龙
出品人:
页数:516
译者:金香
出版时间:2014-10
价格:89.00元
装帧:平装
isbn号码:9787115366597
丛书系列:图灵程序设计丛书·Linux/UNIX系列
图书标签:
  • linux
  • shell
  • 脚本
  • 豆瓣
  • 计算机
  • 海大
  • 我有pdf
  • TP316.89
  • Linux
  • shell
  • 编程
  • 入门
  • 脚本
  • 命令
  • 运维
  • 学习
  • 命令行
  • 自动化
想要找书就要到 本本书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

Linux OS 在服务器以及近来引发热议的嵌入式系统中都得到广泛应用,本书介绍的就是该程序必备的shell 编程要素。尤其还收录了现在门户网站、企业等使用的主流套件CentOS(Community ENTerprise Operating System)为基础的各种Linux 命令,并以此为基础编写了Linux shell 脚本编程示例,使读者可以亲自测试。

通过本书读者可以了解到Linux 学习中必知的shell(Bourne shell、Bash shell)指令,学习Linux 整体系统要素,熟悉Linux 服务器和嵌入式Linux 的基础知识。另外,通过对Linux 服务器运行中的必要因素——shell 脚本编程的理解和示例,读者可以成长为善于思考的管理员、程序员,提高自己的知识水平。

《玩转 Linux 命令:告别小白,轻松驾驭命令行世界》 是否曾被 Linux 命令行的神秘感所困扰?是否渴望在终端中挥洒自如,像专家一样高效工作?《玩转 Linux 命令》将是你踏入 Linux 命令世界最坚实的伙伴。这本书并非教你如何编写复杂的程序,而是专注于让你彻底理解和掌握 Linux 最核心、最常用的命令行工具,让你能够直接、高效地与操作系统沟通,解决日常遇到的各种问题。 告别“看不懂”的窘境,拥抱“我能行”的自信 市面上的许多 Linux 入门书籍,往往上来就抛出大量的概念和代码,让初学者望而却步。《玩转 Linux 命令》另辟蹊径,从最基础、最直观的层面出发,带你逐一剖析那些看似晦涩的命令。我们不会让你背诵枯燥的语法,而是通过大量的实际案例和生活化的比喻,让你理解每一个命令背后的逻辑和用途。 例如,当你需要查找文件时,《玩转 Linux 命令》会详细讲解 `ls` 命令的各种选项,让你不仅知道如何列出文件,更能按照时间、大小、类型等多种方式进行排序和过滤;当你需要管理文件时,`cp`、`mv`、`rm` 等命令的用法和注意事项将被一一拆解,让你告别误删除的恐惧。我们还会深入浅出地介绍 `grep` 命令,教你如何用它来大海捞针般地在海量文本中找到你想要的信息,这在日常的日志分析、代码查找中是多么的得心应手! 从“知其然”到“知其所以然”:理解命令的运作机制 这本书不仅会告诉你“怎么用”,更会告诉你“为什么这么用”。我们将为你揭示 Linux 文件系统的层级结构,让你明白 `cd` 命令是如何在目录间穿梭的;我们将解释权限管理的基本概念,让你理解 `chmod`、`chown` 等命令是如何保障系统安全的;你还将了解到进程的概念,以及如何使用 `ps`、`top`、`kill` 等命令来监控和管理正在运行的程序。 我们相信,真正的掌握源于理解。通过对这些基础命令的深入讲解,你将不再是机械地输入指令,而是能够根据实际需求,灵活地组合和运用它们,甚至能够举一反三,触类旁通。 实用技巧,点亮你的命令行体验 《玩转 Linux 命令》不会止步于基础命令的介绍。我们将分享一系列实用技巧,让你的命令行操作效率倍增: 管道(`|`)与重定向(`>`、`<`、`>>`): 这是 Linux 命令行的灵魂所在。我们将通过生动的例子,教你如何将一个命令的输出作为另一个命令的输入,实现复杂的数据处理流程,让你的命令组合能力瞬间提升。 通配符(``、`?`、`[]`): 让你能够用最少的输入,匹配到大量的文件或目录,极大地简化文件操作。 别名(`alias`): 为你常用的长命令设置简短的别名,告别重复输入,让你的操作更加流畅。 环境变量: 了解 `PATH` 等环境变量的作用,让你更容易找到和执行命令,并可以自定义你的工作环境。 常用工具的深度挖掘: 除了文件和进程管理,我们还会深入介绍诸如 `find`(强大的文件搜索)、`sed`(流编辑器)、`awk`(文本处理利器)等工具的常用用法,让你能够处理更复杂的文本和数据任务。 SSH 远程登录: 让你能够安全地远程连接到其他 Linux 服务器,进行管理和操作。 适用人群: Linux 初学者: 想要系统性地掌握 Linux 命令行基础,摆脱对图形界面的依赖。 IT 从业者: 开发者、系统管理员、运维工程师,需要更高效地使用 Linux 进行开发、部署和维护。 对技术有兴趣的学习者: 希望了解操作系统底层运作原理,提升解决问题能力的任何人。 阅读本书,你将获得: 操作 Linux 的自信: 能够独立完成日常的命令行操作。 解决问题的能力: 遇到问题时,能够运用命令行工具进行排查和解决。 工作效率的提升: 告别繁琐的鼠标点击,用命令行快速完成任务。 更深层次的理解: 了解 Linux 操作系统的基本原理和工作方式。 《玩转 Linux 命令》就像一位经验丰富的向导,为你指明前行的方向,扫清道路上的障碍。它将陪伴你一步步从 Linux 命令行的门外汉,成长为一名能够熟练运用命令行解决各种问题的达人。现在,就翻开它,开启你的命令行探索之旅吧!

作者简介

金泰龙

韩国庆北大学计算机工程硕士,以LG电子监控事业部研究员身份开始职业生涯。从“千里眼”(韩国国内最早提供PC通讯网上服务的门户网站)时期起,在Linux俱乐部活动中表现活跃,并成立了目前韩国国内影响力最大的Linux俱乐部——韩国Linux用户集团(1998年,http://www.lug.or.kr)。曾以韩国Linux协会运营委员、技术委员的身份在KT、LG电子、韩国调配厅、釜山工商会议所、延世大学、釜山大学等20多处企业、机关、高校进行Linux学术会议及演讲,并与韩国软件振兴院(KIPA)、大邱数码产业振兴院(DIP)、韩国电子通讯研究院(ETRI)共同参与开源软件项目。

现任韩国Linux用户集团会长,并在永进专科学院定期举办Linux演讲。为推动以Linux为核心的开源软件行业,不断努力提升工学和技术专家的地位,并致力于建设以工学和技术为核心的Tech-nation Korea,努力实现工学政治。

著作

《CentOS Linux构建管理实务》(2007)

《金泰龙C++基础入门:利用gcc学习C++和wxWidgets GUI》 (2009)

《金泰龙JSP Web编程入门》(2011)

《金泰龙C语言编程入门》(2012)

目录信息

第1章 Linux shell和基本指令  1
1.1 Linux和shell  2
1.2 Linux环境  8
1.2.1 Linux诞生  8
1.2.2 Linux的特征  9
1.2.3 vi(m)编辑器  11
1.2.4 Linux中的文件和文件系统  12
1.3 shell脚本编程基础知识  14
1.3.1 简介  14
1.3.2 帮助页面  19
1.3.3 Linux默认指令格式  22
1.3.4 shell的编辑模式  22
1.3.5 指定变量和消息输出(printf、echo)  24
1.3.6 使用多重指令(;、&&、||)  25
1.3.7 历史命令(.history、↓、↑、!)  26
1.4 Linux目录操作  28
1.4.1 pwd:显示当前工作目录位置  29
1.4.2 ls:显示当前文件和目录内容  30
1.4.3 cd:切换工作目录  37
1.4.4 less、more、cat:浏览文本文件  39
1.4.5 file:显示文件类型  41
1.4.6 Linux的默认目录结构  43
1.4.7 文件和目录操作  44
1.5 I/O重定向和管道  55
1.5.1 标准输出  55
1.5.2 标准输入  58
1.5.3 管道  60
1.5.4 过滤器  61
1.6 文件访问权限  62
1.6.1 文件/目录许可  63
1.6.2 chmod  64
1.6.3 chown、chgrp  69
1.6.4 lsattr、chattr  69
1.7 作业控制  71
1.7.1 bg  72
1.7.2 jobs、ps、kill  73
1.8 系统管理员指令总结  78
1.8.1 用户和组  78
1.8.2 终端  85
1.8.3 信息与统计  88
1.8.4 系统日志  96
1.8.5 作业控制  98
1.8.6 进程管理和启动  103
1.8.7 网络  106
1.8.8 文件系统  109
1.8.9 备份  121
1.8.10 系统资源  121
1.8.11 模块  124
1.8.12 其他指令  125
第2章 shell脚本示例解析  130
2.1 Linux启动过程和登录shell  131
2.1.1 Linux启动、终止与重启  131
2.1.2 shell初始化文件  133
2.2 命令行解析  140
2.3 指令类型  140
2.4 进程与shell  142
2.4.1 运行中的进程类型  142
2.4.2 系统调用  143
2.4.3 进程创建和系统调用  145
2.5 变量(Bourne shell)  150
2.5.1 变量类型  150
2.5.2 生成变量  158
2.5.3 局部变量转为环境变量  159
2.5.4 预定义变量  160
2.5.5 特殊参数变量  163
2.6 Bourne shell  165
2.6.1 shbang行  165
2.6.2 注释  165
2.6.3 通配符  165
2.6.4 显示器显示  166
2.6.5 局部变量  166
2.6.6 全局变量  166
2.6.7 从变量读取值  167
2.6.8 读取用户输入信息  167
2.6.9 参数  168
2.6.10 数组  168
2.6.11 替换命令  168
2.6.12 算术运算  169
2.6.13 运算符  169
2.6.14 条件语句  169
2.6.15 循环语句  171
2.6.16 文件测试  172
2.6.17 函数  176
2.7 Bash shell语法和结构  176
2.7.1 Bash shell介绍  176
2.7.2 Bash shell环境及初始化文件  178
2.7.3 Bash shell选项设置命令set、shopt  184
2.7.4 shell提示符  188
2.7.5 搜索路径  190
2.7.6 hash命令  191
2.7.7 source或dot(.)命令  192
2.8 命令行  192
2.8.1 命令处理顺序  192
2.8.2 内置命令和help命令  193
2.8.3 改变命令行处理顺序  199
2.8.4 终止状态  201
2.8.5 命令行中的多个指令  202
2.8.6 命令整合  203
2.8.7 执行命令条件  203
2.8.8 通过后台执行命令  204
2.9 作业控制  204
2.10 命令行快捷方式  207
2.10.1 完成命令和文件名  207
2.10.2 历史  207
2.10.3 访问历史文件的命令  208
2.10.4 命令行的编辑  214
2.11 别名  217
2.11.1 别名目录  217
2.11.2 创建别名  217
2.11.3 删除别名  218
2.12 操作目录栈  219
2.12.1 dirs命令  219
2.12.2 pushd和popd命令  219
2.13 元字符集  220
2.14 替换文件名  221
2.14.1 星号(*)  221
2.14.2 问号(?)  222
2.14.3 方括号([ ])  222
2.14.4 花括号扩展({ })  223
2.14.5 转义元字符()  223
2.14.6 波浪线(~)和连字符(-)扩展  224
2.14.7 通配符管理  224
2.14.8 扩展文件名通配  225
2.15 变量(Bash shell)  226
2.15.1 变量类型  226
2.15.2 变量名  227
2.15.3 declare命令  227
2.15.4 局部变量和使用范围  227
2.15.5 环境变量  229
2.15.6 清除变量设置  235
2.15.7 显示变量值  236
2.15.8 变量扩展修饰符  237
2.15.9 截取字符串的变量扩展名  239
2.15.10 位置参数  240
2.15.11 其他特殊变量  242
2.16 引用符号  242
2.16.1 反斜杠()  243
2.16.2 单引号(' ')  244
2.16.3 双引号(" ")  244
2.17 替换命令  245
2.18 算数扩展  247
2.19 shell扩展顺序  247
2.20 数组  248
2.21 函数  249
2.21.1 函数定义  249
2.21.2 清除函数目录和设置  251
2.22 标准I/O和重定向  251
2.23 管道  257
2.24 shell调用选项  260
第3章 正则表达式和模式检索  263
3.1 正则表达式  264
3.2 正则表达式的元字符集  264
第4章 grep模式检索  272
4.1 grep  273
4.2 egrep  281
4.3 fgrep  282
第5章 sed实用工具  284
5.1 sed  285
5.2 sed版本和帮助页面  285
5.3 sed工作原理  286
5.4 正则表达式的使用  287
第6章 awk编程  289
6.1 awk  290
6.2 awk编程格式  291
6.2.1 从文件输入  292
6.2.2 从指令输入  292
6.2.3 awk工作原理  293
6.2.4 print函数  295
6.2.5 OFMT变量  296
6.2.6 printf函数  296
6.2.7 awk -f选项  298
6.2.8 记录和字段  299
6.2.9 模式和动作  301
6.3 awk和正则表达式  303
6.4 脚本文件中的awk  305
6.5 比较表达式  306
6.5.1 条件表达式  307
6.5.2 算术运算符  308
6.5.3 逻辑运算符和混合模式  308
6.6 awk变量  309
6.6.1 数值与字符串常数  309
6.6.2 用户自定义变量  310
6.6.3 BEGIN模式  314
6.6.4 END模式  314
6.7 awk重定向  315
6.7.1 输出重定向  315
6.7.2 输入重定向  315
6.8 awk管道  317
6.9 条件语句  319
6.9.1 if条件语句  320
6.9.2 if/else 条件语句  320
6.9.3 if/else if/else条件语句  320
6.10 loop循环语句  321
6.10.1 while循环语句  322
6.10.2 for循环语句  322
6.10.3 管理循环语句  322
6.11 程序管理语句  323
6.11.1 next语句  323
6.11.2 exit函数  323
6.12 数组  324
6.12.1 针对关联数组的子脚本  324
6.12.2 命令处理参数  329
6.13 awk内置函数(1)  331
6.14 awk内置数学函数  334
6.14.1 整数型函数  335
6.14.2 生成随机数  335
6.15 用户自定义函数  336
6.16 其他  338
6.16.1 固定宽度字段  338
6.16.2 多行记录  340
6.17 awk内置函数(2)  341
6.17.1 字符串函数  341
6.17.2 时间函数  343
6.17.3 命令行参数  345
6.17.4 读取输入值  345
6.17.5 控制函数  346
6.17.6 用户自定义函数  347
6.17.7 awk命令行选项  347
第7章 Bash shell编程  350
7.1 简介  351
7.2 读取用户输入  353
7.2.1 变量  353
7.2.2 read命令  354
7.3 算数运算  355
7.3.1 整数算数运算  355
7.3.2 实数型算数运算  359
7.4 位置参数和命令行参数  360
7.4.1 位置参数  360
7.4.2 set命令和位置参数  361
7.5 条件语句和分支语句  363
7.5.1 终止状态  363
7.5.2 test命令和let命令  364
7.5.3 if/then/else命令  372
7.5.4 if/then/elif/then/else命令  373
7.5.5 文件测试  375
7.5.6 null命令  378
7.5.7 case命令  381
7.6 循环语句命令  384
7.6.1 for循环语句命令  384
7.6.2 $*和$@  387
7.6.3 while循环语句命令  388
7.6.4 until循环语句命令  390
7.6.5 select命令和菜单  392
7.6.6 循环语句管理命令  394
7.6.7 I/O重定向和子shell  399
7.6.8 在后台使用循环语句  401
7.6.9 IFS和循环语句  401
7.7 函数  402
7.7.1 解除函数设置  403
7.7.2 导出函数  404
7.7.3 函数参数和返回值  404
7.7.4 函数和source命令  406
7.8 捕获信号  408
7.8.1 信号重置  410
7.8.2 忽略信号  410
7.8.3 trap目录  410
7.8.4 trap和函数  411
7.9 调试Bash脚本  413
7.10 命令行  414
7.10.1 使用getops的命令行处理  414
7.10.2 特殊的getopts变量  416
7.10.3 eval命令和命令行解析  417
7.11 Bash选项  418
7.11.1 shell调用选项  418
7.11.2 set命令和选项  419
7.12 shell内置命令  420
7.13 shell对照表  421
7.14 Linux启动脚本分析  421
7.15 利用Bash脚本创建Text GUI  428
7.15.1 安装dialog实用工具  428
7.15.2 dialog用法  432
7.15.3 消息框(MsgBox)  434
7.15.4 yes/no消息框  434
7.15.5 输入框  435
7.15.6 单选列表  436
7.15.7 编写dialog示例  437
第8章 vi(m)编辑器和有用的实用工具  442
8.1 vi(m)编辑器:vi improved  443
8.1.1 vi(m)  443
8.1.2 vi(m)启动  444
8.1.3 常用编辑命令  447
8.1.4 高级编辑命令  454
8.1.5 使用多个编辑窗口  465
8.2 vi(m)教程  467
8.3 有用的实用工具  481
8.3.1 cut  481
8.3.2 paste  482
8.3.3 join  483
8.3.4 tr  483
8.3.5 uniq  484
8.3.6 split  485
8.3.7 col  486
8.3.8 xarg  487
8.3.9 find  488
8.3.10 tee  492
索引  494
· · · · · · (收起)

读后感

评分

评分

评分

评分

评分

用户评价

评分

我一直觉得Linux的命令行界面是技术宅的专属领域,直到我发现了《Linux shell脚本编程入门》。这本书真的太棒了!它从最基础的“为什么”和“是什么”讲起,让我这个完全没有接触过shell脚本的菜鸟,也能轻松理解它的核心概念。作者的语言风格非常接地气,就像和朋友聊天一样,让你在轻松愉快的氛围中学习。我特别喜欢书中关于“函数”和“模块化”的讲解,它让我明白,即使是简单的脚本,也可以通过合理的组织和设计,变得更加清晰、易于维护和复用。 这本书最让我惊艳的是它的“案例驱动”学习法。它不是那种干巴巴的语法讲解,而是通过一个个生动、实用的案例,让你在解决问题的过程中学习shell脚本。比如,书中有一个章节专门讲解如何写一个脚本来批量处理图片,另一个章节是关于如何自动化服务器的备份。这些案例都非常贴近实际工作需求,让我能够立刻看到所学知识的应用价值。我按照书中的方法,动手写了一个脚本来自动整理我的下载文件夹,把不同类型的文件移动到相应的子目录中,这个过程让我觉得既有趣又有成就感。而且,书中对错误处理的讲解也相当到位,让我明白如何编写更健壮、更可靠的脚本,而不是写完就等着出错了。

评分

坦白说,拿到《Linux shell脚本编程入门》之前,我对“编程”这个词还停留在需要写很长很长的代码,而且必须用到各种复杂的 IDE 的认知中。这本书彻底颠覆了我的看法。原来,像shell脚本这样的“编程”,更像是一种“指令的组合与自动化”。作者通过循序渐进的章节安排,让我从最简单的“echo”命令开始,逐渐学会了变量的使用、条件判断(if/else)、循环(for/while),以及函数等核心编程概念。让我印象深刻的是,书中对每一个概念的解释都配有生动形象的例子,比如用一个简单的脚本来模拟一个猜数字的游戏,或者用一个脚本来判断一个文件是否存在,这些例子让我能够立即看到所学知识的实际应用,而不是仅仅停留在理论层面。 这本书的另一大亮点在于它的“实战性”。它不仅仅是讲解语法,更重要的是教会你如何运用这些语法解决实际问题。书中提供的那些自动化运维、文件管理、系统监控的脚本示例,简直就是一本“宝藏”。我迫不及待地把一些脚本应用到了我的个人服务器上,比如一个自动清理临时文件的脚本,或者一个每天定时发送邮件通知服务器状态的脚本。这些自动化脚本不仅省去了我大量的重复劳动,还让我对Linux系统有了更深入的认识,理解了它背后是如何工作的。对于我这种初学者来说,这种“学以致用”的学习方式,是极大的鼓舞。

评分

这本《Linux shell脚本编程入门》完全颠覆了我之前对Linux命令行和脚本的刻板印象。我一直觉得shell脚本是那些系统管理员的“黑魔法”,普通人难以企及。但这本书用一种非常亲切和循序渐进的方式,把我带进了这个世界。作者最开始讲解的不是那些高深的技巧,而是如何去理解shell的哲学,如何去看待一个脚本的逻辑。我印象特别深刻的是,书中关于“变量”的讲解,它不仅仅是告诉你怎么定义变量,更重要的是告诉你变量在脚本中的作用,以及如何巧妙地运用它们来提高脚本的灵活性和可读性。 这本书的另一个核心优势在于它提供了大量的“真实世界”的应用案例。它不是那种只讲理论,不讲实践的书。我看了它关于自动化部署、日志分析、定时任务管理等章节,发现里面的例子都非常贴合实际工作场景。我立刻就把书中学到的知识应用到我自己的项目中,比如写了一个脚本来自动拉取最新的代码并进行部署,还有一个脚本来定期清理服务器上的旧日志文件。这些脚本的编写过程,让我对Linux系统有了更深入的理解,也让我感觉自己掌握了一项非常有用的技能。而且,书中对每一个命令的讲解都非常到位,不仅说明了命令本身,还列出了常用的选项,并给出了多个实际应用示例,这让我能够快速掌握并灵活运用。

评分

说实话,我之前对shell脚本的理解仅仅停留在“在命令行里打几个字”的程度。这本书的出现,让我真正领略到了shell脚本的强大之处。《Linux shell脚本编程入门》最大的优点在于它非常注重基础知识的梳理和概念的清晰阐述。作者没有急于展示多么炫酷的脚本,而是花费了大量的篇幅来讲解shell的内部机制、管道、重定向等基础概念。这些基础知识听起来可能有点枯燥,但正是这些基础,支撑起了整个shell脚本编程的体系。我之前一直不理解为什么有时候一个简单的命令后面要加“>”或者“|”,读了这本书之后,才恍然大悟,原来这是强大的输入输出重定向和管道机制,它们让命令之间可以高效地协作。 这本书的叙事方式也非常吸引人,它不像传统的教科书那样死板。作者的语言风格比较轻松自然,读起来很有亲切感,就像是有一位经验丰富的同行在旁边手把手教你一样。书中提供的练习题也非常有针对性,能够有效地巩固我学习到的知识点。我特别喜欢书中关于错误处理的部分,讲解了如何使用`set -e`、`trap`等命令来捕获和处理脚本运行中的错误,这对于编写健壮的脚本至关重要。在学习过程中,我曾经遇到过一个脚本运行出错,但找不到原因的情况,通过书中关于调试的章节,我学会了如何一步步定位问题,最终解决了它,那种成就感真的难以言喻。

评分

这本《Linux shell脚本编程入门》绝对是我想象中Linux学习之旅的完美开端。我之前对命令行总是有种望而却步的感觉,觉得那些黑色的终端界面充满了神秘和不可理解的符号。但这本书以一种非常平易近人的方式,一点点揭开了shell脚本的面纱。作者并没有一开始就丢给我一大堆晦涩的命令和复杂的语法,而是从最基础的概念讲起,比如什么是shell,什么是脚本,以及为什么要学习它们。我特别喜欢书中用生活化的比喻来解释一些抽象的概念,比如把脚本比作一串指令,让电脑按照顺序执行,这让我一下子就理解了脚本的核心作用。 而且,书中的示例代码都非常贴合实际应用场景,不是那种空洞的理论演示。比如,它教你如何写一个脚本来批量重命名文件,如何自动备份某个目录,甚至是如何监控服务器的运行状态。这些都是我工作中经常会遇到的痛点,有了脚本,那些繁琐的手动操作瞬间就变得自动化了,极大地提高了工作效率。最让我惊喜的是,书中对每一个命令的讲解都非常细致,不仅说明了命令的功能,还详细列出了常用的选项及其作用,并且提供了大量的实例,让我能够动手实践,加深理解。即使遇到一些我完全不熟悉的命令,通过书中清晰的讲解和示例,我也能很快掌握它的用法。

评分

抱歉 看了一半 还没入门 看不下去了

评分

主要看shell下正则表达式,再复习sed/awk这种一辈子都学不会的玩意。 比较贴近中国读者的地方在于书中的例子很多都是汉字,不好的地方在于印刷错误,例子不能执行,只能靠自己判断去写。还有就是有些章节太短,比如sed或者grep,不过总体来讲入门还行。

评分

有点拖沓,也不像他说的简洁易懂啦。有些内容一直讲了又讲。

评分

前后严重重复 很多部分讲了超过三遍……内容 还算使用

评分

抱歉 看了一半 还没入门 看不下去了

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

© 2026 onlinetoolsland.com All Rights Reserved. 本本书屋 版权所有