首页 > 代码库 > 第六周作业

第六周作业

第六周作业

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

[root@STCO6 tmp]# cp /etc/rc.d/rc.sysinit /tmp
[root@STCO6 tmp]# sed -i ‘s@^[[:space:]]\+@#&@‘ rc.sysinit


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

[root@STCO6 tmp]# cp /boot/grub/grub.conf /tmp
[root@STCO6 tmp]# sed -i ‘s@^[[:space:]]\+@@‘ grub.conf


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

[root@STCO6 tmp]# sed -i ‘s@^#[[:space:]]\+@@‘ rc.sysinit


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

[root@STCO6 tmp]# sed -i ‘1,3s@.*@#&@‘ grub.conf

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

[root@STCO6 tmp]# sed -i ‘s@enabled=0@enabled=1@g‘ /etc/yum.repos.d/CentOS-Media.repo
[root@STCO6 tmp]# sed -i ‘s@gpgcheck=0@gpgcheck=1@g‘ /etc/yum.repos.d/CentOS-Media.repo


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

[root@STCO6 /]# crontab -e
0 */4 * * * cp -rf /etc /backup/etc-$(date +\%Y\%m\%d\%H\%M)

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

[root@STCO6 /]# crontab -e
0 0 * * 2,4,6 cp /var/log/messages /backup/messages_logs/messages-$(date +\%Y\%m\%d)


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

[root@STCO6 /]# crontab -e
0 */2 * * * grep -e ‘^S‘ /proc/meminfo >> /stats/memory.txt


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

[root@STCO6 /]# crontab -e
0 */2 * * 1,2,3,4,5 echo "howdy"


脚本编程练习

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

[root@STCO6 /]# cat /tmp/testScript1 
#!/bin/bash
#
mkdir /tmp/testdir-$(date +\%Y\%m\%d\%H\%M)

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

[root@STCO6 ~]# cat /tmp/testScript2
#!/bin/bash
#
for i in {1..100};do
    touch /tmp/testdir-201609092326/file$i
