linux cut 重定向,who,cut,sort,grep,tr,wc,uniq命令管道和重定向综合应用实例

1.列出当前系统上所有已登录的用户名,同一用户登录多次,只显示一次即可。

[root@dxlcentOS ~]# who | cut -d” ” -f1

root

root

root

[root@dxlcentOS ~]# who | cut -d” ” -f1 | sort -u

2.取出最后登录到当前系统的用户的相关信息

[root@dxlcentOS ~]# w | tail -1 && grep “^root” /etc/passwd

root pts/3 192.168.0.105 14:15 6.00s 0.06s 0.00s w

root:x:0:0:root:/root:/bin/bash

3.取出当前系统上被用户当作其默认shell最多的那个shell

[root@dxlcentOS ~]# cut -d: -f7 /etc/passwd |uniq -cd

4 /sbin/nologin

12 /sbin/nologin

3 /bin/bash

6 /bin/bash

5 /sbin/nologin

[root@dxlcentOS ~]# cut -d: -f7 /etc/passwd |uniq -cd | grep 12

12 /sbin/nologin

4.将/etc/passwd中第三个字段中数值最大的后十个用户信息全部改为大写后保存到/tmp/maxusers.txt 文件中

[root@dxlcentOS ~]# sort -t: -k3n /etc/passwd | tail -10 | tr ‘a-z’ ‘A-Z’

/tmp/maxusers.txt

[root@dxlcentOS ~]# cat /tmp/maxusers.txt

WWW:X:1005:1005::/HOME/WWW:/BIN/BASH

MAGEIA:X:1100:1100::/HOME/LINUX:/BIN/BASH

PEGUIN:X:1101:1101::/HOME/PEGUIN:/BIN/BASH

SLACKWARE:X:2002:2016::/HOME/SLACKWARE:/BIN/BASH

ADMINS:X:2003:2003::/HOME/ADMINS:/BIN/BASH

FEDORA:X:2004:2004:FEDORA CORE:/HOME/FEDORA:/BIN/TCSH

BASH:X:2005:2005::/HOME/BASH:/SBIN/NOLOGIN

TESTBASH:X:2006:2006::/HOME/TESTBASH:/SBIN/NOLOGIN

BASHER:X:2007:2007::/HOME/BASHER:/SBIN/NOLOGIN

NOLOGIN:X:2008:2008::/HOME/NOLOGIN:/SBIN/NOLOGIN

5.取出当前主机的IP地址

[root@dxlcentOS ~]# ifconfig | sed -n 2p

inet 192.168.0.196 netmask 255.255.255.0 broadcast 192.168.0.255

[root@dxlcentOS ~]# ifconfig | sed -n 2p | cut -d” ” -f10

192.168.0.196

6.列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。

方法一

[root@dxlcentOS ~]# ls -d /etc/.conf | cut -d “/” -f3 | tr “a-z” A-Z >/tmp/conf

[root@dxlcentOS ~]# cat /tmp/conf

ASOUND.CONF

DNSMASQ.CONF

DRACUT.CONF

E2FSCK.CONF

…..

方法二

[root@dxlcentOS ~]# ls /etc/.conf | egrep -o “[^/]+/?$” | tr “a-z” “A-Z”

ASOUND.CONF

DNSMASQ.CONF

LD.SO.CONF

SYSCTL.CONF

TCSD.CONF

UPDATEDB.CONF

……

[root@dxlcentOS ~]# ls /etc/*.conf | egrep -o “[^/]+/?$” | tr “a-z” “A-Z” >/tmp/etc.conf

7、显示/var目录下一级子目录或文件的总个数。

计算文件总和

[root@dxlcentOS we]# ll /var/ | grep “-” | wc -l

21

计算目录总和

[root@dxlcentOS we]# ll /var/ | grep “d” | wc -l

19

[root@dxlcentOS we]# ls -lR /var/ | grep “d” | wc -l 包括子文件夹里面的目录

4003

8、取出/etc/group/文件中第三个字段数值最小的10个组的名字。

[root@dxlcentOS we]# sort -t: -k3n /etc/group | head -10

root:x:0:dxll2,slackware

bin:x:1:

daemon:x:2:

sys:x:3:

adm:x:4:

tty:x:5:

disk:x:6:

lp:x:7:

mem:x:8:

kmem:x:9:

[root@dxlcentOS we]# sort -t: -k3n /etc/group | head -10 | cut -d: -f1

root

bin

daemon

sys

adm

tty

disk

lp

mem

kmem

9.将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。

[root@dxlcentOS we]# cat /etc/fstab /etc/issue > /tmp/etc.test

总结:以上的练习在centos7进行,功能的的实现基本没次都用到了管道,通过管道送给下一命令进行处理。体现了一个命令完成一个任务,组合小程序完成复杂任务的哲学思想。

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/88006

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值