Linux学习九 LVM逻辑卷扩展

Linux学习九 sed和awk初步认识

前日问题 LVM逻辑卷扩展

lvextend -L 18G /dev/systemvg/vo #将原来大小为16G的逻辑卷扩展到18G
......
lvscan
 ACTIVE            '/dev/systemvg/vo' [18.00 GiB] inherit #逻辑卷扩展空间已经为18G
 
 mount /dev/systemvg/vo /v0  #挂载
 df -hT   #查看挂载文件系统
 /dev/mapper/systemvg-vo xfs        16G   33M   16G   1% /vo  #发现挂载的文件系统大小为16G
  • 分析情况 : 逻辑卷的空间的确扩展了, 但是对应的文件系统大小没有改变,所以挂载后的用df 命令查看的大小仍为扩展前的文件系统大小。

  • 解决办法一: mkfs.xxx再次格式化逻辑卷,但是这样操作之后,原有的数据会丢失,违背了使用卷组的本意

  • 解决办法二: 使用resize2fs或者xfs_growfs来刷新EXT3/4或者XFS设备

xfs_growfs /dev/systemvg/vo #刷新文件系统大小
umount /vo #卸除
mount /dev/systemvg/vo /vo #重新挂载
df -h #查看
/dev/mapper/systemvg-vo   18G   33M   18G   1% /vo   #已经将文件系统改为18G了

前日问题 创建250M的逻辑卷

描述: PE大小默认4M 所以创建出来的逻辑卷为252M

解决: vgchange -s 1M systemvg #修改systemvg卷组的PE大小为1M

知识点

sed工具

  • sed本身是一个管线命令,可以分析standard input

  • sed命令格式: sed [-nefr] [动作]

参数 说明
-n 使用安静模式,只输出被sed特殊处理的那一行或者动作
-e 直接在指令列模式上进行sed的动作编辑
-f 直接将sed的动作写在一个文件内,-f filename可以执行filename内的sed动作
-r sed的动作支持的是延伸型正规表示法的语法
-i 直接修改读取的文件内容,而不是由屏幕输出
  • 动作说明:[n1[,n2]]function
动作 说明
a 新增,后面可以加字符串,字符串会出现在新的一行(目前的下一行)
c 取代,后面可以接字符串,这些字符串会替换n1,n2之间的行
d 删除
i 插入,后面接字符串,字符串会出现在新的一行(目前的上一行)
p 打印
s 取代,可以直接进行取代工作, 如1,20s/old/new/g

awk:数据处理工具

  • awk命令格式: awk ‘条件类型1{动作1} 条件类型2{动作2}…’ filename
自建变量名称 代表意义
NF 每一行($0)拥有的字段总数
NR 目前awk所处理的是第几行数据
FS 目前的分隔字符,默认是空格键
BEGIN
  • awk支持管线操作
[root@localhost ~]# last -n 5
root     pts/0        :0               Wed Nov 11 20:25   still logged in   
root     pts/1        :0               Wed Nov 11 19:35 - 19:36  (00:01)    
root     pts/0        :0               Wed Nov 11 18:49 - 19:42  (00:52)    
root     pts/0        :0               Wed Nov 11 17:27 - 17:30  (00:03)    
root     :0           :0               Wed Nov 11 17:26   still logged in
[root@localhost ~]# last -n 5 | awk '{print $1 "\t" $2}' # $1 $2分别代表每行的第一、二字段
root	pts/0
root	pts/1
root	pts/0
root	pts/0
root	:0


你可能感兴趣的:(Linux)