Linux脚本写作学习笔记

Linux脚本写作学习笔记


第一章
1.11 调试脚本

  1. For I in {1…6} == for I in seq 1 6

1.12 函数和参数

  1. 1 , 1, 1@, ? 等 . ?等. ?.#代表了变量的总数
  2. 导出函数
  3. shift移动参数

1.13 将一个命令的输出发送给另一个

  1. 管道+反引用+子shell法:output=$(cmd)
  2. 子shell与反引用加双引号

1.14

  1. read命令的用法

1.16

  1. 多种类型的循环

1.17

  1. If elseif
  2. 算数比较 []
  3. [ condition ] && cmd
    [ condition ] || cmd
  4. -a -o的逻辑操作符
  5. 文件有关的测试:-d -f -x -L等
  6. 字符串比较[[ ]],空串-z,-n

第二章
2.2

    • stdin的文件名
  1. cat命令的常规操作

2.4

  1. find命令详解。-print0
  2. proc目录介绍
  3. 文件类型描述符
  4. 文件的三种时间戳
  5. 查找后删除、查找后执行

2.5

  1. xargs命令详解
  2. 常见用法:多行按照指定数目转单/多行、指定分隔符分割字符串、统计行数、结合sh -c子shell

2.6

  1. tr命令详解
  2. 'a-zA-Z’连字符用法
  3. 常见用法:大小写替换、秘钥数字字符替换、删除命中字符集、补集、压缩字符/删除多余字符、文件中的数字相加(https://blog.csdn.net/u011983531/article/details/102758628?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task)
  4. 字符类

2.7

  1. md5sum、sha1sum、md5deep、sha1deep命令
  2. find、xargs、md5sum计算递归校验和
  3. openssl生成shadow密码(加盐散列)

2.8

  1. crypt、gpg、base64命令

2.9

  1. sort命令:对多个文件合并后按指定列排序、检查文件是否排序
  2. uniq命令:删除多余行、提炼唯一行、统计出现次数、找出重复的行

2.10

  1. /tmp目录重启清空
  2. mktemp命令使用:创建临时文件/目录、按照指定模板(3X)生成文件、仅仅只是名字

2.11

  1. split命令:按指定大小分割文件并命名、按指定行/指定字段分割

2.12

  1. %.、#.非贪婪提取文件名、扩展名

2.13

  1. rename命令:批量重命名文件、配合find等批量重命名文件、‘s/ /_/g’ 'y/A-Z/a-z/'命令

2.14

  1. ^与$开始和结束,检查是否为单词(利用自带词典)。在某个文件或者目录中,查找以什么为开始的单词
  2. aspell命令检查是否为单词。
  3. -z输出结果是否为空。

2.16

  1. &后台操作
  2. $! 最后一个进程的pid
  3. wait等待进程结束
  4. parallel命令完成并行

2.17

  1. 生成目录树的自定义方式find+tr+basename
  2. 统计目录中有多少文件,两次fin+wc -l命令

第三章
3.2

  1. dd命令:生成指定大小的文件

3.3

  1. comm命令:交集、差集、求差

3.4

  1. 结合awk、查找并删除重复文件
    一个非常好的学习脚本
    awk命令、sort结合uniq命令

3.5

  1. 文件类型:https://blog.csdn.net/MrDongShiYi/article/details/81625172
  2. 文件权限的解释(特殊权限粘滞位、作为属主使用setuid、setgid)
  3. chmod用法:文件权限改变
  4. chown用法:修改属主

3.6

  1. chattr:设置为不可修改

3.7

  1. touch用法:空白文件生成、修改具体的时间戳

3.8

  1. ln创建符号链接

3.9

  1. file命令:文件类型
  2. While done<
  3. 关联数组
  4. cut命令3.10

3.10

  1. mkfs命令、mount、unmount命令、fdisk命令

3.12

  1. diff命令:对比文件差异
  2. patch命令:根据差异修补文件

3.13

  1. head与tail命令:指定文件/pid来看文件数据

3.15

  1. pushd、dirs与popd:文件栈
    cd-

3.16

  1. Wc命令:统计文本行数、单词书、字符数

3.17

  1. 打印目录树的各种形态:tree

第四章
4.2

  1. 正则表达式的组成:常见的四种符号+几个例子与说明
  2. 正则表达式图形化:https://regexper.com/?#%28%20%2B%5Ba-zA-Z%5D%2B%20%2B%29
    正则表达式在线生成与测试:https://www.sojson.com/regex/generate

4.3

  1. grep命令详解:基于文本内的内容寻找文件/文件内的内容

4.4

  1. cut命令:按列切分字符串

4.5

  1. sed:流式替换,几个特殊用法&、\1等
  2. 几个正则表达式:
    ^$、/d、\b[0-9]{3}\b

4.6

  1. awk命令:按行用指定方法处理文本,进行展示或提炼
    其中有许多内建函数、关联数组支持

4.7+4.8+4.10

  1. 3个例子。逐行统计单词出现次数+做文本全量替换以及反替换+展示固定的列

4.9

  1. paste命令:按列合并文件

4.10+11+12+13+14:

  1. 个例子:打印文件的第N行/列,打印指定行或模式之间的文本,逆序输出,解析文件中的URL与电子邮件地址,删除文件中包含特定单词的句子,替换某个目录下所有文件中的特定词,变量中的文本替换与提取

第五章
5.1-5.4
wget、lynx(只适用于纯文本)与curl下载网页内容
curl与wget区别于联系:https://blog.csdn.net/yushupan/article/details/83578633?depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-2&utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-2

5.5:
基于curl实现gmail读取

5.6:
基于lynx解析网页文字

5.7:
基于curl提取网页图片

5.8:
自动生成网页相册html脚本

5.9
利用Twitter命令行客户端来实现Twitter内容读写。
其中读取使用了各种文本替换工具使之更易读

5.10
了解网络url的api,查询固定内容并将下载结果进行解析

实际上更多的是读取html网页,然后使用文本处理工具剥离各种标签将我们所想要的内容提取出来。

第六章 git学习补充:Linux shell脚本攻略6章+廖雪峰官网

第七章:
7.2-75

  1. tar命令详解:归档文档、压缩文档、解压提取文档。
    各种情景:追加、ssh远程传输、拼接、时间戳检验、比较与现有系统、删除、正则排除
  2. cpio了解
  3. gzip压缩数据/单个文件,gunzip解压缩。
    多个文件数据流的压缩办法、多种比例压缩。与tar的结合
  4. zip与unzip的使用
  5. squashfs环回文件系统创建
  6. rsync同步、备份、远程传输数据(不局限于本地)
    借助crontab实现定期备份
  7. 差异化归档:借助find+date+tar实现
  8. fsarchiver的全盘镜像

第八章:

  1. 网络基础知识:
    TCP/IP协议与packet简介、ifconfig命令显示信息简介、DHCP简介(dhclient命令)、MAC地址欺骗命令、DNS域名服务(/etc/resolv.conf文件定义名字服务器)、DNS查找(/etc/hosts名字解析)、网关理解与route路由列表展示、添加
  2. ping命令介绍与如何看命令返回结果的理解
    ttl理解:https://blog.csdn.net/changandaxue/article/details/84375133?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1

https://baike.baidu.com/item/TTL/130248?fromtitle=TTL%E5%80%BC&fromid=1188265&fr=aladdin
3. ping与curl之间存在不同,ping不通,curl能通是因为ping基于ICMP协议,服务器或者防火墙可以通过拒绝ICMP来拒绝ping。
因此检测连通性不能只用ping,也要用curl

第九章:
9.2:

  1. df与du命令详解。
    du反应文件占用磁盘空间大小;df反应磁盘空间可用情况

9.3

  1. time命令详解,解析软件/程序/脚本执行时间、内存等信息

作业:过去提到的所有例子,用讲的命令手写一遍,这样才算是会了

shell脚本攻略,是带你迅速上手常用的Linux脚本命令,急速知道常用命令的输入输出以及应用场景
结合另一本书命令行与脚本中的几种结构化语句,就可以迅速写出自己需要的脚本

Linux四部分内容

  1. 常用命令(脚本攻略)
  2. 基础语法熟悉:结合常用命令写几个实用脚本(命令行与脚本)+找网上的经典例子进行练习
  3. Linux各种基础知识(命令行与脚本+私房菜)
  4. 各种实用工具、软件(私房菜)
  5. *更高进阶:Unix高级编程
    1+2一起,3+4一起

学习一个新学科之前,一定先要弄清楚怎么学这个问题(就像是重构的注重设计,长远来看无限利好学习效率)(着重点还是描述、目的、途径、指标,从实用角度去看这个学科,迅速get到最基本知识,服务于实际实用,然后再去深入研究,让用的更加优雅)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值