第二周-云计算运维作业

  1. 总结学过的文本处理工具,文件查找工具,文本处理三剑客, 文本格式化命令(printf)的相关命令及选项,示例。

     grep: 用于在文本中搜索指定模式的工具。它支持使用正则表达式进行高级搜索。
      例子:grep '/sbin' test.txt
     sed: 流编辑器,用于在文本流中进行文本替换、删除、插入等操作。它可以在不修改原始文件的情况下对文本进行修改。
      例子:sed 's/\/sbin/print/' test.txt
     awk: 用于对文本进行处理和报告的强大工具。它支持自定义的文本处理规则和操作。
      例子:awk -F ":" '{print $1}' /etc/passwd
     cut: 用于从文本中剪切出指定字段或列的工具。
      例子:ip addr|grep 'link'|head -1|cut -d':' -f2
     sort: 对文本进行排序的工具,可以按行、按字段等进行排序。
      例子:echo "5 3 1 4 2" | tr ' ' '\n' | sort -n
     uniq: 用于从排序后的文本中删除重复的行。
      例子:echo "5 3 1 4 2 4 2" | tr ' ' '\n' | sort -n|uniq
     tr: 用于转换或删除文本中的字符。
      例子:echo "5 3 1 4 2 4 2" | tr ' ' '\n'
     head 和 tail: 分别用于显示文本的开头几行和末尾几行。
      例子:echo "5 3 1 4 2 4 2" | tr ' ' '\n'| head -1
     cat: 将文件连接到标准输出或文件的工具,通常用于查看文件内容。
      例子:cat test.txt
     wc: 统计文本文件的行数、字数和字符数。
      例子:echo "5 3 1 4 2 4 2" | tr ' ' '\n'|wc -l
     find: find 命令用于在文件系统中查找文件和目录。虽然它主要用于查找文件,但也可以结合其他命令和管道来搜索文件内容。
      例子:find / -name xx.sh
     which:查找文件,多用于查找命令来源
      例子:which ls
     whereis:查找工具速度最快的,只能查找二进制程序、文档和源码
      例子:whereis touch  
      printf:一个用于格式化输出文本的命令。它可以按照指定的格式将文本输出到标准输出或指定的文件中
      例子:printf "Name: %s\tAge: %d\n" "John" 25
    
  2. 总结文本处理的grep命令相关的基本正则和扩展正则表达式。
    基本正则表达式(:

     .: 匹配任意单个字符,除了换行符。
     []: 匹配括号内的任意一个字符。
     ^: 匹配行首的位置。
     $: 匹配行尾的位置。
     *: 匹配其前面的字符出现 0 次或多次。
     \: 转义字符,用于匹配特殊字符。
    

扩展正则表达式 :

	+: 匹配其前面的字符出现 1 次或多次。
	?: 匹配其前面的字符出现 0 次或 1 次。
	|: 或操作,匹配两个或多个模式中的一个。
	(): 分组,用于限制或扩展模式的范围。
	{}: 限定符,用于指定重复次数。
	[]: 字符类,用于匹配括号内的任意一个字符。
  1. 总结变量命名规则,不同类型变量(环境变量,位置变量,只读变量,局部变量,状态变量)如何使用。

变量命令规则:

1.以字母或下划线开头2.只能包含字母、数字和下划线
3.区分大小写4.不能使用关键字5.推荐使用小写字母
6.避免使用特殊字符7.使用有意义的名称
  1. 通过shell编程完成,30鸡和兔的头,80鸡和兔的脚,分别有几只鸡,几只兔?

for i in {1..30}
do
if (( i2+(30-i)4 == 80 )); then
echo "鸡的数量为: $i"
echo "兔子的数量为:" $((30-i))
fi
done

  1. 结合编程的for循环,条件测试,条件组合,完成批量创建100个用户,
    1)for遍历1..100'
    2)先id判断是否存在
    3)用户存在则说明存在,用户不存在则添加用户并说明已添加。

     for i in {1..100}
     do
     	   grep T$i /etc/passwd
     	   # if [ $? -eq 0 ]; then
     	     if [ ! $? -eq 0 ]; then
     	        useradd -M T$i
     		  #  userdel T$i
     	       echo "用户以添加"
     	     else
     	       echo "用户已经存在"        
     	   fi
    
     done
    
  2. 磁盘存储术语总结: head, track, sector, sylinder.

     磁头(Head): 磁头是磁盘驱动器上的一个组件,用于读取和写入数据。每个磁盘表面上都有一个或多个磁头,它们可以在磁盘的不同磁道(track)上移动,从而实现数据的读取和写入。
     磁道(Track): 磁道是磁盘表面上的一个圆形轨道,沿着磁盘的半径方向延伸。磁盘上的数据存储在多个磁道上,每个磁道被划分为一个或多个扇区(sector)。磁头可以沿着磁盘的半径方向在不同的磁道之间移动,以读取或写入数据。
     扇区(Sector): 扇区是磁盘上的最小数据存储单位,通常存储一个固定大小的数据块(例如 512 字节)。磁盘的表面被划分为多个同心圆状的磁道,每个磁道由多个扇区组成。数据可以通过磁头读取或写入磁盘的扇区。
     柱面(Cylinder): 柱面是垂直穿过所有磁盘表面的一个虚拟圆柱体,由相同半径的各个磁道组成。柱面号通常用来表示位于磁盘的不同磁道上的扇区的物理位置。在寻址中,柱面号可以用来定位数据的存储位置。
    
  3. 总结MBR,GPT结构。

