1. 总结学过的文本处理工具,文件查找工具,文本处理三剑客, 文本格式化命令(printf)的相关命令及选项,示例。
cat 查看文本的内容
#常见选项
-E--show-ends #显示行结束符$
-A--show-all #显示所有控制符
-n--number #对显示出的每一行进行编号
-b--number-nonblank #非空行编号
-s--squeeze-blank #压缩连续的空行成一行
nl显示行号 相当于cat -b
hexdump 查看非文本文件内容
分页显示文本 more向下翻页 less上下均可 head头tail后
cut 命令可以提取文本文件的列
文件查找工具find -name -type
收集文本统计数据 wc
文本三剑客 grep查找文件的内容 sed 可以修改文件的内容或者提取出来文件内容
查找替换,支持使用其他分隔符,s@@@,s###
替换修饰符:g 行内全局替换;p 显示替换成功的行
2.总结文本处理的grep命令相关的基本正则和扩展正则表达式
正则表达式
扩展正则表达式
3. 总结变量命名规则,不同类型变量(环境变量,位置变量,只读变量,局部变量,状态变量)如何使用。
变量命名规则 区分大小写;不能使用程序中的保留字和内置变量:只能使用数字、字母及下划线,且不能以数字开头。
环境变量:可以使用子进程(包括孙子进程)继承父进程的变量,但是无法让父进程使用子进程的变量;一旦子进程修改从父进程继承的变量,将会新的值传递给孙子进程;一般只在系统配置文件中使用,在脚本中较少使用。
声明变量并赋值:export name=VALUE ; declare -x name=VALUE。
变量引用:$name ${name}。
显示所有的环境变量:env、printenv、export、declare -x。
查看指定进程的环境变量:cat /proc/$PID/environ
删除变量:unset name
只读变量:只能声明定义,但后续不能修改和删除,既常量
声明只读变量:readonly name 、declare -r name
查看只读变量:readonly [-p] 、declare -r
位置变量:在bash shell中内置的变量,在脚本代码中调用通过命令行传递给脚本的参数
$1,$2对应第一个、第二个参数,shift[n]换位置
$0命令本身,包括路径
$*传递脚本的所有参数,全部参数合为一个字符串
$@传递脚本的所有参数,每个参数为独立字符串
$#传递给脚本的参数的个数 清空所有位置变量:set --
4. 通过shell编程完成,30鸡和兔的头,80鸡和兔的脚,分别有几只鸡,几只兔?
5. 结合编程的for循环,条件测试,条件组合,完成批量创建100个用户,
6 磁盘存储术语总结: head, track, sector, sylinder.
Head(磁头) 磁头是用来读取和写入数据的关键部件。它附着在机械臂上,可以移动到磁盘的不同部分。每个磁头都可以独立地读取和写入数据,但在同一时间内,只有一个磁头可以访问给定的轨道。
Track(磁道) 磁道是磁盘上的一组同心圆,其中每一个都由一个磁头进行访问。这些磁道被组织成多个扇区,每个扇区包含一定数量的数据位。
Sector(扇区) 用于识别该扇区,以及实际的数据。扇区的大小通常为512字节,但现代磁盘通常使用4KB的扇区大小。
Cylinder(柱面) 柱面是由同一磁道上的所有扇区组成的。在早期的硬盘驱动器中,磁头在访问同一柱面中的所有扇区时是不需要移动的。然而,现代硬盘驱动器使用旋转速度更快的磁盘和更先进的磁头技术,使得访问同一柱面中的不同扇区也需要移动磁头。
7. 总结MBR,GPT结构。
MBR 位于磁盘最开始的扇区,它记录了磁盘分区表的信息,包括分区的数量、大小和类型等。MBR通常只能容纳4个主分区,如果需要更多的分区,需要在扩展分区中创建逻辑分区。MBR的大小是固定的,为512字节。
GPT 基于UEFI(Unified Extensible Firmware Interface)的磁盘分区表,它使用GUID(Globally Unique Identifier)作为分区的标识符。GPT可以容纳更多的分区,并且可以支持更大的磁盘容量。GPT的第一个扇区是GPT头,其中包含了磁盘分区表的信息,以及一个签名(GUID)来验证GPT表的完整性。GPT的分区表位于GPT头之后,每个分区都有一个GUID和一个类型(如系统、数据、恢复等)。GPT的大小不是固定的,可以根据磁盘的大小动态调整。
8. 总结学过的分区,文件系统管理,SWAP管理相关的命令及选项,示例
fdisk, parted, mkfs, tune2fs, xfs_info, fsck, mount, umount, swapon, swapoff
fdisk 用于创建 删除 调整分区
mkfs 用于格式化分区
mount挂载
umount卸载
swapon 启用swap分区
swapoff 关闭swap分区