第六周博客作业

              

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

%s@^[[:space:]]\+[^[:space:]]@#&@g

    原文件:

2016-09-22 18_59_43-CentOS 6.8 - root@localhost_~ - Xshell 5 (Free for Home_School).png

    替换后的文件:

2016-09-22 18_58_54-CentOS 6.8 - root@localhost_~ - Xshell 5 (Free for Home_School).png

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

%s@^[[:space:]]\+@@g

    原文件:

2_1.png

    查找替换后的文件:

2_2.png

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

%s@^#[[:space:]]\+@@g

    原文件

3_1.png

    替换查找后的文件

3_2.png

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

:1,3s@.*@#&@

    原文件

5_1.png

    替换后的文件

5_2.png


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

%s@\(enabled=0|gpgcheck=0\)=0@\1=1@g

 

  原文件

4_1.png

    替换查找后的文件:

4_2.png

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

* */4 * * * /bin/cp –r /etc /backup/etc-$(date +%Y%m%d)

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

* * * * 2,4,6 /bin/cp -f /var/log/messages /backup/messages_logs/messages-$(date Y%m%d)

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

* */2 */1 * * /bin/grep "^S" /proc/meminfo >> /stats/memory.txt

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

* 9-18/2 * * 1-5 /bin/echo "howdy"

    列出上述创建的4个周期性计划任务

[root@localhost backup]# crontab -e
crontab: installing new crontab
[root@localhost backup]# crontab -l
* 9-18/2 * * 1-5 /bin/echo "howdy"
* */2 */1 * * /bin/grep "^S" /proc/meminfo >> /stats/memory.txt
* */4 * * * /bin/cp -r /etc/ /backup/etc-$(date +%Y%m%d)
* * * * 2,4,6 /bin/cp -rf /var/log/messages /backup/messages_logs/messages-$(date +%Y%m%d)

脚本编程练习

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

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

    脚本文件

#!/bin/bash
# Author: Max Meng
# Date: 2016/09/22
# Summary:
#       10. Create a directory in /tmp: such as /tmp/testdir-20169010123030
#       11. Create 100 empty file: file1 - file100

# Create direcotry using date command
dirname="test-$(date +%Y%m%d%H%M%S)"
mkdir /tmp/$dirname

# If directory created successfully, then trying to create file1 to file100
if [ -e /tmp/$dirname ]; then
        for i in {1..100}; do
                touch /tmp/$dirname/file$i
        done
        echo "Create file1 to file100 finished"
else
        echo "create dirname failure"
        exit 1
fi

    执行结果

[root@localhost week06]# ls /tmp/test-20160923061932/
file1    file14  file2   file25  file30  file36  file41  file47  file52  file58  file63 
 file69  file74  file8   file85  file90  file96
file10   file15  file20  file26  file31  file37  file42  file48  file53  file59  file64  
file7   file75  file80  file86  file91  file97
file100  file16  file21  file27  file32  file38  file43  file49  file54  file6   file65  
file70  file76  file81  file87  file92  file98
file11   file17  file22  file28  file33  file39  file44  file5   file55  file60  file66  
file71  file77  file82  file88  file93  file99
file12   file18  file23  file29  file34  file4   file45  file50  file56  file61  file67  
file72  file78  file83  file89  file94
file13   file19  file24  file3   file35  file40  file46  file51  file57  file62  file68  
file73  file79  file84  file9   file95

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

    脚本文件

#!/bin/bash
#
sed -n 2~2p /etc/passwd | cut -d: -f1

    执行结果

[root@www week06]# bash sh14.sh 
bin
adm
sync
halt
operator
ftp
pegasus
ods
systemd-network
polkitd
apache
colord
unbound
saslauth
amandabackup
geoclue
rpc
rtkit
qemu
rpcuser
radvd
mysql
pulse
tomcat
gdm
avahi
sshd
dovenull
tcpdump
user1
hbase
max
user22
fedora
user20
user10
user12
user14
user16
user18


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

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

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

  脚本文件

#!/bin/bash
# Author: Max Meng
# Date: 2016/09/22

for i in {10..19}; do
        username=user$i
        if id $username >& /dev/null; then
                echo "user already exists"
        else
#               add user using  $username
                useradd $username
                echo $username | passwd --stdin $username >& /dev/null
                echo "add user $username successfully, the password is same as username"

                filename=file$i

#               Create empty file using $filename
                touch /tmp/$filename

#               Change file owner and file group of $filename equavilant to $username
                chown $username:$username /tmp/$filename
                echo "Create $filename successfully"

        fi
done

    执行结果

