|||
复习上节课知识:
特殊字符: . * .*(任意个任意字符) ?(一个或零个?前面的字符) +(一个或多个+号前面的字符)
命令egrep
[root@ghq pub]# egrep 'root|3' guo.log
root:x:0:0:root:/root:/bin/bash
adm:x:3:4:adm:/var/adm:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
usbmuxd:x:113:113:usbmuxduser:/:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
题目:
1. 打印passwd文件中uid大于500的行
[root@ghq pub]# awk -F ':' '$3>=500' guo.log
guo:x:500:500:guo:/home/guo:/bin/bash
wangban:x:501:501::/home/wangban:/bin/bash
2. 命令awk中NR,NF两个变量表示什么含义?
NR(number row,行号) NF表示段数
[root@ghq pub]# awk -F ':' '{print NF}' guo.log
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
[root@ghq pub]# awk -F ':' '{print $NF}' guo.log(打印第7段)
/bin/bash
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/bin/sync
/sbin/shutdown
/sbin/halt
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/bin/bash
/bin/bash
[root@ghq pub]# awk -F ':' 'NR ==2' guo.log
bin:x:1:1:bin:/bin:/sbin/nologin
[root@ghq pub]# awk -F ':' 'NR>=2&&NR<=10' guo.log
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
3. 用egrep把guo.log文档中包含‘abc’或者‘123’的行过滤出来,并在过滤出来的行前面加上行号
[root@ghq pub]# grep -E--color 'root|bash' guo.log -n
1:root:x:0:0:root:/root:/bin/bash
11:operator:x:11:0:operator:/root:/sbin/nologin
31:guo:x:500:500:guo:/home/guo:/bin/bash
32:wangban:x:501:501::/home/wangban:/bin/bash
4. 命令 grep –v ‘^$’ guo.log,过滤掉空行
[root@ghq pub]# egrep--color 'ro{2}t' guo.log
(理解grep中{}的含义,表示前一个字符的次数)
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@ghq pub]# egrep--color 'ro{0}t' guo.log
vcsa:x:69:69:virtual consolememory owner:/dev:/sbin/nologin
rtkit:x:499:497:RealtimeKit:/proc:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
[root@ghq pub]# egrep--color 'roo{1}t' guo.log
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
5. 命令sed有一个选项,可以直接更改文本文档,是哪个选项?(i)
[root@ghqpub]# sed -i 's/.*ie//; s/["|&].*//' guo.log
什么意思?
[root@ghq pub]#grep --color '[0-9a-Z]' guo.log
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:FTPUser:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System messagebus:/:/sbin/nologin
usbmuxd:x:113:113:usbmuxduser:/:/sbin/nologin
vcsa:x:69:69:virtual consolememory owner:/dev:/sbin/nologin
rtkit:x:499:497:RealtimeKit:/proc:/sbin/nologin
avahi-autoipd:x:170:170:AvahiIPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
pulse:x:498:496:PulseAudio SystemDaemon:/var/run/pulse:/sbin/nologin
haldaemon:x:68:68:HALdaemon:/:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
saslauth:x:497:76:
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
guo:x:500:500:guo:/home/guo:/bin/bash
wangban:x:501:501::/home/wangban:/bin/bash
You have newmail in /var/spool/mail/root
[root@ghq pub]# sed's/[0-9a-Z]//g' guo.log
:::::/://
:::::/://
:::::/://
::::://://
:::::///://
:::::/://
:::::/://
:::::/://
:::::///://
:::::///://
:::::/://
::::://://
::::://://
:::: ://://
:::::/://
:::: :/://
:::: :/://
:::: :/://
:::::/://
-:::: :///-://
:::: :///://
:::: :/://
::::://://
::::://://
::::
:::::///://
::::://://
:::::///://
::::- :///://
:::::/://
::::://://
::::://://
[root@ghq pub]# awk'{print $1}' guo.log|sort -n |uniq -c
1 abrt:x:173:173::/etc/abrt:/sbin/nologin
1 adm:x:3:4:adm:/var/adm:/sbin/nologin
1apache:x:48:48:Apache:/var/www:/sbin/nologin
1 avahi-autoipd:x:170:170:Avahi
1 bin:x:1:1:bin:/bin:/sbin/nologin
1 daemon:x:2:2:daemon:/sbin:/sbin/nologin
1 dbus:x:81:81:System
1 ftp:x:14:50:FTP
1games:x:12:100:games:/usr/games:/sbin/nologin
1 gdm:x:42:42::/var/lib/gdm:/sbin/nologin
1gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
1 guo:x:500:500:guo:/home/guo:/bin/bash
1 haldaemon:x:68:68:HAL
1 halt:x:7:0:halt:/sbin:/sbin/halt
1lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
1mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
1 nobody:x:99:99:Nobody:/:/sbin/nologin
1 ntp:x:38:38::/etc/ntp:/sbin/nologin
1 operator:x:11:0:operator:/root:/sbin/nologin
1postfix:x:89:89::/var/spool/postfix:/sbin/nologin
1 pulse:x:498:496:PulseAudio
1 root:x:0:0:root:/root:/bin/bash
1rtkit:x:499:497:RealtimeKit:/proc:/sbin/nologin
1 saslauth:x:497:76:
1 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
1 sshd:x:74:74:Privilege-separated
1 sync:x:5:0:sync:/sbin:/bin/sync
1 tcpdump:x:72:72::/:/sbin/nologin
1 usbmuxd:x:113:113:usbmuxd
1uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
1 vcsa:x:69:69:virtual
1wangban:x:501:501::/home/wangban:/bin/bash
Linux shell脚本的编写
1. Shell是批处理程序,类似于win的bat
2. 写shell的时候,第一行要以#!/bin/bash 开头
3. 文件名应该以 .sh 结尾
4. 用#去写注释
5. 执行时:sh 1.sh; chmod +x 1.sh; ./1.sh || 绝对路径
[root@ghq pub]# date
Wed Aug 19 20:00:34 PDT 2015
[root@ghq pub]# date +%F
2015-08-19
[root@ghq pub]# date +%T
20:01:06
[root@ghq pub]# date +%y
15
[root@ghq pub]# date +%Y
2015
[root@ghq pub]# date +%m
08
[root@ghq pub]# date +%M
04
[root@ghq pub]# date +%d
19
[root@ghq pub]# date +%H
20
[root@ghq pub]# date +%S
46
[root@ghq pub]# date +%h
Aug
[root@ghq pub]# date +%D
08/19/15
[root@ghq pub]# date +%s
1440039914
[root@ghq pub]# date +%S
20
[root@ghq pub]# ntpdatetime.windows.com(同步微软时间)
19 Aug 20:06:31 ntpdate[4463]:adjust time server 23.99.222.162 offset -0.204822 sec
[root@ghq pub]# ntpdates1b.time.edu.cn(链接清华大学的时间服务器)
19 Aug 20:08:51 ntpdate[4474]: noserver suitable for synchronization found
[root@ghq pub]# ntpdates2m.time.edu.cn(链接北京大学的时间服务器)
19 Aug 20:09:40 ntpdate[4479]:adjust time server 202.112.7.13 offset -0.129851 sec
[root@ghq pub]# yumlist|grep ntp(查找ntp的安装包)
fontpackages-filesystem.noarch 1.41-1.1.el6 @anaconda-CentOS-201311271240.i386/6.5
ntp.i686 4.2.6p5-1.el6.centos @anaconda-CentOS-201311271240.i386/6.5
ntpdate.i686 4.2.6p5-1.el6.centos @anaconda-CentOS-201311271240.i386/6.5
fontpackages-devel.noarch 1.41-1.1.el6 base
fontpackages-tools.noarch 1.41-1.1.el6 base
ntp.i686 4.2.6p5-5.el6.centos base
ntp-doc.noarch 4.2.6p5-5.el6.centos base
ntp-perl.i686 4.2.6p5-5.el6.centos base
ntpdate.i686 4.2.6p5-5.el6.centos base
[root@ghq ~]# ntpdatentp.fudan.edu.cn
19 Aug 20:17:10 ntpdate[4660]:step time server 61.129.42.44 offset -54029.993371 sec
[root@ghq ~]# date
Wed Aug 19 20:17:13 PDT 2015
[root@ghq ~]# date +%W
33
[root@ghq ~]# date +%w
3
[root@ghq ~]# date -d "-1day" +%w
2
[root@ghq ~]# date -d "-1day" +%W
33
[root@ghq ~]# date -d "-2hour" +%H
18
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-27 21:23
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社