ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

磁盘分区和awk命令

2021-12-22 20:33:01  阅读:188  来源: 互联网

标签:etc passwd 命令 awk print 磁盘分区 root localhost


磁盘管理

Linux中磁盘管理就是将硬盘通过挂载的方式挂载到linux文件系统中

主要步骤是磁盘分区和挂载

具体步骤如下:

1.关机

2.添加硬盘

​ 2.1 通过lsblk命令查看本机的磁盘

​ 2.2 通过df -h命令查看本机的分区

3.磁盘分区

​ 有两个命令,fdisk和gdisk

  • fdisk:分区2TB以下的磁盘,最多可以分4个分区

  • gdisk:分区2TB以上的磁盘,最多可以分128个分区

    n : 新建一个分区
    p : 打印分区表
    w : 写入磁盘并退出
    q : 退出
    d : 删除一个分区

磁盘分区创建步骤如下,创建多个分区重复多次即可

[root@localhost ~]# gdisk /dev/sdc
-bash: gdisk: 未找到命令
# 安装gdisk
[root@localhost ~]# yum -y install gdisk
# 再重新执行
[root@localhost ~]# gdisk /dev/sdc
Command (? for help): n
# 选择命令 输入n新建分区
Partition number (1-128, default 1): 
# 分区号(1-128)回车键使用默认值
First sector (34-6920601566, default = 2048) or {+-}size{KMGTP}: 
# 起始扇区 回车键使用默认值
Last sector (2048-6920601566, default = 6920601566) or {+-}size{KMGTP}: +100G
# last扇区 使用+号来添加
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 
Changed type of partition to 'Linux filesystem'

Command (? for help): w
# w写入磁盘并退出

4.格式化文件系统

[root@localhost ~]# mkfs.xfs /dev/sdc1

5.挂载

[root@localhost ~]# mount /dev/sdc1 /mnt
[root@localhost ~]# df -h
# 使用df -h确认挂载是否成功

awk命令

AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。

之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。

相较于 sed 常常作用于一整个行的处理, awk 则比较倾向 于一行当中分成数个『字段』来处理。

1. awk的语法

​ awk [参数] [处理规则] [操作对象]

2. 参数

​ -F :指定文本分隔符(默认是以空格作为分隔符)

​ 案例:打印文本的最后一列

​ awk -F '{print $NF}' 文件路径

3.awk中的预定义变量

$0	: 代表当前行
		[root@localhost ~]# awk -F' ' '{print $0}' 1.txt
# {}里循环打印出每一行的内容
$n	:代表第n列
		[root@localhost ~]# awk -F' ' '{print $1}' 1.txt
NF  :记录当前行的字段数
		[root@localhost ~]# awk -F' ' '{print NF}' 1.txt
$NF:最后一列		
		[root@localhost ~]# awk -F' ' '{print $NF}' 1.txt
NR	:用来记录行号
		[root@localhost ~]# awk -F' ' '{print NR}' 1.txt
FS  :指定文本内容分隔符(默认是空格)
		[root@localhost ~]# awk 'BEGIN{FS=":"}{print $NF, $1}' 1.txt
		FS 的优先级要高于 -F
OFS :指定打印分隔符(默认空格)
		[root@localhost ~]# awk -F: 'BEGIN{OFS=" >>> "}{print $NF, $1}' 1.txt

4.awk处理规则的执行流程

​ BEGIN{ }
​ //
​ { }
​ END{ }

image

5.awk中的函数

print 打印
printf 格式化打印
%s 字符串
%d 数字
- 左对齐
+ 右对齐
15 至少占用15字符
[root@localhost ~]# awk -F: 'BEGIN{OFS=" | "}{printf "|%+15s|%-15s|\n", $NF,$1}' /etc/passwd

6.awk中的定位

6.1.正则表达式

[root@localhost ~]# awk -F: '/root/{print $0}' /etc/passwd
[root@localhost ~]# awk -F: '/^root/{print $0}' /etc/passwd

6.2.比较表达式

> 大于
< 小于
>= 大于等于
<= 小于等于
~ 正则匹配
!~ 正则不匹配

​ 案例

要求打印属组ID小于属主ID的行
	[root@localhost ~]# awk -F: '$4 < $3{print $0}' /etc/passwd
		
案例:结尾包含nologin
	[root@localhost ~]# awk -F: '$NF ~ /bash/{print $0}' /etc/passwd
		
案例:结尾不包含nologin
	[root@localhost ~]# awk -F: '$NF !~ /bash/{print $0}' /etc/passwd

6.3.逻辑表达式

&& 逻辑与
|| 逻辑或
! 逻辑非

​ 案例

[root@localhost ~]# awk -F: '$3 * $4 > 3000 && $3 - $4 < 0{print $0}' /etc/passwd
[root@localhost ~]# awk -F: '$3 * $4 > 3000 || $3 - $4 < 0{print $0}' /etc/passwd
[root@localhost ~]# awk -F: '!($3 + $4 > 2000){print $0}' /etc/passwd

6.4.算数表达式

+
-
*
/
% 取余

​ 案例
​ [root@localhost ~]# awk -F: '$3 + $4 > 2000{print $0}' /etc/passwd

6.5.条件表达式

	==
	>
	<
	>=
	<=
	
案例:要求打印第五行
			[root@localhost ~]# awk -F' ' 'NR == 5{print $0}' 1.txt

6.6.范围表达式

案例:打印以bin开头的行
[root@localhost ~]# awk -F: '/^bin/{print $0}' /etc/passwd

7.流程控制

​ 流程控制只存在于循环中

if
表达式:
if(){}
if(){}else{}
if(){}else if(){}else{}

[root@localhost ~]# awk -F: '{if($3>$4){print $3}else{print $4}}' /etc/passwd
for
表达式:
for(i="初始值";条件判断;游标){}
[root@localhost ~]# awk -F: '{for(i=1;i<10;i++){print $0}}' /etc/passwd
while
表达式:
while(条件判断){}
[root@localhost ~]# awk -F: '{i=1; while(i<10){print $0, i++}}' /etc/passwd

标签:etc,passwd,命令,awk,print,磁盘分区,root,localhost
来源: https://www.cnblogs.com/TonyYu0821/p/15720965.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有