第六周博客作业

              

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=0或gpgcheck=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、每周2,4,6备份/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

相关推荐

  • 8 文本查看、处理与统计分析

    文本查看 cat cat [OPTION]… [FILE]… 该命令用于正向查看文本文件,但不可分页,一次性显示完成 参数说明 参数 说明 -E 显示行结束符$ -n 对显示出的每一行进行编号 -A 显示所有控制符 -b 非空行编号 -s 压缩连续的空行成一行 -T 显示tab为^I 示例  tac tac […

    Linux干货 2016-08-10
  • linux 第二周

     一. 文件管理       文件被组织到文件系统(file system)中,通常会成为一个树状(tree)结构。Linux有一个根目录/, 也就是树状结构的最顶端。这个树的分叉的最末端都代表一个文件,而这个树的分叉处则是一个目录(directory, 相当于我们在windows界面中看到的文件夹)。在图1…

    Linux干货 2017-05-29
  • linux用户管理实战

     1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登陆多次,则只显示一次即可。 [root@localhost ~]# who |cut -d ‘ ‘ -f1 |sort -u  2、取出最后登陆到当前系统的用户的相关信息。 [root@localhost ~]# who |tail -1  3、取出当前系统上被用户当做…

    2018-02-08
  • 魔术方法

    Edit 魔术方法 使用Python的魔术方法的最大优势在于他们提供了一种简单的方法来让对象可以表现的像内置类型一样。那意味着你可以避免丑陋的,违反直觉的,不标准的的操作方法。 特殊属性 属性 含义 __name__ 类、函数、方法等名字 __module__ 类定义所在的模块名? __class__ 对象或类所属的类 __bases__ 类的基类的元组,顺…

    Linux干货 2017-11-21
  • rsyslog日志存储到mysql数据库中并利用loganalyzer进行web图形化分析管理

    概述     系统日志的重要性,相信大家都深有体会,当发生故障后,第一时间就是查看相关报错信息和日志信息,以定位问题所在,还可以基于日志,进行日志的分析,从而获取系统运行状态的一些规律,本篇就介绍关于系统日志的先关内容,具体分为:     1、rsyslog相关概念的介绍 &nb…

    Linux干货 2016-10-18
  • 常用命令之ls 详解

    ls详解 罗列目录内容权限,列出文件的信息列表(默认为当前目录)。 这个命令是Linux操作系统使用频率最高的命令,没有之一。熟练掌握这个命令的常用参数,可以提高学习、工作效率,因此需要认真对待。 1. 常用选项 – -a,–all:显示当前目录下全部文件(常用) [root@jingz ~]# ls -…

    Linux干货 2016-08-02