1. 统计/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来
[root@oracle ~]# cat passwd | grep /sbin/nologin | wc -l
29
[root@oracle ~]# cat passwd | grep /sbin/nologin
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
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/cache/rpcbind:/sbin/nologin
rtkit:x:499:499:RealtimeKit:/proc:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
saslauth:x:498:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
pulse:x:497:496:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin

2、查出用户UID最大值的用户名、UID及shell类型

[root@oracle ~]# cat passwd
root:x:0:0:root:/root:/bin/bash
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
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/cache/rpcbind:/sbin/nologin
rtkit:x:499:499:RealtimeKit:/proc:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
saslauth:x:498:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
pulse:x:497:496:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
i2:x:500:500::/home/i2:/bin/bash
oracle:x:501:501::/home/oracle:/bin/bash
test3:x:502:503::/home/test3:/bin/bash
tom:x:503:504::/home/tom:/bin/bash
jack:x:504:505::/home/jack:/bin/bash
mageia:x:1100:1100::/home/linux:/bin/bash
slackware:x:2002:2019::/home/slackware:/bin/tcsh
[root@oracle ~]# TESTUID=`cat passwd | cut -d: -f3 | sort -g | tail -n 1`; cat passwd | grep "$TESTUID" | cut -d: -f1,3,7
nfsnobody:65534:/sbin/nologin

或者精简为

[root@oracle ~]# getent passwd  | sort -t: -k3 -n | tail -1 | cut -d: -f1,3,7
nfsnobody:65534:/sbin/nologin

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

[root@oracle ~]# netstat -nt | grep -v ffff | grep tcp | tr -s " " | cut -d" " -f5 | cut -d: -f1| sort | uniq -c14 127.0.0.117 192.168.97.1355 192.168.97.1859 192.168.97.1861 192.168.97.2551 192.168.99.161

备注:因为同时存在ipv4和ipv6的ip:port的连接存在,不得已通过grep -v ffff过滤出ipv4, 单独计数

[root@oracle ~]# netstat -nt | grep ffff | grep tcp | tr -s " "| cut -d" " -f4 | cut -d: -f1-4 | uniq -c5 ::ffff:192.168.97.185

再合并

[root@oracle ~]# (netstat -nt | grep -v ffff | grep tcp | tr -s " " | cut -d" " -f5 | cut -d: -f1| sort | uniq -c) > ipv4; ( netstat -nt | grep ffff | grep tcp | tr -s " "| cut -d" " -f4 | cut -d: -f1-4 | uniq -c ) > ipv6 ; cat ipv4 ipv6 | sort -nr17 192.168.97.13515 127.0.0.19 192.168.97.1865 ::ffff:192.168.97.1855 192.168.97.1851 192.168.99.1611 192.168.97.255

4、编写脚本 createuser.sh,实现如下功能:使用一个用户名做为参数,如果 指定参数的用户存在,就显示其存在,否则添加之;显示添加的用户的id号等 信息

#!/bin/bash
#Release:       Version 1.0
#***************************************
#Author:        yanj
#Mail:          289433340@qq.com
#Date:          2020-05-10
#FileName:      test.sh
#Copyright (c): 2020 All rights reserved
#***************************************read -p "Please input the username you want to create: "  NAME
echo "Your input is $NAME"
grep -q $NAME /etc/passwd  &&  ( echo Sorry, this username has already existed, please try a new name. ) || (  useradd $NAME ; id $NAMEpasswd $NAME )

简单验证

[root@oracle ~]# ./test.sh
Please input the username you want to create: a80
Your input is a80
uid=2044(a80) gid=2047(a80) groups=2047(a80)
Changing password for user a80.
New password:
BAD PASSWORD: it is too simplistic/systematic
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.
[root@oracle ~]# ./test.sh
Please input the username you want to create: a80
Your input is a80
Sorry, this username has already existed, please try a new name.

5、编写生成脚本基本格式的脚本,包括作者,联系方式,版本,时间,描述等

set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set ignorecase
set cursorline
set autoindent
autocmd BufNewFile *.sh exec ":call SetTitle()"
func SetTitle()if expand("%:e")        == 'sh'call setline(1,"#!/bin/bash")call setline(2,"#Release:       Version 1.0")call setline(3,"#***************************************")call setline(4,"#Author:        yanj")call setline(5,"#Mail:          289433340@qq.com")call setline(6,"#Date:          ".strftime("%Y-%m-%d"))call setline(7,"#FileName:      ".expand("%"))call setline(8,"#Copyright (c): ".strftime("%Y")." All rights reserved")call setline(9,"#***************************************")call setline(10,"")
endif
endfunc
autocmd BufNewFile * normal G[root@oracle ~]# vim test.sh#!/bin/bash
#Release:       Version 1.0
#***************************************
#Author:        yanj
#Mail:          289433340@qq.com
#Date:          2020-05-10
#FileName:      test.sh
#Copyright (c): 2020 All rights reserved
#***************************************

