grep一些练习
1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。
[root@localhost ~]# who |cut -d" " -f1 |sort -u
root
2、取出最后登录到当前系统的用户的相关信息。
[root@localhost ~]# last |cut -d" " -f1|head -1 |id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
3、取出当前系统上被用户当作其默认shell的最多的那个shell。
[root@localhost ~]# cat /etc/passwd|cut -d":" -f7 |uniq -c |sort -n|tail -1
15 /sbin/nologin
4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。
[root@localhost ~]# cat /etc/passwd|sort -t: -k3 -n|tr [a-z] [A-Z] > /tmp/maxusers.txt
[root@localhost ~]# cat /tmp/maxusers.txt
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
OPERATOR:X:11:0:OPERATOR:/ROOT:/SBIN/NOLOGIN
GAMES:X:12:100:GAMES:/USR/GAMES:/SBIN/NOLOGIN
FTP:X:14:50:FTP USER:/VAR/FTP:/SBIN/NOLOGIN
APACHE:X:48:48:APACHE:/USR/SHARE/HTTPD:/SBIN/NOLOGIN
SSHD:X:74:74:PRIVILEGE-SEPARATED SSH:/VAR/EMPTY/SSHD:/SBIN/NOLOGIN
DBUS:X:81:81:SYSTEM MESSAGE BUS:/:/SBIN/NOLOGIN
POSTFIX:X:89:89::/VAR/SPOOL/POSTFIX:/SBIN/NOLOGIN
NOBODY:X:99:99:NOBODY:/:/SBIN/NOLOGIN
SYSTEMD-NETWORK:X:192:192:SYSTEMD NETWORK MANAGEMENT:/:/SBIN/NOLOGIN
CHRONY:X:998:996::/VAR/LIB/CHRONY:/SBIN/NOLOGIN
POLKITD:X:999:997:USER FOR POLKITD:/:/SBIN/NOLOGIN
CENTOS:X:1000:1000:CENTOS:/HOME/CENTOS:/BIN/BASH
5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。
[root@localhost ~]# ifconfig ens33 |grep -Eo "\<(([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>"|head -1
192.168.11.111
6、列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。
[root@localhost ~]# ls /etc/*.conf |tr [a-z] [A-Z] > /tmp/etc.conf
[root@localhost ~]# cat /tmp/etc.conf
/ETC/ASOUND.CONF
/ETC/CHRONY.CONF
/ETC/DRACUT.CONF
/ETC/E2FSCK.CONF
/ETC/ELINKS.CONF
/ETC/FUSE.CONF
/ETC/GEOIP.CONF
/ETC/HOST.CONF
/ETC/KDUMP.CONF
/ETC/KRB5.CONF
/ETC/LD.SO.CONF
/ETC/LIBAUDIT.CONF
/ETC/LIBUSER.CONF
/ETC/LOCALE.CONF
/ETC/LOGROTATE.CONF
/ETC/MAN_DB.CONF
/ETC/MKE2FS.CONF
/ETC/NSSWITCH.CONF
/ETC/RESOLV.CONF
/ETC/RSYSLOG.CONF
/ETC/SESTATUS.CONF
/ETC/SUDO.CONF
/ETC/SUDO-LDAP.CONF
/ETC/SYSCTL.CONF
/ETC/VCONSOLE.CONF
/ETC/YUM.CONF
7、显示/var目录下一级子目录或文件的总个数。
[root@localhost ~]# ls -A /var/ |wc -w
23
8、取出/etc/group文件中第三个字段数值最小的10个组的名字。
[root@localhost ~]# cat /etc/passwd |sort -t: -k3 -n |head -10 |cut -d: -f1
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
operator
9、将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。
[root@localhost ~]# cat /etc/fstab /etc/issue >> /tmp/etc.test
[root@localhost ~]# cat /tmp/etc.test
#
# /etc/fstab
# Created by anaconda on Tue Dec 5 10:11:42 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=a19ce1ce-a9da-4feb-a018-1d63dd00b814 / xfs defaults 0 0
UUID=6c1d270c-a374-4704-83bd-19cc1dbf7639 swap swap defaults 0 0
\S
Kernel \r on an \m
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/90438
评论列表(1条)
赞,内容虽然不多,但个个是精华~排版也比较清新~~继续保持哈。
ps:下次可以多扩充一下博客~