[root@www week06]# bash sh13.sh 
add user user10 successfully, the password is same as username
Create file10 successfully
add user user11 successfully, the password is same as username
Create file11 successfully
add user user12 successfully, the password is same as username
Create file12 successfully
add user user13 successfully, the password is same as username
Create file13 successfully
add user user14 successfully, the password is same as username
Create file14 successfully
add user user15 successfully, the password is same as username
Create file15 successfully
add user user16 successfully, the password is same as username
Create file16 successfully
add user user17 successfully, the password is same as username
Create file17 successfully
add user user18 successfully, the password is same as username
Create file18 successfully
add user user19 successfully, the password is same as username
Create file19 successfully
[root@www week06]# cat /etc/passwd | grep user1
user10:x:1024:1024::/home/user10:/bin/bash
user11:x:1025:1025::/home/user11:/bin/bash
user12:x:1026:1026::/home/user12:/bin/bash
user13:x:1027:1027::/home/user13:/bin/bash
user14:x:1028:1028::/home/user14:/bin/bash
user15:x:1029:1029::/home/user15:/bin/bash
user16:x:1030:1030::/home/user16:/bin/bash
user17:x:1031:1031::/home/user17:/bin/bash
user18:x:1032:1032::/home/user18:/bin/bash
user19:x:1033:1033::/home/user19:/bin/bash
[root@www week06]# ll /tmp | grep file1
-rw-r--r--. 1 user10       user10              0 Sep 23 09:30 file10
-rw-r--r--. 1 user11       user11              0 Sep 23 09:30 file11
-rw-r--r--. 1 user12       user12              0 Sep 23 09:30 file12
-rw-r--r--. 1 user13       user13              0 Sep 23 09:30 file13
-rw-r--r--. 1 user14       user14              0 Sep 23 09:30 file14
-rw-r--r--. 1 user15       user15              0 Sep 23 09:30 file15
-rw-r--r--. 1 user16       user16              0 Sep 23 09:30 file16
-rw-r--r--. 1 user17       user17              0 Sep 23 09:30 file17
-rw-r--r--. 1 user18       user18              0 Sep 23 09:30 file18
-rw-r--r--. 1 user19       user19              0 Sep 23 09:30 file19

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

(0)
mxb93mxb93
上一篇 2016-12-05 17:03
下一篇 2016-12-05 17:03

相关推荐

  • PHP进阶知识总结

    周末梳理了下这段时间看书的一些知识点,进步的过程不仅要实践,还要安排多看书、思考、总结。 只针对知识点进行了罗列和简单说明,很多细节还未整理好,待后面再专门详细写。   基础易忽略概念   PHP是一个支持面向对象开发的语言,而不是一个纯面向对象的语言 PHP5中保留了对var的支持,但会将var自动转换为public 类型检查函数: i…

    Linux干货 2015-03-10
  • bind简单配置之子域、主从、视图

    [bind简单配置之子域、主从、视图] 标签:bind简单配置、子域、主从、视图 [逻辑拓扑结构图] ns.mylinux.com主机上面有两种网卡用来模拟两个不通的网段。 [子域配置]         域名内部还可以继续划分子域,进行分片管理。下面是正向子域授权的配置: &nb…

    Linux干货 2015-10-22
  • 文件系统管理&raid&脚本编程之参数、算数运算练习

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; (1) ~]# fdisk /dev/sdb Welcome to…

    Linux干货 2016-11-08
  • 细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

    字符串的条件判定 1.字符串判定 一定要用双[[ ]] 2.字符串判定=~默认支持扩展正则表达式,这里注意双引号的使用 仅仅做是否包含时,有无双引号无区别。 但是利用其他扩展表达式时 双引号一定要去掉 锚定示例 多条件判定时-o -a使用时,不能使用双中括号 空格有无的差别 !的使用细节 !到目前为止 有两种意义 条件判定取反 历史命令的调用 两者的使用却别…

    2017-03-19
  • linux下正则表达式的学习

    linux 下正则表达式用法总结 正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。简单的说,正则表示式就是处理字符串的方法。常用来匹配字符的元字符总结如下: Paste_Image.png 有了以上这些元字符原则上可以搜索出任务想要表达的字符,可为了更灵活使用,往往还要搭配一些次数匹配的用法 Paste_Image.png 例如:a&nbsp…

    Linux干货 2017-06-04
  • N22-第5周博客作业

    1、显示当前系统上root、fedora或user1用户的默认shell; grep -E "^(root|fedora|user1)\>" /etc/passwd | cut -d: -f7 2、找出/etc/rc.d/init.d/functions文件中某单…

    Linux干货 2016-12-05