Linux和Shell回炉复习系列文章总目录


本页内容都是本人回炉Linux时整理出来的。这些文章中,绝大多数命令类内容都是翻译、整理man或info文档总结出来的,所以相对都比较完整。
本人的写作方式、风格也可能会让朋友一看就恶心到直接右上角叉叉,对此本人只能say sorry。但本人能自信的说,很多文章能算得上是查缺补漏和原理(机制)深入型的内容,也有很多是手册型文章。
文章中有非常多的内容是我个人摸索的时候推断、测试出来的,虽以目前本人的能力还没发现不通之处,但错误难免,所以若各位朋友发现什么错误,或有疑惑、更好的建议等,盼请各位能在评论区不吝留下宝贵笔迹。最后,希望各位能读有所获。
以下是本系列文章的大纲,其中个人感觉较好的文章或感觉与众不同有看点的就自封了一个(精)字。此页所列博文完全原创,花费了作者本人的极大心血,如转载,请务必标明原文链接
我将尽量写出整个体系的内容,初学的朋友可以视之为学习资料,如同看书一样。虽然网上培训视频比较好入门,大方向上的知识点也还算完整,我个人也是这么入门的(基本上看完了某哥和某孩共两整期的视频课程),但看完后入门了,在回炉深造的时候,却发现这些视频课程缺少很多内容,甚至说,看完视频会遗漏很多非常重要的知识点,但可能自己根本就不知道遗漏了(就像学习了1+1和1×1等知识,却不知道它们是算术运算),这就容易造成知识点不衔接、知识体系到处是漏洞的问题(我刚看完视频连bash中文手册都看不懂,不是它有多难,而是因为知识点散乱不衔接)。我在写作的时候,尽量让整个知识体系完整,如果阅读过程中发现了不知道的知识点、术语或名词,在前面的文章中基本都能翻到。对单篇文章而言,为了让文章看上去更流畅更完整,即使是很多细节或偏僻知识点也花了大量时间去描述。除了本页第一篇文章(因为太基础)和服务类文章,其余绝大多数文章都可以从入门到深入掌握。
总之,我希望能帮助初学者,让这些朋友能获取到尽量完整的知识以及尽量多的原理,以补充看视频而导致的知识点缺失。同时,我也希望能对那些毫无IT基础的朋友产生一些鼓励,因为我也是非科班出身,也是毫无计算机基础(很长一段时间都不知道什么叫做服务),也很愚笨(即使学了服务,很长一段时间还是不知道为什么称之为服务),但只要坚持三点就够了:坚持学习、坚持记笔记、坚持动手测试。(别人成功的三要素:坚持、不要脸、坚持不要脸?)
本人是重度强迫症患者(死脑筋),喜欢研究所谓的实现机制和原理,发现涉及到实现机制的时候,或出现疑惑的地方,总要想办法让自己脑袋通畅(曾记得研究xargs时,翻遍网上都只有最基本用法,一狠心自己摸索测试,整整花了一个多星期,到最后才发现能用到xargs的地方也都只用它最基本的功能,真是极度心塞;还有一次无意中发现,"mv /tmp/a/a /tmp/a"会失败,但windows里里层目录就可以覆盖外层同名目录,为了搞懂为什么,又花了大半天时间。所以,有些时候做深入探索真的不值得,时间很宝贵)。因此在很多文章中,加入了我自己的理解和推理,也许各位会发现一些技巧,或解开曾经的疑惑,或发现新大陆。若各位看了之后能忍不住说一声"我靠,原来如此",对我个人肯定是一个绝大的鼓励和肯定。
些许感想,请点开

为了让文章列表更紧凑,字体比较小。如果看着不太爽,请缩放页面150%
还请随手点下"推荐",各位的支持和肯定能激发和鼓励我更强烈的写作热情。谢谢

1.Linux基础

Linux基础pdf版 v2:Linux基础千锤百炼.pdf


  • 1.文件类基础命令
  • 2.Linux系统用户
    • 2.1 系统用户/组管理
    • 2.2 su和sudo
  • 3.文件的权限管理
  • 4.ext文件系统内部原理机制(精)
  • 5.管理文件系统
  • 6.LVM
  • 7.RAID
  • 8.包管理
  • 9.进程和信号(精)
  • 10.系统状态统计和查看
  • 11.服务管理
  • 12.定时任务
  • 13.Linux的网络管理
  • 14.Linux开机详细流程(精)

