5.程序包管理与内核命令的使用

1、  显示/boot/grub/grub.conf中以至少一个空白字符开头的行;

~]#  grep -E "^[[:space:]]+" //boot/grub/grub.conf
root (hd0,0)
kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=/dev/mapper/vg_centos6-lv_root rd_NO_VM_LV=vg_centos6/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-279.el6.x86_64.img

2、  显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;

~]# grep -E "^#[[:space:]]+[[:graph:]]+" /etc/rc.d/rc.sysinit
# /etc/rc.d/rc.sysinit - run once at boot time
# Taken in part from Miquel van Smoorenburg's bcheckrc.
# Check SELinux status
# Print a text banner.
# Only read this once.
# Initialize hardware
# Set default affinity
# Load other user-defined modules
# Load modules (for backward compatibility with VARs)
# Configure kernel parameters
# Set the hostname.
# Sync waiting for storage.
# Device mapper & related initialization

3、  打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;

~]# netstat -tal | grep ".*LISTEN[[:space:]]*$"
tcp        0      0 *:55950            *:*                LISTEN     
tcp        0      0 *:sunrpc            *:*              LISTEN     
tcp        0      0 *:ssh             *:*              LISTEN     
tcp        0      0 localhost:ipp         *:*                LISTEN     
tcp        0      0 *:46286             *:*               LISTEN     
tcp        0      0 *:sunrpc            *:*              LISTEN     
tcp        0      0 *:webcache             *:*                  LISTEN     
tcp        0      0 *:ssh              *:*              LISTEN     
tcp        0      0 localhost:ipp          *:*               LISTEN     
tcp        0      0 *:43135              *:*              LISTEN

  4、  添加用户bash, testbash, basher, nologin (此一个用户的shell/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

 ~]# grep --color=auto -o "\(^[[:alpha:]]*\):.*\1$" /etc/passwd
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
bash:x:500:500::/home/bash:/bin/bash
nologin:x:503:503::/home/nologin:/sbin/nologin

5、  显示当前系统上rootfedorauser1用户的默认shell

~]# grep -E  "^(root|fedora|user1)" /etc/passwd
root:x:0:0:root:/root:/bin/bash

6、  找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello()

 ~]# egrep -o "[[:alpha:]]+\(\)" /etc/rc.d/init.d/functions
str()
checkpid()
readlink()
fgrep()
loop()
loop()
run()
pidof()
daemon()
killproc()

7、使用echo命令输出一个绝对路径,使用grep取出其基名;

扩展:取出其路径名

~]# echo -o /etc/httpd/conf/httpd.conf | grep -o "/.*/"
/etc/httpd/conf/
 ~]# echo -o /etc/httpd/conf/httpd.conf | grep -o "[^/]*$"
httpd.conf

7、  找出ifconfig命令结果中的1-255之间数字;

~]# ifconfig | grep -Eo "[1,2]|[1-9][0-9]|2[0-5][0-5]"
29
2
19
2
16
50
17
19
2
16
50

 8、  挑战题:写一个模式,能匹配合理的IP地址;

 ~]#  ifconfig |grep -o‘[1-9][0-9]\{0,3\}\.[0-9]\{0,3\}\.[0-9]\{0,3\}\.[0-9]\{1,4\}’
192.168.50.178
192.168.50.255
255.255.255.0
127.0.0.1
255.0.0.0

9、  挑战题:写一个模式,能匹配出所有的邮件地址;

 
grep -E '[[:alnum:]]+@[[:alnum:]]+\.[[:alpha:]]\+'

  10、 查找/var目录下属主为root,且属组为mail的所有文件或目录;

~]# find /var -user root -group mail
/var/spool/mail

 11、查找当前系统上没有属主或属组的文件;

  进一步:查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录;

 ~]# find / -nouser -o -nogroup
