一、磁盘管理
1.重点
- Linux系统磁盘管理的方法
- 挂载磁盘的步骤
- Linux磁盘分区的工具及其区别
- 查看磁盘与分区的命令
2.详情
1.Linux系统中磁盘管理就是将硬盘通过挂载的方式挂载到linux文件系统中。
2.挂载磁盘的步骤
1、关机
2、添加硬盘
3、创建分区
fdisk /dev/sdb或gdisk /dev/sdb
4、格式化文件系统
mkfs.xfs /dev/sdb1
5、挂载
mount /dev/sdb1 /mnt
3.Linux磁盘分区的工具及其区别
fdisk:分区2TB以下的磁盘,最多可以分4个分区
gdisk:分区2TB以上的磁盘,最多可以分128个分区
4.查看磁盘与分区的命令
lsblk : 查看本机的磁盘
df -h : 查看本机的分区
二、awk
1.重点
- awk的功能是什么?
- awk的语法结构是什么?
- awk的语法的详细组成是什么?
- awk的生命周期
2.简介
1.功能
主要是用来格式化文本
2.awk的语法:
awk [参数] [处理规则] [操作对象]
3.awk 的语法的详细组成
1.参数
2.处理规则执行流程
3.函数
4.预定义变量
5.定位
序号 |
awk语法详细组成 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
1 |
参数(1) |
-F |
- |
- |
- |
- |
- |
- |
2 |
预定义变量(6) |
$0 |
$n |
NF |
NR |
FS |
OFS |
- |
3 |
处理规则的执行流程(4) |
BEGIN{} |
// |
{} |
END{} |
- |
- |
- |
4 |
函数(2) |
print |
printf |
数字- |
- |
- |
- |
+ |
5 |
定位(表达式)(7) |
正则 |
比较6 |
逻辑3 |
算术5 |
条件5 |
范围 |
流程控制 |
6 |
流程控制(3) |
if 3 |
for 3 |
while |
- |
- |
- |
- |
相关符号 |
|| |
! |
!~ |
~ |
<= |
>= |
< |
> |
== |
+ |
- |
* |
/ |
% |
++ |
-- |
%s |
%d |
|
4.生命周期
1.接收:接收一行作为输入
2.分解:把刚刚读入进来得到文本进行分解
3.处理使用处理规则处理文本
4.赋值:使用处理规则处理文本
5.再处理:把处理完成之后的所有的数据交给END{}来再次处理
# 拓展:grep、sed和awk都是读一行处理一行,直至处理完成。
3.详情
预定义变量 |
功能 |
符号 |
案例 |
1 |
代表当前行 |
$0 |
awk -F: '{print $0, "---"}' /etc/passwd |
2 |
代表第n列 |
$n |
awk -F: '{print $1}' /etc/passwd |
3 |
记录当前行的字段数 |
NF |
awk -F: '{print $NF}' /etc/passwd |
4 |
用来记录行号 |
NR |
awk -F: '{print NR}' /etc/passwd |
5 |
指定文本内容分隔符(默认是空格) |
FS |
awk 'BEGIN{FS=":"}{print $NF, $1}' /etc/passwd |
6 |
指定打印分隔符(默认空格) |
OFS |
awk -F: 'BEGIN{OFS=" >>> "}{print $NF, $1}' /etc/passwd |
awk处理规则的执行流程 |
1 |
2 |
3 |
4 |
种类 |
BEGIN{} |
// |
{} |
END{} |
作用 |
一般用于定义变量 |
正则,用于匹配 |
循环,作用是处理文件 |
义是打印之前,处理一遍 |
*执行顺序:从左到右
*是否要求全部出现:不需要,最少一个,最多四个
函数 |
参数 |
|
|
|
|
print 打印 |
- |
- |
- |
- |
- |
printf 格式化打印 |
%s(字符串) |
%d(数字) |
- (左对齐) |
+(右对齐) |
数字(至少占用字符位) |
[root@localhost ~]
# awk -F: 'BEGIN{OFS=" | "}{printf "|%+15s|%-15s|\n", $NF,$1}' /etc/passwd
定位 |
1 |
2 |
3 |
4 |
5 |
6 |
正则表达式 |
|
|
|
|
|
|
比较表达式 |
> |
< |
>= |
<= |
~ |
!~ |
逻辑表达式 |
&&(逻辑与 ) |
||:逻辑或 |
!:逻辑非 |
|
|
|
算术表达式 |
+ |
- |
* |
/ |
% |
|
条件表达式 |
== |
> |
< |
>= |
<= |
|
范围表达式 |
|
|
|
|
|
|
案例:
1.awk -F: '/root/{print $0}' /etc/passwd
2.awk -F: '/^root/{print $0}' /etc/passwd
3.awk -F: '$4 > $3{print $0}' /etc/passwd
4.awk -F: '$NF ~ /bash/{print $0}' /etc/passwd
5.awk -F: '$NF !~ /bash/{print $0}' /etc/passwd
6.awk -F: '$3 + $4 > 2000 && $3 * $4 > 2000{print $0}' /etc/passwd
7.awk -F: '$3 + $4 > 2000 || $3 * $4 > 2000{print $0}' /etc/passwd
8.awk -F: '!($3 + $4 > 2000){print $0}' /etc/passwd
9.awk -F: '$3 + $4 > 2000{print $0}' /etc/passwd
10.awk -F: '$3 * $4 > 2000{print $0}' /etc/passwd
11.awk -F: 'NR % 2 == 0{print $0}' /etc/passwd
12.awk -F: 'NR % 2 == 1{print $0}' /etc/passwd
13.awk -F: 'NR == 3{print $0}' /etc/passwd
14.awk -F: '/^root/,/^ftp/{print $0}' /etc/passwd
序号 |
流程控制 |
语法结构 |
- |
- |
1 |
if |
if(){} |
if(){}else{} |
if(){}else if(){}else{} |
2 |
for |
for(i="初始值";条件判断;游标){} |
- |
- |
3 |
while |
while(条件判断){} |
- |
- |
案例:
[root@localhost ~]
# awk -F: '{if($3>$4){print "大于"}else{print "小于或等于"}}' /etc/passwd
[root@localhost ~]
# awk -F: '{for(i=10;i>0;i--){print $0}}' /etc/passwd
[root@localhost ~]
# awk -F: '{i=1; while(i<10){print $0, i++}}' /etc/passwd
[root@localhost ~]
# awk -F: '{if(NR%5==0){print "----------------"}print $0}' /etc/passwd