手册
bash 4.0中文手册:下载

该bash中文手册翻译的挺好,但有些地方遗漏了内容,某些地方也遗漏了单词,而且毕竟是4.0版,和正在使用的man bash有些地方不同(不少地方),因此有疑问时建议中英文对照。

强烈建议:子shell和执行环境的概念贯穿整个shell,当予以最高程度的关注和重视。特别是在shell脚本出现"意料之外"又很难排查的问题时,极大可能是因为shell的环境问题。那些shell编程的书籍,只适合入门,学shell脚本的"形",不适合深入。如果有时间,建议有基础后阅读man bash来学shell的"神"。

本人已经录制了一门Shell进阶的精品课程,专门讲解shell的“神”,可以免去看man bash的痛苦。

课程链接:https://edu.51cto.com/sd/96966

还录制了一个关于"Bash那些少为人知少为人用的一些内幕和小技巧",在B站:https://www.bilibili.com/video/BV1NB4y1u74B

2020年最新Shell脚本从入门到深入教程
  • Shell脚本深入教程:快速入门
  • Shell脚本深入教程:升级Bash
  • Shell脚本深入教程:Bash变量
  • Shell脚本深入教程:Shell脚本带颜色输出
  • Shell脚本深入教程:Bash数值运算
  • Shell脚本深入教程:Bash支持的运算操作
  • Shell脚本深入教程:Bash数组基础
  • Shell脚本深入教程:Bash操作变量和数组元素
  • Shell脚本深入教程:Bash路径通配规则
  • Shell脚本深入教程:Bash命令替换
  • Shell脚本深入教程:Bash进程替换
  • Shell脚本深入教程:Bash测试命令
  • Shell脚本深入教程:Bash流程控制语句
  • Shell脚本深入教程:Bash read命令读取数据
  • Shell脚本深入教程:Bash函数
  • Shell脚本深入教程:Bash高级重定向
  • Shell脚本深入教程:Bash trap信号捕捉用法详解
  • Shell脚本深入教程:Bash解析命令行和eval命令(★★★)
  • Shell脚本深入教程:Shell环境和子Shell的概念(★★★)
Shell脚本或Bash特性
  • 1.SHELL脚本--简介
  • 2.SHELL脚本--echo和printf打印输出
  • 3.Bash特性--多命令逻辑执行顺序
  • 4.Bash特性--变量(基础)
  • 5.Bash特性--bash环境配置流程(精)
  • 6.SHELL脚本--数学运算和bc命令
  • 7.SHELL脚本--expr命令全解(精)
  • 8.Bash特性--管道和重定向基础
  • 9.Bash特性--shell数组基础
  • 10.Bash特性--别名alias(通过alias让rm更安全)(精)
  • 11.Bash特性--命令替换和命令组合
  • 12.Bash特性--shell解析命令行的过程以及eval命令(精)
  • 13.Bash特性--$后加引号($"string"和$'string')
  • 14.Bash特性--trap捕捉信号方法论(精)
  • 15.Bash特性--彻底搞懂shell的高级I/O重定向(精)
  • 16.Bash特性--IFS简单说明
  • 17.SHELL脚本--read命令
  • 18.SHELL脚本--date、sleep、usleep命令
  • 19.Bash特性--test、[ ]、[[ ]]命令
  • 20.Bash特性--shell的编程结构体(精)
  • 21.Bash特性--while循环的陷阱
  • 22.SHELL脚本--tr命令用法和特性全解
  • 23.SHELL脚本--cut命令
  • 24.SHELL脚本--玩透sort命令(精)
  • 25.SHELL脚本--sort命令中文手册
  • 26.SHELL脚本--uniq命令
  • 27.SHELL脚本--seq命令
  • 28.SHELL脚本--functions文件详细分析和说明(精)
  • 29.SHELL脚本--如何写SysV服务管理脚本(精)
子shell、bash内置命令特殊性、后台任务的本质三部曲
  • 1.(精)
  • 2.什么时候进入子shell(精)
  • 3.shell脚本技巧:如何让shell脚本自杀+bash内置命令的特殊性(精)
