N22-妙手-第五周博客作业

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

[root@localhost grub]# grep "^[[:space:]]\+" /boot/grub/grub.conf

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

[root@localhost ~]# grep "^#[[:space:]]\{1,\}[^[:space:]]\+" /etc/rc.d/rc.sysinit

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

[root@localhost ~]# netstat -tan | grep "LISTEN[[:space:]]*$"

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

[root@localhost ~]# useradd bash
[root@localhost ~]# useradd testbash
[root@localhost ~]# useradd basher
[root@localhost ~]# useradd -s /sbin/nologin nologin
[root@localhost ~]# grep -E "^([^:]+\>).*\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:1000:1000::/home/bash:/bin/bash
nologin:x:1003:1003::/home/nologin:/sbin/nologin

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

[root@localhost scripts]# grep "^\(root\|user1\|fedora\)\>" /etc/passwd | cut -d: -f7
/bin/bash
/bin/bash
/bin/bash

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

[root@localhost ~]# grep -E ".*\>\(\)" /etc/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() {

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

    扩展:取出其路径名

[root@localhost ~]# echo /etc/var/log | grep -E -o "[^/]+$" 
log

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

    两种方法实现:    

        方法一

[root@localhost ~]# ifconfig | grep -E "\<([0-9]|[1-9][0-9]|2[0-4][0-9]|25[0-5])\>"
        inet 192.168.1.102  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::20c:29ff:fe87:765b  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:87:76:5b  txqueuelen 1000  (Ethernet)
        RX packets 3733  bytes 369553 (360.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2311  bytes 448673 (438.1 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 0  (Local Loopback)
        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 ~]# ifconfig | grep -E "\<[0-9]\>|\<[1-9][0-9]\>|\<[1-2][0-5][0-5]\>"
        inet 192.168.1.102  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::20c:29ff:fe87:765b  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:87:76:5b  txqueuelen 1000  (Ethernet)
        RX packets 3458  bytes 343067 (335.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2110  bytes 422465 (412.5 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 0  (Local Loopback)
        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

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

例如匹配192.168.1.105

\<[1-9]\{3\}\.[1-9]\{3\}\.[1-9]\.1[0-9]\{2\}\>

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

"[[:alnum:]_-]\+@[[:alnum:]]\+\.[[:alpha:]]\+$"

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

[root@localhost ~]# find /var -user root -a  -group mail -ls
67150904    0 drwxrwxr-x   2 root     mail           59 Sep 11 08:09 /var/spool/mail

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

[root@localhost ~]# find / -nouser -a -nogroup -ls
   135    0 drwx------   2 1004     1004           59 Sep 11 09:03 /home/user23
   136    4 -rw-r--r--   1 1004     1004           18 Nov 20  2015 /home/user23/.bash_logout
   137    4 -rw-r--r--   1 1004     1004          193 Nov 20  2015 /home/user23/.bash_profile
   138    4 -rw-r--r--   1 1004     1004          231 Nov 20  2015 /home/user23/.bashrc
find: ‘/proc/2667/task/2667/fd/6’: No such file or directory
find: ‘/proc/2667/task/2667/fdinfo/6’: No such file or directory
find: ‘/proc/2667/fd/6’: No such file or directory
find: ‘/proc/2667/fdinfo/6’: No such file or directory

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

[root@localhost ~]# find / -nouser -a -nogroup -a -atime -3 -ls
   135    0 drwx------   2 1004     1004           59 Sep 11 09:03 /home/user23
   136    4 -rw-r--r--   1 1004     1004           18 Nov 20  2015 /home/user23/.bash_logout
   137    4 -rw-r--r--   1 1004     1004          193 Nov 20  2015 /home/user23/.bash_profile
   138    4 -rw-r--r--   1 1004     1004          231 Nov 20  2015 /home/user23/.bashrc
find: ‘/proc/2669/task/2669/fd/6’: No such file or directory
find: ‘/proc/2669/task/2669/fdinfo/6’: No such file or directory
find: ‘/proc/2669/fd/6’: No such file or directory
find: ‘/proc/2669/fdinfo/6’: No such file or directory

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

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

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

[root@localhost ~]# find /etc -type f -a -size +1M -exec ls -lh {} \;
-r--r--r--. 1 root root 6.7M Aug 30 11:12 /etc/udev/hwdb.bin
-rw-r--r--. 1 root root 3.7M Nov 21  2015 /etc/selinux/targeted/policy/policy.29

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

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

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

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

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

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

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

[root@localhost scripts]# find /etc/ -mtime -7 -a -not \( -user root -a -user hadoop \) -exec ls -l {} \;

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

(0)
mxb93mxb93
上一篇 2016-09-19 13:48
下一篇 2016-09-19 13:48

相关推荐

  • class 11 压缩软件(二)、shell编程(三)和软件包管理(一)

    一、压缩软件(二) tar tar [OPTION]… (1) 创建归档     tar -c -f / PATH/TO/SOMEFILE .tar FILE…     tar cf…

    Linux干货 2016-08-21
  • 文件查找与压缩-2

    1、tar [OPTION]… (1) 创建归档(打包而非压缩) 其中-c是创建备份,-f是指定创建备份成的文件即是/PATH/TO/SOMEFILE.tar #tar -c -f /PATH/TO/SOMEFILE.tar  FILE… #tar cf / PATH/TO/SOMEFILE.tar FILE… …

    Linux干货 2016-08-18
  • 初入linux

    一、认识linux 1、在windows中通过盘符区分文件存放位置,而linux中没有盘符之说,只有文件和文件夹 2、在linux中,万物从根开始,没有后缀之说 二、文件系统的目录结构 /:根目录 /boot:系统启动的相关配置文件 /dev:设备文件 块设备:随机访问,数据块为单位 字符设备:线性访问,按字符为单位 设备号:主设备号(major)和次设备号…

    Linux干货 2017-05-20
  • N25_第二周作业

    前言 我们这次使用HAProxy作为负载均衡调度器来实现后端httpd服务的负载均衡和动静分离,实现将来自用户的80端口的http请求转发只后端8080端口的server服务 HAProxy介绍 HAProxy的是一个免费的,非常快速和可靠的解决方案,提供高可用性,负载均衡和代理对TCP和HTTP的应用程序。它特别适用于非常高流量网站。多年来,它已成为标准的…

    Linux干货 2016-12-12
  • 怎么解决VMware“该虚拟机似乎正在使用中”问题

    1)故障现象:  最近使用vmware workstation测试资料,经常会出现打开虚拟机的时候提示:“该虚拟机正在被使用”,点击“获取所有权”或者“取消”都不能处理问题(一般是没有正常虚拟机导致的)。 2)处理方法: a.查找*.lck文件,然后删除。 b.重启vmware workstation服务 3)参考资料 http://jingyan…

    Linux干货 2016-07-29
  • SRPM具体使用过程

    SRPM 简介:SRAM是Source RPM的意思,就是RPM的源代码的意思,这个SRPM就是没有经过编译的源代码。如果我们想要安装一个SRPM软件,那么就必须: 先将该软件以RPM管理的方式编译,将SRPM编译成为RPM文件 然后将编译完成的RPM文件安装到Linux系统中。 一.程序包编译: 程序包编译安装: Application-VERSION-r…

    Linux干货 2016-08-24

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-19 18:53

    ip地址匹配不对,没有好好听咱们的周日的分享吧,老师讲过的