N22—第五周作业

1、显示当前系统上root、fedora或user1用户的默认shell;

[root@localhost ~]# grep -E "^(root|fedora|user1)"  /etc/passwd |cut -d : -f 1,7

root:/bin/bash

fedora:/bin/bash

user1:/bin/bash

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

[root@localhost ~]# grep "[[:alpha:]]\+()" /etc/rc.d/init.d/functions

checkpid() {            (粗字体为匹配的结果)

__pids_var_run() {

__pids_pidof() {

daemon() {

killproc() {

pidfileofproc() {

pidofproc() {

status() {

echo_success() {

echo_failure() {

echo_passed() {

echo_warning() {

update_boot_stage() {

success() {

failure() {

passed() {

warning() {

action() {

strstr() {

is_ignored_file() {

is_true() {

is_false() {

apply_sysctl() {

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

[root@localhost ~]# echo "/etc/rc.d/init.d" |grep -o "[^/]+$"

init.d        (取出基名)

[root@localhost ~]# echo "/etc/rc.d/init.d" |grep -o "^.*/"

/etc/rc.d/      (取出路径名)

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

[root@localhost ~]# ifconfig |grep -E "\<([1-9]|[1-9][0-9]{1,2}|2[0-4][0-9]|25[0-5])\>"

        (粗体数字为匹配结果)

        inet 192.168.1.122  netmask 255.255.255.0  broadcast 192.168.1.255

        inet6 fe80::20c:29ff:fe7f:144c  prefixlen 64  scopeid 0x20<link>

        ether 00:0c:29:7f:14:4c  txqueuelen 1000  (Ethernet)

        RX packets 17093  bytes 9411784 (8.9 MiB)

        TX packets 7533  bytes 895892 (874.8 KiB)

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>

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

[root@localhost ~]# ifconfig |grep -E "\<([1-9]|[1-9][0-9]{1,2}|2[0-4][0-9]|25[0-5])\>.\<([0-9]|[1-9][0-9]{1,2}|2[0-4][0-9]|25[0-5])\>.\<([0-9]|[1-9][0-9]{1,2}|2[0-4][0-9]|25[0-5])\>.\<([0-9]|[1-9][0-9]{1,2}|2[0-4][0-9]|25[0-5])\>"

        inet 192.168.1.122  netmask 255.255.255.0  broadcast 192.168.1.255

        inet 127.0.0.1  netmask 255.0.0.0

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

[root@localhost ~]# grep -E "[^[:space:]]+@[^[:space:]]+" mail.txt

(粗体为匹配结果)

sdfkjdfoiwjflks 403562563@qq.com ldkfjlsdkfj        (地址在行中间)

liguohui2006@sina.com fldskfjlsifjlsfj        (地址在行开头)

cl,fnslkfjsifjsfk join2000@yahoo.com        (地址在行尾)

  zhangsan2001@163.com        (地址开头有空白字符)

liu_guo_hui.zhengfu@sohu.com

zhang-feng.guo@263.com

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

[root@localhost mail]# find /var -user root -group mail -ls

50331800    0 drwxrwxr-x   2 root     mail           97 Sep  8 13:17 /var/spool/mail

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

[root@localhost ~]# userdel user1        (先删除一个用户user1,用来验证效果)

[root@localhost ~]# find / -nouser -o -nogroup

/home/user1

/home/user1/.bash_logout

/home/user1/.bash_profile

/home/user1/.bashrc

/home/user1/myuser1.file

/home/user1/myuser1.txt

/home/user1/.bash_history

find: ‘/proc/3160/task/3160/fd/6’: No such file or directory

find: ‘/proc/3160/task/3160/fdinfo/6’: No such file or directory

find: ‘/proc/3160/fd/6’: No such file or directory

find: ‘/proc/3160/fdinfo/6’: No such file or directory

/var/spool/mail/user1

[root@localhost ~]# find / -nouser -o -nogroup  -atime -3      (进一步查找近3天内访问过的文件或目录)

/home/user1

/home/user1/.bash_logout

/home/user1/.bash_profile

/home/user1/.bashrc

/home/user1/myuser1.file

/home/user1/myuser1.txt

/home/user1/.bash_history

find: ‘/proc/3195/task/3195/fd/6’: No such file or directory

find: ‘/proc/3195/task/3195/fdinfo/6’: No such file or directory

find: ‘/proc/3195/fd/6’: No such file or directory

find: ‘/proc/3195/fdinfo/6’: No such file or directory

/var/spool/mail/user1

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

[root@localhost ~]# find /etc -perm -222 -ls

    (部分截屏)

   136    0 lrwxrwxrwx   1 root     root           17 Aug 13 07:33 /etc/mtab -> /proc/self/mounts

   153    0 lrwxrwxrwx   1 root     root           14 Aug 13 07:33 /etc/redhat-release -> centos-release

   155    0 lrwxrwxrwx   1 root     root           14 Aug 13 07:33 /etc/system-release -> centos-release

   5924    0 lrwxrwxrwx   1 root     root           22 Aug 13 07:37 /etc/grub2.cfg -> ../boot/grub2/grub.cfg

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

[root@localhost ~]# find /etc -size +1M -type f -exec ls  -lh {} \;

-r–r–r–. 1 root root 6.7M Aug 13 07:51 /etc/udev/hwdb.bin

-rw-r–r–. 1 root root 3.7M Nov 20  2015 /etc/selinux/targeted/policy/policy.29

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

[root@localhost ~]# find /etc/init.d/ -perm -113 

(无输出)

12、查找/usr目录下不属于root、bin或hadoop的文件;

[root@localhost ~]# find /usr/ -not \( -user root -o -user bin -o -user hadoop \) -ls

50564916    0 drwx——   2 polkitd  root            6 Jun  9  2014 /usr/share/polkit-1/rules.d

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

[root@localhost ~]# find /etc/ ! -perm +222 -ls

(部分截屏)

 12066    4 -rw-r–r–   1 root     root          112 Mar  5  2015 /etc/e2fsck.conf

 12067    4 -rw-r–r–   1 root     root          936 Mar  5  2015 /etc/mke2fs.conf

  5247    4 -rw-r–r–   1 root     root           37 Aug 13 07:45 /etc/vconsole.conf

 12069    4 -rw-r–r–   1 root     root           19 Aug 13 07:45 /etc/locale.conf

 12071    4 -rw-r–r–   1 root     root           22 Aug 13 07:45 /etc/hostname

 12068    4 -rw-r–r–   1 root     root          163 Aug 13 07:33 /etc/.updated

 12074   12 -rw-r–r–   1 root     root        12288 Aug 13 07:51 /etc/aliases.db

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

[root@localhost ~]# find /etc -mtime -7 -not \( -user root -o -user hadoop \) -ls

(无输出)

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

(0)
heianyangguoheianyangguo
上一篇 2016-09-11
下一篇 2016-09-11

相关推荐

  • Mysql cmake 编译安装、

    基于cmake的mysql安装 1.1 前言 从mysql5.5起,mysql源码安装的编译工具configure开始向cmake过渡。安装方式和之前的略有不同。在这里简单介绍总结下。 安装之前,检查下GNU make, GCC, Perl, libncurses5-dev,cmake-2.8.4是否都已经安装,如果没有安装,用yum install 安装补…

    Linux干货 2017-08-29
  • Linux的软链接和硬链接区别

    在Linux中,为了方便文件的使用,引入了两种链接,即为软链接和硬链接。 那么什么是硬链接,什么又是软链接呢。 简单来说,硬链接就是一个inode号对应多个文件名,也就是说一个文件使用了多个别名。 首先先来看看我们要创建硬连接的文件信息: [root@localhost ~]# ll -i /root &nb…

    Linux干货 2016-10-20
  • 系统无法正常启动的解决之道

    先来看下配置文件的格式: [root@centos6 ~]# uname -r 2.6.32-642.el6.x86_64 [root@centos6 ~]# cat /boot/grub/grub.conf  # Note that you do&…

    Linux干货 2016-09-19
  • vim常用快捷键

    1、vim /etc/vimrc进入配置文件 如果不知道vimrc文件在哪,可使用 :scriptnames 来查看 set nu      #行号 set tabstop=4  #一个tab为4个空格长度 set ai  #设置自动缩进 syntax on   #高亮   2、基本 空格键 向右移动一格 x 删除后面…

    2017-09-05
  • LVM2

    1、逻辑卷     逻辑卷为何物:逻辑,是从人的角度出发的,合乎人类的思维的,所以逻辑卷相对于其它磁盘分区高级一些。主要作用就是可以进行动态扩展缩减,不像其它分区大小固定了要想变动就必须重新格式化。 在实际工作环境中,LVM更适用于现实复杂多变的环境。 现在使用的是LVM2,Logical Volume Manager,Version 2…

    Linux干货 2016-08-30
  • LVS-NAT+LVS-NAT基于NFS做wordpress负载均衡实验

    Lvs-nat实验 实验设备:三台centos虚拟机 Director:DIP:10.0.0.254  VIP:192.168.208.129 RS1:RIP:10.0.0.1 RS2:RIP:10.0.0.2   首先都安装ipvsadm、telnet、httpd   配置网卡:RS2:hostonly模式:10.0.0.2/24 配置…

    2017-11-21