N25-第五周作业


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

[root@zf ~]# grep -E "^(root|fedora)\>" /etc/passwd | cut -d: -f1,7
    root:/bin/bash
    fedora:/bin/bash

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

[root@zf ~]# grep -E "[[:alpha:]]+\>\(\)" /etc/rc.d/init.d/functions 
    fstab_decode_str() {
    checkpid() {
    __readlink() {
    __fgrep() {
    __umount_loop() {
    __umount_loopback_loop() {
    __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() {
    confirm() {
    get_numeric_dev() {
    is_ignored_file() {
    is_true() {
    is_false() {
    apply_sysctl() {
    key_is_random() {
    find_crypto_mount_point() {
    init_crypto() {

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

[root@zf ~]# echo "/usr/local/nginx/sbin" | grep -E -o "\<[[:alnum:]]+/?$" 
    sbin

[root@zf ~]# echo "/usr/local/nginx/sbin" | grep -E  "^/[[:alnum:]/]+/?"
    /usr/local/nginx/sbin

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

[root@zf ~]# ifconfig eth0 | grep -E -o "\<[1-9]\>|\<[1-9][0-9]\>|\<1[0-9][0-9]\>|\<2[0-4][0-9]\>|\<25[0-5]\>"
    29
    33
    83
    56
    10
    10
    10
    20
    10
    10
    10
    255
    255
    255
    255
    64
    1
    4
    5
    3
    9

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

[root@zf tmp]# ifconfig | grep -E -o "\<((1?[0-9][0-9]?|2[0-4][0-9]|25[0-4])\.){3}(1?[0-9][0-9]?|2[0-4][0-9]|25[0-4])\>"
    10.10.10.30
    10.4.2.3
    127.0.0.1

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

[root@zf tmp]# cat mail_test 
    [email protected]
     [email protected]
            [email protected]
            [email protected]
     [email protected]
            [email protected]

[root@zf tmp]# grep -E -o "\<[^[:space:]]*\>@\<[^[:space:]]*\>\.\<[^[:space:]]*\>" mail_test 
    [email protected]
     [email protected]
            [email protected]
            [email protected]
     [email protected]
            [email protected]

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

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

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

[root@zf ~]# find / \( -nouser -o -nogroup \)
    /var/spool/mail/mandriva
    /home/mandriva
    /home/mandriva/.gnome2
    /home/mandriva/.bash_profile
    /home/mandriva/.bash_logout
    /home/mandriva/.bashrc
    /home/mandriva/.mozilla
    /home/mandriva/.mozilla/extensions
    /home/mandriva/.mozilla/plugins

[root@zf ~]# find / \( -nouser -o -nogroup \) -a -atime -3
    /var/spool/mail/mandriva
    /home/mandriva
    /home/mandriva/.gnome2
    /home/mandriva/.mozilla
    /home/mandriva/.mozilla/extensions
    /home/mandriva/.mozilla/plugins

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

[root@zf ~]# find /etc/ -perm -222
    /etc/rc1.d
    /etc/init.d
    /etc/rc0.d
    /etc/httpd/modules
    /etc/httpd/run
    /etc/httpd/logs
    ...

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

[root@zf ~]# find /etc/ -size +2M -a -type f 
    /etc/selinux/targeted/policy/policy.24
    /etc/selinux/targeted/modules/active/policy.kern

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

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

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

[root@zf ~]# find /usr/ -not \( -user root -o -user bin -o  -user hadoop \)    
    /usr/local/nginx/scgi_temp
    /usr/local/nginx/proxy_temp
    /usr/local/nginx/fastcgi_temp
    /usr/local/nginx/fastcgi_temp/1
    /usr/local/nginx/fastcgi_temp/1/00
    /usr/local/nginx/client_body_temp
    /usr/local/nginx/uwsgi_temp
    /usr/libexec/abrt-action-install-debuginfo-to-abrt-cache

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

[root@zf ~]# find /etc/ -not -perm  -222       
    /etc/
    /etc/rwtab
    /etc/cron.deny
    /etc/dnsmasq.d
    /etc/.pwd.lock  
    ...

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

[root@zf ~]# find /etc/ -mtime -7 -a -not \( -user root -o -user hadoop \) 
    /etc/yum.conf.bak

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

(0)
PowercatPowercat
上一篇 2016-12-27 14:05
下一篇 2016-12-27 15:38

相关推荐

  • 管中窥豹—linux命令

    命令行选项风格: 1、原始unix风格     a、命令行选项以连字符'-'开头,后跟单个字符表示选项,选项后面跟着取值,如:mysql -hlocalhost      b、选项不带取值的,可以组合在一起,如:sed -n -r 可以写成 sed -nr  …

    Linux干货 2016-10-30
  • MySQL基础入门详解

    MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。 想要使用MySQL来存储并操作数…

    2017-09-16
  • centos6,7分区,格式,挂载

     内核及文件系统的组成部分  文件系统驱动:   centos6如果使用xfs系统    yum -y install xfsprogs  文件系统管理工具   mkfs创建文件系统 mkfs.ext3   创建:mkfs.文件类型(ext2,ext3,xfs..)  …

    Linux干货 2016-08-26
  • 用户和组命令的简单使用

    用户和组管理命令: 用户管理命令:useradd usermod userdel 组管理命令:groupadd groupmod groupdel 用户创建:useradd -u:uid 定义在/etc/login.defs -o:配合-u选项,不检查uid的唯一性 -g:gid,指明用户所属基本组,可为组名,也可以gid -c:用户的诠释信息 -d;指定用…

    Linux干货 2016-10-24
  • M25初尝试部署RAID磁盘阵列组

    在学习了linux系统管理硬盘设备的基础后,现在尝试部署RAID10硬盘组技术,在部署前我们先了解一下什么叫“RAID”磁盘冗余阵列(Redundant Array of Independent Disks)。 RAID技术就是把多块硬盘设备组合成一个容量更大、更安全的硬盘组,可以把数据切割成多个区段后分别存在各个不同物理硬盘设备上,然后利用分散读写需求赖提…

    2017-07-12
  • Homework Week-1 Linux基本

    1、描述计算机的组成及其功能。 计算机由硬件和软件组成;硬件主要分为五部分:控制器,运算器、存储器、输入和输出设备。软件分为系统软件和应用软件。 控制器(Control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。 运算器(Datapath):运算器的功能…

    Linux干货 2016-08-15

评论列表(1条)

  • 马哥教育
    马哥教育 2017-02-17 10:21

    写的很好,尤其是挑战题,排版也很漂亮,继续加油