VIM处理工具与正则表达式练习

*本文中/data目录为训练目录

1.在vim中设置TAB缩进为四个字符

打开vim 输入:set tabstop=4

 

2.复制/etc/rc.d/init.d/functions文件至/tmp/,替换/tmp/functions文件中的/etc/sysconfig/init为/var/log

cp  /etc/rc.d/init.d/functions /tmp

vim /tmp/functions

输入  :%s@/etc/sysconfig/init@/var/log/gi   注:这里用正斜线看着不太舒服 建议用@号

 

3.删除/tmp/functions文件中所有以#开头,且#后面至少有一个空白字符的行的行首的#号

先进入vim

第一种方法:%s/^#[[:space:]]/[[:sapce:]]/gi

第二种方法:%s/^#   /    /g

 

4.找出ifconfig"网卡名"命令结果中本机的ipv4地址

第一种方法

[19:49:34 1;33mroot@xlh /data]#ifconfig ens33 |head -2 | tail -n1|tr -s " " | cut -d " " -f3

 第二种方法

[20:02:00 1;33mroot@xlh ~]#ifconfig |grep -i mask | grep -oE "([0-9]{1,3}\.){3}[0-9]{1,3}"|head -n1


5.查出分区用户UID最大的用户名,UID及shell类型

 [19:55:05 1;33mroot@xlh /data]#cut -d: -f1,3,7 --output-delimiter="---" /etc/passwd | head -1


6.查出分区空间使用率的最大百分比值

 [19:58:56 1;33mroot@xlh /data]#df | tr -s " " | cut -d" " -f5 |sort -nr

7.查出/tmp的权限,以数字方式显示

 [20:05:23 1;33mroot@xlh /data]#stat /tmp |tr -s " " | cut -d" " -f2|head -4| tail -n -1


8.统计当前连接本机的每个远程主机IP的连接处,并按从小到大排序

 [20:12:40 1;33mroot@xlh /data]#ss -nt | tail -n4 |tr -s " " : | cut -d" " -f6 |sort|uniq -c |sort -nr |head -n2
    

9.显示/proc/meminfo文件中以大小为S开头的行(使用两种方法)

 第一种方法:[20:45:57 1;33mroot@xlh /data]#cat /proc/meminfo | cut -d: -f1|sort |uniq -c |sort -nr |cat -n | head -20
  
第二种方法:

[15:12:32 1;33mroot@xlh /data]#cat /proc/meminfo |grep -i "^s"

10.显示/etc/passwd/文件中不以/bin/bash结尾的行

 grep -v "/bin/bash$" /etc/passwd

 

11.显示用户rpc默认的shell程序

 [15:53:15 1;33mroot@xlh /data]#cat /etc/passwd | grep -w "^rpc" |grep -o "[^/]\+$"


12.找出Centos7的/etc/grub2.cfg文件中,至少以一个空白字符开头的且后面非空白字符的行

 grep "^[[:space:]]\+[^[:space:]]" /etc/grub2.cfg

grep "^[[:space:]]\+[^[:graph:]]" /etc/grub2.cfg

13.找出“netstat -tan” 命令结果中以LISTEN后任意多个空白字符结尾的行

第一种方法

netstat -tan | grep -i "listen[[:space:]]*$"
第二种方法

netstat -tan | grep  "LISTEN[[:space:]]*$"

14.显示Centos7上所有UID小于1000以内的用户名和UID

 cat /etc/passwd |grep "\<[0-9]{1,3}\>" -E

15.添加用户bash,testbash,basher,sh,nologin(其shell为/sbin/nologin,)找出/etc/passwd用户名和shell同名的行

 cat /etc/passwd | grep "\(\<.*\>\).*\1$"

16.利用df和grep,取出磁盘各分区利用率,并从小到大排序

         df -h |grep "/dev/sd."|tr -s " " :|cut -d: -f5|sort -n

 

posted @   家购诗  阅读(79)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示