文件查看及处理工具练习

  1. 列出当前系统上所有已经登陆的用户的用户名,注意一个用户登录多次,则只显示一次即可
    [root@localhost ~]# who   \\who命令显示已登录系统的用户
    root pts/0 2017-08-14 21:49 (10.1.18.1)
    centos1 pts/1 2017-08-14 21:49 (10.1.18.1)
    centos2 pts/2 2017-08-14 21:49 (10.1.18.1)
    [root@localhost ~]# who | cut -d " " -f1   \\who命令显示的结果通过管道交由cut处理,定义分隔符为空格,显示第一字段内容
    root
    centos1
    centos2
    [root@localhost ~]# who   \\who命令显示centos2通过虚拟终端pts2和pst4登录系统
    root pts/0 2017-08-14 21:49 (10.1.18.1)
    centos1 pts/1 2017-08-14 21:49 (10.1.18.1)
    centos2 pts/2 2017-08-14 21:49 (10.1.18.1)
    centos3 pts/3 2017-08-14 21:54 (10.1.18.1)
    centos2 pts/4 2017-08-14 21:54 (10.1.18.1)
    [root@localhost ~]# who | cut -d " " -f1   \\取出用户名的字段
    root
    centos1
    centos2
    centos3
    centos2
    [root@localhost ~]# who | cut -d " " -f1 | sort -u   \\通过sort进行排序去重
    centos1
    centos2
    centos3
    root
    [root@localhost ~]#

  2. 取出最后登录到当前系统的用户的相关信息
    [root@localhost ~]# who
    root pts/0 2017-08-14 21:49 (10.1.18.1)
    centos1 pts/1 2017-08-14 21:49 (10.1.18.1)
    centos4 pts/2 2017-08-14 22:11 (10.1.18.1)
    centos3 pts/3 2017-08-14 21:54 (10.1.18.1)
    centos2 pts/4 2017-08-14 21:54 (10.1.18.1)
    [root@localhost ~]# who | sort -k 4
    centos1 pts/1 2017-08-14 21:49 (10.1.18.1)
    root pts/0 2017-08-14 21:49 (10.1.18.1)
    centos2 pts/4 2017-08-14 21:54 (10.1.18.1)
    centos3 pts/3 2017-08-14 21:54 (10.1.18.1)
    centos4 pts/2 2017-08-14 22:11 (10.1.18.1)
    [root@localhost ~]# who | sort -k 4 | tail -1
    centos4 pts/2 2017-08-14 22:11 (10.1.18.1)
    [root@localhost ~]# who | sort -r -k 4
    centos4 pts/2 2017-08-14 22:11 (10.1.18.1)
    centos3 pts/3 2017-08-14 21:54 (10.1.18.1)
    centos2 pts/4 2017-08-14 21:54 (10.1.18.1)
    root pts/0 2017-08-14 21:49 (10.1.18.1)
    centos1 pts/1 2017-08-14 21:49 (10.1.18.1)
    [root@localhost ~]# who | sort -r -k 4 | head -1
    centos4 pts/2 2017-08-14 22:11 (10.1.18.1)

  3. 取出当前系统上被用户当作其默认shell的最多的那个shell
    [root@localhost ~]# cat /etc/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
    ...............
    .............
    [root@localhost ~]# cat /etc/passwd | cut -d ':' -f7
    /bin/bash
    /sbin/nologin
    /sbin/nologin
    .......
    ....


    uniq -c

[root@localhost ~]# cat /etc/passwd | cut -d ':' -f 7 | sort
/bin/bash
/bin/bash
/bin/bash
/bin/bash
/bin/bash
/bin/bash
/bin/bash
/bin/sync
.......
sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
........
 


先排序,在用uniq -u进行重复行统计(其只能进行连续重复行的统计)
数值大小排序
tail -1取出在最后一行

