马哥教育网络班22期+第六周课程练习

1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;

]# cp -v  /etc/rc.d/rc.sysinit /tmp/
   `/etc/rc.d/rc.sysinit' -> `/tmp/rc.sysinit'
]# sed 's@^[[:space:]]\+@#@g' /tmp/rc.sysinit

2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符;

]# cp -v /boot/grub/grub.conf /tmp/
]# sed 's/^[[:space:]]\+//g' grub.conf

3、删除/tmp/rc.sysinit文件中的以#开头,且后面跟了至少一个空白字符的行行的#和空白字符

]# sed -n '/^#[[:space:]]\+/p' 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
# Start any MD RAID arrays that haven't been started yet
# Remount the root filesystem read-write.
# Clean up SELinux labels
# If relabeling, relabel mount points.
# Mount all other filesystems (except for NFS and /proc, which is already
# mounted). Contrary to standard usage,
...
]# sed  '/^#[[:space:]]\+/d' /tmp/rc.sysinit

4、为/tmp/grub.conf文件中前三行的行首加#号;

]# sed '1,3s@^.*@#@g' /tmp/grub.conf 
#
#
#
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-431.el6.x86_64)
   root (hd0,0)
   kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=VolGroup/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
   initrd /initramfs-2.6.32-431.el6.x86_64.img

5、将/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改为1;

]# sed 's@\([enabled|gpgcheck]\)=0@\1=1@g' /etc/yum.repos.d/centos.repo 

6、每4小时执行一次对/etc目录的备份,备份至/backup目录中,保存的目录名为形如etc-201504020202

]# crontab -l
0 */4 * * *  /bin/cp -a /etc /backup/etc-$(date "+%Y%m%d%H%M") &>/dev/null

7、每周2,4,6备份/var/log/messages文件至/backup/messages_logs/目录中,保存的文件名形如messages-20150402

]# crontab -l
0 0 * * 2,4,6 /bin/cp -a /var/log/messages /backup/messages_logs/messages-$(date "+%Y%m%d)" &>/dev/null

8、每天每两小时取当前系统/proc/meminfo文件中的所有以S开头的信息至/stats/memory.txt文件中

]# crontab -l
0 */2 * * * grep "^S" /proc/meminfo >>/stats/memory.txt

9、工作日的工作时间内,每两小时执行一次echo “howdy”

# crontab -l
0 */2,9-18 * * 1-5 /bin/echo "hwdy"

脚本编程练习

10、创建目录/tmp/testdir-当前日期时间;

]# mkdir /tmp/testdir-$(date "+%F-%H-%M-%S")
]# ls -d /tmp/testdir*
/tmp/testdir-2016-10-16-07-03-50

11、在此目录创建100个空文件:file1-file100

]# touch file{1..100}
]# ll file* |wc -l
100

12、显示/etc/passwd文件中位于第偶数行的用户的用户名;

~]# sed -n 'n;p' /etc/passwd |awk -F: '{print $1}'

13、创建10用户user10-user19;密码同用户名;

#!/bin/bash
#
for i in {10..19};do
   if useradd user$i &>/dev/null ;then
       echo user$i |passwd --stdin user$i
   else
       echo "user$i is exists"
   fi
done

14、在/tmp/创建10个空文件file10-file19;

]# touch file{10..19}

15、把file10的属主和属组改为user10,依次类推。

]# for i in {10..19};do chown user$i:user$i file$i;done

原创文章,作者:N22-白蚁,如若转载,请注明出处:http://www.178linux.com/51911

(0)
N22-白蚁N22-白蚁
上一篇 2016-10-17
下一篇 2016-10-17

相关推荐

  • shell脚本编程2

    shell脚本编程2   今天继续学习了shell脚本编程,续之前写的脚本编程1。上次主要学了编程的基础,脚本格式,变量类型及变量的使用,条件测试,数字运算并且进行了部分练习,因为这部分逻辑思维能力要求不是很高,因此记忆起来难度不是特别大。   从今天开始便进入了流程控制以及函数、数组、高级字符串操作、高级变量等内容的学习,总体来说难度和…

    Linux干货 2016-08-16
  • N25第三周作业

    一、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@centos01 ~]# who | cut -d " " -f1 | uniq -u root qufudcj 二、取出最后…

    Linux干货 2016-12-26
  • N25-第七周作业

    1、创建一个10G分区,并格式为ext4文件系统;~]#fdisk -l #查看已有分区 设备 Boot Start End Blocks Id System/dev/sda1 * 2048 8194047 4096000 83 Linux/dev/sda2 8194048 24578047 8192000 82 Linux swap / Solaris~]…

    Linux干货 2017-02-24
  • 马哥教育网络班21期-第5周课程练习

    第5周课程练习 1、 显示/boot/grub/grub.conf中以至少一个空白字符开头的行; # grep "^[[:space:]]\+" /boot/grub/grub.conf 2、 显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; # egrep "…

    Linux干货 2016-08-02
  • 阿里巴巴开源项目nginx_concat_module企业部署实例

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1580194        公司的前端开发工程师今天找我,让我给他搞下淘宝的一个开源项目 nginx_concat_m…

    Linux干货 2016-08-15
  • N25_第三周作业_leon

    N25_第三周作业_leon 1.       列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who 全部 jj       tty1  …

    Linux干货 2017-01-06

评论列表(1条)

  • 马哥教育
    马哥教育 2016-10-25 13:39

    作业写的很棒,请跟上学习进度,加油