find: “/proc/10321/task/10321/fd/5”: 没有那个文件或目录
/andor/git-2.7.1/git.spec
/andor/git-2.7.1/configure
/andor/git-2.7.1/version
/andor/git-2.7.1/git-gui/version
/andor/android-sdk-linux
~]# find / -nouser -nogroup -atime -3
find: “/proc/10343/task/10343/fd/5”: 没有那个文件或目录
find: “/proc/10343/task/10343/fdinfo/5”: 没有那个文件或目录
/andor/android-sdk-linux
/andor/android-sdk-linux/platforms
/andor/android-sdk-linux/add-ons

 

12、查找/etc目录下所有用户都有写权限的文件;

~]# find /etc -perm -222
/etc/rc3.d
/etc/favicon.png
/etc/rc5.d
/etc/ssl/certs
/etc/rc0.d
/etc/rc.d/rc3.d/S28autofs

13、查找/etc目录下大于1M,且类型为普通文件的所有文件;

find /etc/ -size +1M –a –type f

14、查找/etc/init.d/目录下,所有用户都有执行权限,且其它用户有写权限的文件;

find /etc/init.d –perm -113

15、查找/usr目录下不属于rootbinhadoop的文件;

find /usr -not \( -user root -o -user bin -o -user hadoop \)

16、查找/etc/目录下至少有一类用户没有写权限的文件;

find /etc ! –perm -222

17、查找/etc目录下最近一周内其内容被修改过,且不属于roothadoop的文件;

find /etc –mtime 7 –a ! –user root –a ! –user hadoop

原创文章,作者:N27_jiangyefan,如若转载,请注明出处:http://www.178linux.com/83454

(0)
N27_jiangyefanN27_jiangyefan
上一篇 2017-07-30
下一篇 2017-07-31

相关推荐

  • 编译安装httpd-2.4.9及新特性详解

    前言 前面我们讲解了httpd在CentOS6上(httpd-2.2)的相关功能配置,而CentOS7上采用了httpd-2.4的版本,那么httpd-2.4增加了哪些特性呢?接下来让我们在CentOS6.6上手动编译安装一下httpd-2.4.9,看一下和httpd-2.2有什么不同,顺便补充说一下httpd的其它功能。 环境及新特性介绍 环境介绍 系统环…

    Linux干货 2015-04-15
  • 文件查找与解压缩

    文件查找 脚本文件名的查询 which(寻找执行文件) which [-a] command -a :将所有由PATH目录中可以找到的命令均列出,而不只是第一个被找到的命令名称 文件名的查找 文件查找:实时查找:遍历所有文件进行条件匹配;(find)非实时查找:根据索引查找;(whereis、locate) whereis whereis [-bmsu] […

    Linux干货 2017-04-08
  • 01葵花宝典之Linux基础知识

    linux, ifconfig, man, pwd, echo, date, hwclock, fhs

    2018-03-01
  • 查找find命令简介

       之前都是写一些关于课后练习题的博客,既练习了课后习题也把博客写了,舒服!不过这周学的知识需要练习的不多,更多的是需要了解和记忆,所以给大家介绍一个自我觉得挺强大的一个命令,那就是查找find命令。大家都知道计算机的数据茫茫多,要想找到自己想要的级必须加点限制性的条件来缩小一下范围,或者准确的告诉计算机你想要的是什么。那么怎么来实现呢…

    2017-08-12
  • 十四.Linux博客-2016年8月22日数组

    格式说明: 操作 概念 命令 说明及举例 十四.数组 数组概念 变量:存储单个元素的内存空间数组:存储多个元素的连续的内存空间,相当于多个变量的集合。数组名和索引索引:编号从0开始,属于数值索引注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后开始支持。bash的数组支持稀疏格式(索引不连续) 声明数组declare -…

    Linux干货 2016-08-24
  • ocata openvswtich

      一、Controller配置1、安装软件 # yum –enablerepo=centos-openstack-ocata,epel -y install openstack-neutron openstack-neutron-ml2 2、修改配置文件/etc/neutron/neutron.conf [DEFAULT]core_p…

    2018-01-22

评论列表(1条)

  • 马哥教育
    马哥教育 2017-08-04 16:17

    从作业情况来看grep和find已经基本掌握,如果加上sed和awk就理完美了,加油。