[root@localhost mytest]# cat /etc/passwd | cut -d ':' -f 7 | sort | uniq -c | sort -n | tail -1 | cut -c 9-   \\显示第9个字符至行尾的内容
/sbin/nologin

  1. 将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存值/tmp/maxusers.txt文件中
    [root@localhost mytest]# ll
    总用量 0
    [root@localhost mytest]# cat /etc/passwd | sort -t ":" -k 3 -n | tail -10 | tr [[:lower:]] [[:upper:]] > ./maxusers.txt
    [root@localhost mytest]# ll
    总用量 4
    -rw-r--r--. 1 root root 520 8月 31 18:35 maxusers.txt
    [root@localhost mytest]# cat maxusers.txt
    GEOCLUE:X:996:994:USER FOR GEOCLUE:/VAR/LIB/GEOCLUE:/SBIN/NOLOGIN
    CHRONY:X:997:995::/VAR/LIB/CHRONY:/SBIN/NOLOGIN
    POLKITD:X:998:996:USER FOR POLKITD:/:/SBIN/NOLOGIN
    SYSTEMD-BUS-PROXY:X:999:997:SYSTEMD BUS PROXY:/:/SBIN/NOLOGIN
    CENTOS1:X:1000:1000::/HOME/CENTOS1:/BIN/BASH
    CENTOS2:X:1001:1001::/HOME/CENTOS2:/BIN/BASH
    CENTOS3:X:1002:1002::/HOME/CENTOS3:/BIN/BASH
    CENTOS4:X:1003:1003::/HOME/CENTOS4:/BIN/BASH
    FEDORA:X:1004:1005::/HOME/FEDORA:/BIN/BASH
    NFSNOBODY:X:65534:65534:ANONYMOUS NFS USER:/VAR/LIB/NFS:/SBIN/NOLOGIN
    [root@localhost mytest]# cat /etc/passwd | sort -t ":" -k 3 -n | tail -10 | tr [[:lower:]] [[:upper:]] | tee ./maxusers_1.txt
    GEOCLUE:X:996:994:USER FOR GEOCLUE:/VAR/LIB/GEOCLUE:/SBIN/NOLOGIN
    CHRONY:X:997:995::/VAR/LIB/CHRONY:/SBIN/NOLOGIN
    POLKITD:X:998:996:USER FOR POLKITD:/:/SBIN/NOLOGIN
    SYSTEMD-BUS-PROXY:X:999:997:SYSTEMD BUS PROXY:/:/SBIN/NOLOGIN
    CENTOS1:X:1000:1000::/HOME/CENTOS1:/BIN/BASH
    CENTOS2:X:1001:1001::/HOME/CENTOS2:/BIN/BASH
    CENTOS3:X:1002:1002::/HOME/CENTOS3:/BIN/BASH
    CENTOS4:X:1003:1003::/HOME/CENTOS4:/BIN/BASH
    FEDORA:X:1004:1005::/HOME/FEDORA:/BIN/BASH
    NFSNOBODY:X:65534:65534:ANONYMOUS NFS USER:/VAR/LIB/NFS:/SBIN/NOLOGIN
    [root@localhost mytest]# ll
    总用量 8
    -rw-r--r--. 1 root root 520 8月 31 18:36 maxusers_1.txt
    -rw-r--r--. 1 root root 520 8月 31 18:35 maxusers.txt
  2. 取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分

[root@localhost mytest]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.1.18.120 netmask 255.255.255.0 broadcast 10.1.18.255
inet6 fe80::4148:d279:8d28:fcfd prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:27:57:5f txqueuelen 1000 (Ethernet)
RX packets 3191 bytes 260664 (254.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2545 bytes 2093954 (1.9 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
 
ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 00:0c:29:27:57:69 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 616 bytes 109296 (106.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
 
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 528 bytes 45880 (44.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 528 bytes 45880 (44.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
 
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:f5:12:2b txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
 
[root@localhost mytest]# ifconfig | grep "\<inet\>"
inet 10.1.18.120 netmask 255.255.255.0 broadcast 10.1.18.255
inet 127.0.0.1 netmask 255.0.0.0
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.25
[root@localhost mytest]# ifconfig | grep "\<inet\>" | cut -d " " -f 10
10.1.18.120
127.0.0.1
192.168.122.1

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

[root@localhost mytest]# ls /etc/ | grep '.conf$' | tr [a-z] [A-Z]   \\反斜杠为转义功能,保存就用重定向即可
ASOUND.CONF
BRLTTY.CONF
CHRONY.CONF
DLEYNA-SERVER-SERVICE.CONF
DNSMASQ.CONF
...................
 
思考:[root@localhost mytest]# ls /etc/*.conf 用globbing文件名通配,匹配出来,怎么将文件名转换为大写

  1. 显示/var目录下一级子目录或文件的总个数

[root@localhost mytest]# ls -A /var | cat -n
1 account
2 adm
3 cache
4 crash
5 db
6 empty
7 games
8 gopher
9 kerberos
10 lib
11 local
12 lock
13 log
14 mail
15 nis
16 opt
17 preserve
18 run
19 spool
20 tmp
21 .updated
22 yp
[root@localhost mytest]# ls -A /var | wc -w
22

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

[root@localhost mytest]# cat /etc/group | sort -t ':' -nk 3 | head -10 | cut -d ':' -f1
root
bin
daemon
sys
adm
tty
disk
lp
mem
kmem

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

[root@localhost mytest]# cat /etc/fstab /etc/issue > /tmp/etc.test

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容