MBR:
容量限制: MBR 方案最多支持 2TB 的硬盘容量。
分区限制: MBR 方案最多支持 4 个主分区,或者 3 个主分区和 1 个扩展分区(可以包含多个逻辑分区)。
引导方式: MBR 采用传统的引导方式,由 446 字节的引导代码、64 字节的分区表和 2 字节的标识组成。
主要用途: MBR 格式通常用于 BIOS(基于传统 BIOS 的计算机)引导的硬盘。

GPT:
容量限制: GPT 方案支持最多 18EB的硬盘容量。
分区限制: GPT 方案支持最多 128 个分区条目,不再受到主分区和扩展分区的限制。
引导方式: GPT 采用更现代的 EFI引导方式,引导数据存储在备份的分区表中。
主要用途: GPT 格式通常用于 UEFI引导的计算机硬盘,它更适用于较大容量的硬盘和更灵活的分区管理需求。

  1. 总结学过的分区,文件系统管理,SWAP管理相关的命令及选项,示例
    fdisk, parted, mkfs, tune2fs, xfs_info, fsck, mount, umount, swapon, swapoff

     fdisk:用于对磁盘进行分区。
     例子:fdisk /dev/sdb
     parted:磁盘分区工具,功能比fdisk更加强大,支持更多文件系统类型
     例子:parted /dev/sdb 
     mkfs:用于在文件系统上创建新文件系统。
     例子: mkfs.ext4 /dev/sdb1
     tune2fs:用于调整 ext2/ext3/ext4 文件系统的参数和属性。
     例子: tune2fs -L mydata /dev/sdb1
     xfs_info:用于显示 XFS 文件系统的信息。
     例子:xfs_info /dev/sdb1
     fsck:用于检查和修复文件系统
     例子 fsck.ext4 -y /dev/sdb1
     mount:用于将文件系统挂载到文件系统层次结构中的指定位置。
     例子 mount /dev/sdb1 /mnt/data
     umount:用于卸载已经挂载的文件系统。
     例子:umount /mnt/data
     swapon:用于启用交换分区或文件。
     例子 swapon /dev/sdb2
     swapoff:用于关闭交换分区或文件。
     例子 swapoff /dev/sdb2
    
posted @ 2024-04-13 22:26  TestAL4193  阅读(31)  评论(0)    收藏  举报