find & xargs & grep & awk sed(pdf版:玩透sed:探究sed原理.pdf
  • 1.
  • 2.
  • 3.
  • 4.(精)
  • 5.(精)
  • 6.(精)
  • 7.(精)
  • 8.
  • 9.
  • 10.
  • 2.(精)
  • 3.(精)
  • 4.(精)
  • 5.(精)
  • 6.
  • 7.
  • 一些脚本示例和技巧:

    • 1.
    • 2.
    • 3.
    • 4.(精)
    • -------------------------------------------------------
    • 1.
    • 2.
    • 3.
    • 4.

    rsync(一):基础命令和用法(精)

  • 2.2 rsync(二):inotify+rsync和sersync(精)
  • 2.3 rsync(三):算法原理和工作流程分析(精)
  • 2.4 rsync(四):翻译:rsync官方推荐技术报告(精)
  • 2.5 rsync(五):翻译:rsync工作机制(How Rsync Works)(精)
  • 2.6 rsync(六):翻译:man rsync(rsync命令中文手册)(精)
    • 3.第3章 NFS基本应用
    • 4.第4章 DHCP服务
    • 5.第5章 无人值守批量安装Linux操作系统
      • 5.1 PXE+kickstart无人值守安装CentOS 6
      • 5.2 kickstart文件详解(CentOS 6.6)
      • 5.3 PXE+kickstart无人值守安装CentOS 7
      • 5.4 cobbler无人值守批量安装Linux系统
    • 6.第6章 数据包过滤和防火墙
      • 6.1 tcp_wrapper过滤
      • 6.2 防火墙和iptables
      • 6.3 firewalld(待补充)
    • 7.第7章 DNS & bind从基础到深入(精)

    (更多服务软件请移步网站架构系列)

    5.systemd系列

    • 1.systemd时代的服务管理
    • 3.systemd service之:服务配置文件编写(1)
    • 4.systemd service之:服务配置文件编写(2)
    • 5.systemd时代的开机自启动任务
    • 6.systemd时代的运行级别
    • 7.systemd时代的/etc/fstab
    • 8.systemd timesyncd做时间同步
    • 9.systemd timer:取代cron和at的定时任务
    • 10.systemd path:实时监控文件和目录的变动
    • 11.systemd时代的开机启动流程(GPT+systemd)

    加密、签名和SSL握手机制细节(精)

  • 2.openssl命令总指挥
  • 3.openssl genrsa
  • 4.openssl rsa和openssl pkey
  • 5.openssl speed和openssl rand
  • 6.openssl passwd
  • 7.openssl dgst(生成和验证数字签名)
  • 8.openssl rsautl和openssl pkeyutl(文件的非对称加密)
  • 9.openssl enc(对称加密)
  • 10.openssl dhparam
  • 证书请求、颁发、CA相关(SSL官方书籍)

    • 11.openssl req(生成证书请求和自建CA)
    • 12.openssl主配置文件openssl.cnf解析
    • 13.openssl ca(签署和自建CA)
    • 14.openssl x509(签署和自签署)
    • 15.openssl签署和自签署证书的多种实现方式

    7.杂项内容


    • 1.
    • 3.
    • 5.
    • 7.
    • 9.
    • 11.
    • 13.
    • 15.
    • 17.为Linux配置常用源:epel和IUS
    • 19.CentOS 7主机名的弯弯绕绕
    • 21.绝对路径的表示方式为什么是"/usr"而不是"//usr"
    • 23.
    • 25.
    • 2.
    • 4.
    • 6.
    • 8.
    • 10.
    • 12.
    • 14.
    • 16.CentOS飞越城门
    • 18.
    • 20.Linux下快速比较两个目录的不同
    • 22.
    • 24.
    • 26.

    8.我的个人翻译

    网上没有、或不满意,我自己翻译。虽然耗时耗力,但收获斐然。


    • 1.
    • 2.
    • 3.
    • 4.
    • 5.
    • 6.
    • 7.
    • 8.
    • 9.
    • 10.
    • 11.
    • 12.
    • 13.
    • 14.
    • 15.
    • 16.