done
[root@STCO6 ~]# ll /tmp/testdir-201609092326/
total 0
-rw-r--r--. 1 root root 0 Sep 10 08:33 file1
-rw-r--r--. 1 root root 0 Sep 10 08:33 file10
-rw-r--r--. 1 root root 0 Sep 10 08:33 file100
-rw-r--r--. 1 root root 0 Sep 10 08:33 file11
-rw-r--r--. 1 root root 0 Sep 10 08:33 file12
-rw-r--r--. 1 root root 0 Sep 10 08:33 file13
-rw-r--r--. 1 root root 0 Sep 10 08:33 file14
-rw-r--r--. 1 root root 0 Sep 10 08:33 file15
-rw-r--r--. 1 root root 0 Sep 10 08:33 file16
-rw-r--r--. 1 root root 0 Sep 10 08:33 file17
-rw-r--r--. 1 root root 0 Sep 10 08:33 file18
-rw-r--r--. 1 root root 0 Sep 10 08:33 file19
-rw-r--r--. 1 root root 0 Sep 10 08:33 file2
-rw-r--r--. 1 root root 0 Sep 10 08:33 file20
-rw-r--r--. 1 root root 0 Sep 10 08:33 file21
-rw-r--r--. 1 root root 0 Sep 10 08:33 file22
-rw-r--r--. 1 root root 0 Sep 10 08:33 file23
-rw-r--r--. 1 root root 0 Sep 10 08:33 file24
-rw-r--r--. 1 root root 0 Sep 10 08:33 file25
-rw-r--r--. 1 root root 0 Sep 10 08:33 file26
-rw-r--r--. 1 root root 0 Sep 10 08:33 file27
-rw-r--r--. 1 root root 0 Sep 10 08:33 file28
-rw-r--r--. 1 root root 0 Sep 10 08:33 file29
-rw-r--r--. 1 root root 0 Sep 10 08:33 file3
-rw-r--r--. 1 root root 0 Sep 10 08:33 file30
-rw-r--r--. 1 root root 0 Sep 10 08:33 file31
-rw-r--r--. 1 root root 0 Sep 10 08:33 file32
-rw-r--r--. 1 root root 0 Sep 10 08:33 file33
-rw-r--r--. 1 root root 0 Sep 10 08:33 file34
-rw-r--r--. 1 root root 0 Sep 10 08:33 file35
-rw-r--r--. 1 root root 0 Sep 10 08:33 file36
-rw-r--r--. 1 root root 0 Sep 10 08:33 file37
-rw-r--r--. 1 root root 0 Sep 10 08:33 file38
-rw-r--r--. 1 root root 0 Sep 10 08:33 file39
-rw-r--r--. 1 root root 0 Sep 10 08:33 file4
-rw-r--r--. 1 root root 0 Sep 10 08:33 file40
-rw-r--r--. 1 root root 0 Sep 10 08:33 file41
-rw-r--r--. 1 root root 0 Sep 10 08:33 file42
-rw-r--r--. 1 root root 0 Sep 10 08:33 file43
-rw-r--r--. 1 root root 0 Sep 10 08:33 file44
-rw-r--r--. 1 root root 0 Sep 10 08:33 file45
-rw-r--r--. 1 root root 0 Sep 10 08:33 file46
-rw-r--r--. 1 root root 0 Sep 10 08:33 file47
-rw-r--r--. 1 root root 0 Sep 10 08:33 file48
-rw-r--r--. 1 root root 0 Sep 10 08:33 file49
-rw-r--r--. 1 root root 0 Sep 10 08:33 file5
-rw-r--r--. 1 root root 0 Sep 10 08:33 file50
-rw-r--r--. 1 root root 0 Sep 10 08:33 file51
-rw-r--r--. 1 root root 0 Sep 10 08:33 file52
-rw-r--r--. 1 root root 0 Sep 10 08:33 file53
-rw-r--r--. 1 root root 0 Sep 10 08:33 file54
-rw-r--r--. 1 root root 0 Sep 10 08:33 file55
-rw-r--r--. 1 root root 0 Sep 10 08:33 file56
-rw-r--r--. 1 root root 0 Sep 10 08:33 file57
-rw-r--r--. 1 root root 0 Sep 10 08:33 file58
-rw-r--r--. 1 root root 0 Sep 10 08:33 file59
-rw-r--r--. 1 root root 0 Sep 10 08:33 file6
-rw-r--r--. 1 root root 0 Sep 10 08:33 file60
-rw-r--r--. 1 root root 0 Sep 10 08:33 file61
-rw-r--r--. 1 root root 0 Sep 10 08:33 file62
-rw-r--r--. 1 root root 0 Sep 10 08:33 file63
-rw-r--r--. 1 root root 0 Sep 10 08:33 file64
-rw-r--r--. 1 root root 0 Sep 10 08:33 file65
-rw-r--r--. 1 root root 0 Sep 10 08:33 file66
-rw-r--r--. 1 root root 0 Sep 10 08:33 file67
-rw-r--r--. 1 root root 0 Sep 10 08:33 file68
-rw-r--r--. 1 root root 0 Sep 10 08:33 file69
-rw-r--r--. 1 root root 0 Sep 10 08:33 file7
-rw-r--r--. 1 root root 0 Sep 10 08:33 file70
-rw-r--r--. 1 root root 0 Sep 10 08:33 file71
-rw-r--r--. 1 root root 0 Sep 10 08:33 file72
-rw-r--r--. 1 root root 0 Sep 10 08:33 file73
-rw-r--r--. 1 root root 0 Sep 10 08:33 file74
-rw-r--r--. 1 root root 0 Sep 10 08:33 file75
-rw-r--r--. 1 root root 0 Sep 10 08:33 file76
-rw-r--r--. 1 root root 0 Sep 10 08:33 file77
-rw-r--r--. 1 root root 0 Sep 10 08:33 file78
-rw-r--r--. 1 root root 0 Sep 10 08:33 file79
-rw-r--r--. 1 root root 0 Sep 10 08:33 file8
-rw-r--r--. 1 root root 0 Sep 10 08:33 file80
-rw-r--r--. 1 root root 0 Sep 10 08:33 file81
-rw-r--r--. 1 root root 0 Sep 10 08:33 file82
-rw-r--r--. 1 root root 0 Sep 10 08:33 file83
-rw-r--r--. 1 root root 0 Sep 10 08:33 file84
-rw-r--r--. 1 root root 0 Sep 10 08:33 file85
-rw-r--r--. 1 root root 0 Sep 10 08:33 file86
-rw-r--r--. 1 root root 0 Sep 10 08:33 file87
-rw-r--r--. 1 root root 0 Sep 10 08:33 file88
-rw-r--r--. 1 root root 0 Sep 10 08:33 file89
-rw-r--r--. 1 root root 0 Sep 10 08:33 file9
-rw-r--r--. 1 root root 0 Sep 10 08:33 file90
-rw-r--r--. 1 root root 0 Sep 10 08:33 file91
-rw-r--r--. 1 root root 0 Sep 10 08:33 file92
-rw-r--r--. 1 root root 0 Sep 10 08:33 file93
-rw-r--r--. 1 root root 0 Sep 10 08:33 file94
-rw-r--r--. 1 root root 0 Sep 10 08:33 file95
-rw-r--r--. 1 root root 0 Sep 10 08:33 file96
-rw-r--r--. 1 root root 0 Sep 10 08:33 file97
-rw-r--r--. 1 root root 0 Sep 10 08:33 file98
-rw-r--r--. 1 root root 0 Sep 10 08:33 file99


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