Linux文本处理工具实践相关推荐

  1. linux的locate工具,linux文本查找工具之locate、find

    linux文本查找工具之locate.find 一.文件查找分为两类: 1.非实时查找:locate 2.实时查找:find 二.非实时查找:locate 非实时查找:查找速度快.非精准查找.模糊查找 ...

  2. redhat linux 文本处理工具笔记

    Linux文本处理工具:     文本搜索 globbing:             *:p*d /etc/passwd: root grep, egrep, fgrep Global search ...

  3. Linux文本编译工具VIM详解

    Linux文本编译工具VIM详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.VIM概述 1>.vim简介 1>.vi: 全称Visual editor,即文本编 ...

  4. linux文本处理工具之grep与正则表达式语法

    Grep 介绍 Linux 文本处理三剑客之一,文件过滤工具(另外两剑客为sed:文本编辑工具,awk:文本报告生成器) 拥有着,根据用户指定的"模式"对目标文本逐行进行匹配检查: ...

  5. linux文本分析工具awk解读

    awk是一个强大的文本分析工具,相对于grep的查找.sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.awk把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理. ...

  6. Linux文本处理工具和正则表达式

    成功不易,加倍努力! 1 文本编辑工具之神VIM 1.1命令或普通(Normal)模式的基本命令 1.2 插入(Insert)或编辑模式的基本命令 1.3 扩展命令模式基本命令 1.4 vim的寄存器 ...

  7. Linux文本搜索工具grep

    简介 grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文件内容,并把域值所匹配的行打印出来 grep命令语法结构 grep [options] '要搜索的字符串' filename gre ...

  8. ceb 抽取 linux 工具,Linux 文本处理工具awk(示例代码)

    很好用的文本处理工具,尤其是变量跟控制语句,使用超赞. 个人理解大致流程如下 1.正常输出 # $0表示正行 默认是按照行分割 $1 $2 #----------------------------- ...

  9. 告别linux重复操作,学习linux文本处理工具,真正实用性入门教学linux基础命令之文本管理-----进阶sre第一阶段(重温linux基础06)

    文本处理工具 cut(实用) 取出文件中的列 cut 列分隔符 指定列 文件名 cut -d: -f1,3 /etc/passwd cut -d: -f1,3-5 /etc/passwd df -h ...

最新文章

  1. 测试lazy_enable_if的所有变体
  2. 【MongoDB 工具篇】MongoDB Compass介绍与简单使用
  3. mysql 去重复屈居_mysql去重复关键字distinct的用法
  4. 文玩扇子(折扇)的寸、方、排口、头分别指什么?
  5. python execute异步执行_封装了一个对mysql进行异步IO的小工具
  6. NBA数据分析及可视化BI数据大屏 (Kobe·Bryant)
  7. Lammps:Python上Ovito模块配置的问题与解决
  8. iredmail mysql 配置_CentOS下iRedMail安装配置
  9. GaN制备Micro-led(二)——光子晶体倒装 Micro-LED 制备的关键工艺(纳米压印光刻、干法刻蚀、介质薄膜沉积、物理气相沉积)
  10. 微信双开的登录取消没有回调
  11. 2021年计算机能力挑战赛真题总结C++版
  12. 2021CCPC东北四省赛 K. City 并查集
  13. 电子科大计算机学院郑欣,我校研究生在“华为杯”第十六届中国研究生数学建模竞赛中获佳绩...
  14. 有效提高效率的PDF小技巧,你确定不了解下嘛?
  15. iOS 如何在一个已经存在多个project的workspace中引入cocoapods管理第三方类库
  16. 链表---给定一个排序链表,删除所有重复的元素每个元素只留下一个
  17. 数字示波器中单位:Kpts, PPM, Sa/s, wfs
  18. 计算机控制台什么意思,电脑上,控制面板是什么意思
  19. 普迪文教育:新晋留学目的地马来西亚为什么火了?
  20. 索尼和微软将在云游戏领域合作

热门文章

  1. SEO常用的数据名词解释
  2. 瑞萨单片机iap串口升级app工程的构建-学习记录
  3. 在LabVIEW中如何使用Flash动画
  4. 学生党专用计算机,学生党平价笔记本电脑 最适合学生的高性价比电脑推荐
  5. 55-经典问题分析四
  6. 知识图谱·概念与技术--第1章学习笔记--知识图谱概述--知识图谱的概念,与传统语义网络的区别
  7. 什么是PWM“死区”
  8. 怎么把视频做成高清的GIF动态图?简单又快的方法
  9. 十年前你绝对没有看懂的《大话西游》.
  10. QQ群实名登记。。。