1、显示当前系统上root、fedora或user1用户的默认shell;
[root@zxn ~]# cat /etc/passwd | grep -E "^root\>" | cut -d: -f7 /bin/bash
2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello();
cat /etc/rc.d/init.d/functions | grep -E "\<[[:alpha:]]+\>\(\)" checkpid() {daemon() {killproc() {pidfileofproc() {pidofproc() {status() {success() {failure() {passed() {warning() {action() {strstr() {
3、使用echo命令输出一个绝对路径,使用grep取出其基名;扩展:取出其路径名
取基名
[root@zxn ~]# echo /etc/rc.d/init.d/functions | grep -E -o "[^/]+/?$" functions
取路径名:
[root@zxn ~]# echo /etc/rc.d/init.d/functions | grep -E -o "^/.*/" /etc/rc.d/init.d/
4、找出ifconfig命令结果中的1-255之间数字;
[root@zxn ~]# ifconfig | grep -E --color "\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>" inet 192.168.1.15 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::20c:29ff:fec1:ddb3 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:c1:dd:b3 txqueuelen 1000 (Ethernet) RX packets 30268 bytes 4171288 (3.9 MiB) TX packets 4401 bytes 1321341 (1.2 MiB) 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> RX packets 41 bytes 3960 (3.8 KiB) TX packets 41 bytes 3960 (3.8 KiB)
5、挑战题:写一个模式,能匹配合理的IP地址;
[root@zxn ~]# ifconfig |grep -E --color "[1-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[1-9]{0,1}[0-9]{1,3}" inet 192.168.1.15 netmask 255.255.255.0 broadcast 192.168.1.255 inet 127.0.0.1 netmask 255.0.0.0
6、挑战题:写一个模式,能匹配出所有的邮件地址
[root@zxn ~]# echo "zxn@ncist.edu.cn" | grep -E -o ".*@[[:alnum:]]+.(com|cn|edu.cn)$" zxn@ncist.edu.cn
7、查找/var目录下属主为root,且属组为mail的所有文件或目录;
[root@zxn ~]# find /var/* -user root -group mail /var/spool/mail /var/spool/mail/root [root@zxn ~]# ls -ld /var/spool/mail/root -rw-------. 1 root mail 623 9月 10 18:40 /var/spool/mail/root
8、查找当前系统上没有属主或属组的文件;
进一步:查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录;
[root@zxn ~]# find / \( -nogroup -o -nouser \) -ls 102325563 0 -rw-rw---- 1 1002 mail 0 8月 23 23:46 /var/spool/mail/user2102325565 0 -rw-rw---- 1 1003 mail 0 8月 23 23:46 /var/spool/mail/user33050125 4 drwx------ 5 hadoop 1001 4096 8月 24 00:54 /home/user139252847 0 drwxr-xr-x 4 hadoop 1001 37 8月 14 09:19 /home/user1/.mozilla [root@zxn ~]# find / \( -nogroup -o -nouser \) -atime -3
9、查找/etc目录下所有用户都有写权限的文件;
[root@zxn ~]# find /etc -perm -222 -type f -ls
10、查找/etc目录下大于1M,且类型为普通文件的所有文件;
[root@zxn ~]# find /etc -size +1M -type f -ls 2287674 6228 -r--r--r-- 1 root root 6376691 8月 14 09:26 /etc/udev/hwdb.bin 102088141 3752 -rw-r--r-- 1 root root 3839718 3月 6 2015 /etc/selinux/targeted/policy/policy.29 101494228 1336 -rw-r--r-- 1 root root 1367395 3月 6 2015 /etc/brltty/zh-tw.ctb
11、查找/etc/init.d/目录下,所有用户都有执行权限,且其它用户有写权限的文件;
[root@zxn ~]# find /etc/init.d -perm -113 -ls 33701805 0 lrwxrwxrwx 1 root root 11 8月 14 09:20 /etc/init.d -> rc.d/init.d
12、查找/usr目录下不属于root、bin或hadoop的文件;
[root@zxn ~]# find /usr -not \( -user root -o -user bin -o -user hadoop \) -ls 921800 4 drwx------ 2 polkitd root 4096 8月 14 09:27 /usr/share/polkit-1/rules.d 34446281 12 -rwsr-sr-x 1 abrt abrt 11232 3月 24 2015 /usr/libexec/abrt-action-install-debuginfo-to-abrt-cache
13、查找/etc/目录下至少有一类用户没有写权限的文件;
[root@zxn ~]# find /etc/ -not -perm -222 -type f -ls /smartd_warning.sh 36069630 4 -rw-r--r-- 1 root root 1 10月 7 2014 /etc/at.deny 35959044 4 -rw-r--r-- 1 root root 2872 6月 10 2014 /etc/pinforc 35958973 4 -rw-r----- 1 root root 3181 3月 6 2015 /etc/sudo-ldap.conf
14、查找/etc目录下最近一周内其内容被修改过,且不属于root或hadoop的文件;
[root@zxn ~]# find /etc -mtime -7 -not \( -user root -o -user hadoop \)
原创文章,作者:N22-北京-张zhangzhang,如若转载,请注明出处:http://www.178linux.com/45106