linux常用命令练习:grep具体使用实例

简介:

 grep常用练习:


1、显示/proc/meminfo文件中以不区分大小的s开头的行;

  grep -i '^s' /proc/meminfo

[root@xuelinux ~]# grep -i '^s' /proc/meminfo

SwapCached:            0 kB

SwapTotal:       2047992 kB

SwapFree:        2047992 kB

Shmem:               252 kB

Slab:              48992 kB

SReclaimable:      17484 kB

SUnreclaim:        31508 kB

2、显示/etc/passwd中以nologin结尾的行;

  grep 'nologin$' /etc/passwd

[root@xuelinux ~]# grep 'nologin$' /etc/passwd

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

取出默认shell为/sbin/nologin的用户列表

grep '\/sbin\/nologin$' /etc/passwd | cut -d: -f1

[root@xuelinux ~]# grep '\/sbin\/nologin$' /etc/passwd | cut -d: -f1

bin

daemon

adm

lp

mail

取出默认shell为bash,且其用户ID号最小的用户的用户名

grep 'bash$' /etc/passwd | sort -n -t: -k3 | head -1 | cut -d: -f1

[root@xuelinux ~]# grep 'bash$' /etc/passwd | sort -n -t: -k3 | head -1 | cut -d: -f1

root      先查找以bash结尾,然后通过sort 按以:为分隔符(-t:)的第三字段(-k3)用户ID号数值从小到大排序-n然后取第一行head -1 最后剪切第一列用户名。 

3、显示/etc/inittab中以#开头,且后面跟一个或多个空白字符,而后又跟了任意非空白字符的行;

 grep '^#[[:space:]]\{1,\}[^[:space:]]' /etc/inittab

[root@xuelinux ~]# grep '^#[[:space:]]\{1,\}[^[:space:]]' /etc/inittab

#   0 - halt (Do NOT set initdefault to this)

#   1 - Single user mode

#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)

#   3 - Full multiuser mode

#   4 - unused

#   5 - X11

#   6 - reboot (Do NOT set initdefault to this)

4、显示/etc/inittab中包含了:一个数字:(即两个冒号中间一个数字)的行;

 grep ':[[:digit:]]:' /etc/inittab

[root@xuelinux ~]#  grep ':[[:digit:]]:' /etc/inittab

id:3:initdefault:

5、显示/boot/grub/grub.conf文件中以一个或多个空白字符开头的行;

 grep '^[[:space:]]\{1,\}' /boot/grub/grub.conf

[root@xuelinux ~]# grep '^[[:space:]]\{1,\}' /boot/grub/grub.conf

root (hd0,0)           此行有多个空白字符开头

kernel /vmlinuz-2.6.32-431.el6.i686 ro root=UUID=65a8762e-b49a-47a6-8a4b-4368275b1f7a rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet  此处为整体一行,多个空白字符开头

initrd /initramfs-2.6.32-431.el6.i686.img   此行有多个空白字符开头

6、显示/test/test1.txt文件中以一个数字开头并以一个与开头数字相同的数字结尾的行;

 grep '^\([[:digit:]]\).*\1$' /test/test1.txt

[root@xuelinux test]# grep '\([[:space:]]\).*\1$' /test/test1.txt 

2who are you 2

4 youareringt4

5,he is 2tom2

7 eg is over 11

8 thanks you 1and1

[root@xuelinux test]# cat test1.txt 

1,this is helloword!  此处没有以数字结尾

2who are you 2   此处匹配到

3,no 4 is not 2.  此处结尾是以.结尾所以未匹配到

4 youareringt4.   此处结尾是以.结尾所以未匹配到

4 youareringt4   此处匹配到,是以前面出现的数字4结尾

5,he is 2tom2   此处匹配到,是以前面出现的数字2结尾

5,he is 2tom2.   此处结尾是以.结尾所以未匹配到

6 tom is cat4,yes is 4. 此处结尾是以.结尾所以未匹配到

7 eg is over 11.  此处结尾是以.结尾所以未匹配到

7 eg is over 11  此处匹配到,是以前面出现的数字1结尾

8 thanks you 1and1  此处匹配到,是以前面出现的数字1结尾

7、找出ifconfig命令结果中的1-255之间的整数;

ifconfig |  grep -E  '\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>'

8、查找当前系统上名字为student(必须出现在行首)的用户的帐号的相关信息;

 grep '^student\>' /etc/passwd | cut -d: -f1













本文转自wang650108151CTO博客,原文链接:http://blog.51cto.com/woyaoxuelinux/1862897 ,如需转载请自行联系原作者



相关文章
|
5天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
22 3
|
5天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
17 2
|
5天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
22 3
|
8天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
33 6
|
9天前
|
监控 Linux 开发者
如何在 Linux 中优雅的使用 head 命令,用来看日志简直溜的不行
`head` 命令是 Linux 系统中一个非常实用的工具,用于快速查看文件的开头部分内容。本文介绍了 `head` 命令的基本用法、高级用法、实际应用案例及注意事项,帮助用户高效处理文件和日志,提升工作效率。
22 7
|
10天前
|
监控 Linux
Linux常用命令-2
本文继续介绍Linux常用命令,涵盖目录操作、文件操作、系统信息和进程管理等类别。具体包括mkdir、rmdir、cp、mv、rm、touch、whereis、whatis、dmesg、free、date、cal、ps、kill、killall和top等命令的使用方法和常用参数。
39 7
|
9天前
|
监控 Linux Perl
Linux 命令小技巧:显示文件指定行的内容
在 Linux 系统中,处理文本文件是一项常见任务。本文介绍了如何使用 head、tail、sed 和 awk 等命令快速显示文件中的指定行内容,帮助你高效处理文本文件。通过实际应用场景和案例分析,展示了这些命令在代码审查、日志分析和文本处理中的具体用途。同时,还提供了注意事项和技巧,帮助你更好地掌握这些命令。
23 4
|
8天前
|
缓存 网络协议 Linux
Linux ip命令常用操作
Linux的 `ip`命令是一个强大且灵活的网络管理工具,能够执行从基本的网络接口配置到高级的路由和VLAN管理等多种操作。通过熟练掌握这些常用操作,用户可以更加高效地管理和配置Linux系统的网络环境。无论是在日常管理还是故障排除中,`ip`命令都是必不可少的工具。
11 2
|
9天前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
27 3
|
10天前
|
Linux Shell
Linux常用命令-1
本课程要求学生熟悉Linux系统终端窗口和命令基础,掌握文件目录类、系统信息类、进程管理类及其他常用命令,学时为3-6小时。课程内容涵盖Linux命令的特点、常见命令的使用方法及其应用场景,如文件浏览、目录切换、内容显示等。建议学生逐个操作命令并及时反馈问题。
40 5