[root@STCO6 ~]# cat /tmp/testScript3
#!/bin/bash
#
sed -n ‘n;p‘ /etc/passwd | cut -d: -f1 >> /tmp/evenuser
[root@STCO6 ~]# cat /tmp/evenuser 
bin
adm
sync
halt
uucp
games
ftp
dbus
rpc
avahi-autoipd
abrt
nfsnobody
ntp
saslauth
gdm
sshd
suyi
testuser1
testuser3
testuser5
slackware
mysql
bash
basher
fedora

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

[root@STCO6 ~]# cat /tmp/testScript4
#!/bin/bash
#
for i in {10..19};do
    if id user$i &> /dev/null;then
    echo "user$i exists"
    else
        useradd user$i
        echo "user$i" | passwd --stdin user$i
    fi
done


[root@STCO6 ~]# chmod +x /tmp/testScript4
[root@STCO6 ~]# bash /tmp/testScript4
Changing password for user user10.
passwd: all authentication tokens updated successfully.
Changing password for user user11.
passwd: all authentication tokens updated successfully.
Changing password for user user12.
passwd: all authentication tokens updated successfully.
Changing password for user user13.
passwd: all authentication tokens updated successfully.
Changing password for user user14.
passwd: all authentication tokens updated successfully.
Changing password for user user15.
passwd: all authentication tokens updated successfully.
Changing password for user user16.
passwd: all authentication tokens updated successfully.
Changing password for user user17.
passwd: all authentication tokens updated successfully.
Changing password for user user18.
passwd: all authentication tokens updated successfully.
Changing password for user user19.
passwd: all authentication tokens updated successfully.
[root@STCO6 ~]# tail -n 10 /etc/passwd
user10:x:3010:3010::/home/user10:/bin/bash
user11:x:3011:3011::/home/user11:/bin/bash
user12:x:3012:3012::/home/user12:/bin/bash
user13:x:3013:3013::/home/user13:/bin/bash
user14:x:3014:3014::/home/user14:/bin/bash
user15:x:3015:3015::/home/user15:/bin/bash
user16:x:3016:3016::/home/user16:/bin/bash
user17:x:3017:3017::/home/user17:/bin/bash
user18:x:3018:3018::/home/user18:/bin/bash
user19:x:3019:3019::/home/user19:/bin/bash

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

[root@STCO6 ~]# cat /tmp/testScript5
#!/bin/bash
#
for i in {10..19};do
    if [ -e /tmp/file$i ];then
        echo "file$i exists"
    else
        touch /tmp/file$i
    fi
done
[root@STCO6 ~]# ll /tmp/file*
-rw-r--r--. 1 root root 0 Sep 10 10:06 /tmp/file10
-rw-r--r--. 1 root root 0 Sep 10 10:06 /tmp/file11
-rw-r--r--. 1 root root 0 Sep 10 10:06 /tmp/file12
-rw-r--r--. 1 root root 0 Sep 10 10:06 /tmp/file13
-rw-r--r--. 1 root root 0 Sep 10 10:06 /tmp/file14
-rw-r--r--. 1 root root 0 Sep 10 10:06 /tmp/file15
-rw-r--r--. 1 root root 0 Sep 10 10:06 /tmp/file16
-rw-r--r--. 1 root root 0 Sep 10 10:06 /tmp/file17
-rw-r--r--. 1 root root 0 Sep 10 10:06 /tmp/file18
-rw-r--r--. 1 root root 0 Sep 10 10:06 /tmp/file19

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

[root@STCO6 ~]# cat /tmp/testScript6
#!/bin/bash
#
for i in {10..19};do
    if [ -e /tmp/file$i ];then
        chown user$i:user$i /tmp/file$i
    else
        echo "file$i no exists"
    fi
done


[root@STCO6 ~]# ll /tmp/file*
-rw-r--r--. 1 user10 user10 0 Sep 10 10:06 /tmp/file10
-rw-r--r--. 1 user11 user11 0 Sep 10 10:06 /tmp/file11
-rw-r--r--. 1 user12 user12 0 Sep 10 10:06 /tmp/file12
-rw-r--r--. 1 user13 user13 0 Sep 10 10:06 /tmp/file13
-rw-r--r--. 1 user14 user14 0 Sep 10 10:06 /tmp/file14
-rw-r--r--. 1 user15 user15 0 Sep 10 10:06 /tmp/file15
-rw-r--r--. 1 user16 user16 0 Sep 10 10:06 /tmp/file16
-rw-r--r--. 1 user17 user17 0 Sep 10 10:06 /tmp/file17
-rw-r--r--. 1 user18 user18 0 Sep 10 10:06 /tmp/file18
-rw-r--r--. 1 user19 user19 0 Sep 10 10:06 /tmp/file19


第六周作业