马哥教育网络班21期-第六周课程练习

第六周作业

请详细总结vim编辑器的使用并完成以下练习题

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

[root@qq tmp]# cp /etc/rc.d/rc.sysinit /tmp
[root@qq tmp]# vim rc.sysinit

马哥教育网络班21期-第六周课程练习

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

[root@qq tmp]# cp /boot/grub/grub.conf /tmp
[root@qq tmp]# vim grub.conf

马哥教育网络班21期-第六周课程练习

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

[root@qq tmp]# vim rc.sysinit

马哥教育网络班21期-第六周课程练习

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

[root@qq tmp]# vim grub.conf

马哥教育网络班21期-第六周课程练习

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

[root@qq tmp]# vim /etc/yum.repos.d/CentOS-Media.repo

马哥教育网络班21期-第六周课程练习

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

[root@qq tmp]# crontab -l
0 */4 * * * cp -pa /etc /backup/etc-$(date +\%Y\%m\%d\%H\%M)

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

[root@qq messages_logs]# crontab -l
0 0 * * 2,4,6 cp -a /var/log/messages /backup/messages_logs/messages-`date +\%Y\%m\%d\%H\%M`

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

[root@qq stats]# crontab -l
0 */2 * * * sed -n '/^S/p' /proc/meminfo >> /stats/memory.txt

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

[root@qq messages_logs]# crontab -l -u root
0 9-18/2 * * 1-5 echo "howdy"

脚本编程练习

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

[root@qq tmp]# cat testdir.sh 
#!/bin/bash
#
mkdir -pv /tmp/testdir-`date +\%Y\%m\%d\%H\%M`

[root@qq tmp]# bash testdir.sh 
mkdir: created directory `/tmp/testdir-201607311659'
[root@qq tmp]# ls -lht
total 8.0K
drwxr-xr-x. 2 root root 4.0K Jul 31 16:59 testdir-201607311659

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

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

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

[root@qq tmp]# cat shuang_line_passwd.sh 
#!/bin/bash
#
cat -n /etc/passwd | sed -n 'n;p' | cut -d: -f1 
[root@qq tmp]# bash shuang_line_passwd.sh 
     2  bin
     4  adm
     6  sync
     8  halt
    10  uucp
    12  games
    14  ftp
    16  dbus
    18  rpc
    20  rpcuser
    22  haldaemon
    24  saslauth
    26  sshd
    28  tcpdump
    30  rtkit
    32  gdm
    34  user4
    36  user6
    38  user8
    40  user10
    42  user2

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

[root@qq tmp]# cat user10-19.sh 
#!/bin/bash
#
for i in {10..19}; do
  if id user$i &> /dev/null; then
    echo "user$i alreay exist."
  else
    useradd user$i
    [ $? -eq 0 ] && echo user$i | passwd --stdin user$i &> /dev/null
    echo "useradd user$i done"
  fi
done

[root@qq tmp]# bash -x user10-19.sh 
+ for i in '{10..19}'
+ id user10
+ echo 'user10 alreay exist.'
user10 alreay exist.
+ for i in '{10..19}'
+ id user11
+ useradd user11
+ '[' 0 -eq 0 ']'
+ passwd --stdin user11
+ echo user11
+ echo 'useradd user11 done'
useradd user11 done
……
+ for i in '{10..19}'
+ id user19
+ useradd user19
+ '[' 0 -eq 0 ']'
+ passwd --stdin user19
+ echo user19
+ echo 'useradd user19 done'
useradd user19 done

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

[root@qq tmp]# cat 10touch.sh 
#!/bin/bash
#
declare -i i=10

while [ $i -le 19 ]; do
    touch file$i
    let i++
done
[root@qq tmp]# bash -x 10touch.sh 
+ declare -i i=10
+ '[' 10 -le 19 ']'
+ touch file10
+ let i++
+ '[' 11 -le 19 ']'
+ touch file11
+ let i++
+ '[' 12 -le 19 ']'
+ touch file12
+ let i++
+ '[' 13 -le 19 ']'
+ touch file13
+ let i++
+ '[' 14 -le 19 ']'
+ touch file14
+ let i++
+ '[' 15 -le 19 ']'
+ touch file15
+ let i++
+ '[' 16 -le 19 ']'
+ touch file16
+ let i++
+ '[' 17 -le 19 ']'
+ touch file17
+ let i++
+ '[' 18 -le 19 ']'
+ touch file18
+ let i++
+ '[' 19 -le 19 ']'
+ touch file19
+ let i++
+ '[' 20 -le 19 ']'

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

[root@qq tmp]# cat 10touch_OwnGroup.sh 
#!/bin/bash
#
declare i i=10

while [ $i -le 19 ]; do
    chown user$i:user$i file$i
    echo "file$i user and group have changed"
    let i++
done
[root@qq tmp]# 
[root@qq tmp]# bash -x 10touch
10touch_OwnGroup.sh  10touch.sh           
[root@qq tmp]# bash -x 10touch_OwnGroup.sh 
+ declare i i=10
+ '[' 10 -le 19 ']'
+ chown user10:user10 file10
+ echo 'file10 user and group have changed'
file10 user and group have changed
+ let i++
+ '[' 11 -le 19 ']'
+ chown user11:user11 file11
+ echo 'file11 user and group have changed'
file11 user and group have changed
+ let i++
+ '[' 12 -le 19 ']'
+ chown user12:user12 file12
+ echo 'file12 user and group have changed'
file12 user and group have changed
+ let i++
……
+ '[' 19 -le 19 ']'
+ chown user19:user19 file19
+ echo 'file19 user and group have changed'
file19 user and group have changed
+ let i++
+ '[' 20 -le 19 ']'

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

(0)
Net21_仲樂Net21_仲樂
上一篇 2016-08-02 10:52
下一篇 2016-08-02 10:52

相关推荐

  • 第一周 Linux基础知识

    Linux基础

    2018-03-18
  • Linux-文件基本权限及特殊权限详解

    Linux文件基本权限及特殊权限详解 背景 Linux文件基本权限和特殊权限对于初学者很少烦恼,各种无法理解,所以在学到这一节时,将自己学到的以及自己的理解写出来以检查自己对这个部分的掌握情况。 什么是权限 在Linux里一切皆文件,所谓的权限就是用户对文件(目录也是以个文件)的操作范围,对文件的操作包括读、写和执行,用户对文件有不同的权限就能做相应的操作。…

    Linux干货 2017-07-22
  • DNS 正反向解析 主从配置

    我的环境是     192.168.1.130    主DNS      192.168.1.112    从DNS DNS 的安装包有bind bind-libs bind-utils 安…

    Linux干货 2016-01-05
  • 虚拟机配置网卡别名及centos 6 之bonding

    1、虚拟网卡实现一个网卡多个地址(测试环境为虚拟机),此处使用eth1网卡,并且将eth1的IP设置成固定的,其实还可以设置成DHCP自动获取,这就是Linux强大之处。但是由eth1虚拟出来的两张网卡不能使用DHCP自动获取。具体步骤如下(设置的IP看个人喜欢) [root@localhost network-scripts]# cat…

    Linux干货 2016-09-05
  • 一年直接在于春

    day01

    2018-03-26
  • linux的各种小命令和目录

    linux的各种小命令   pwd 显示当前工作的目录   w who whoami 显示当前用户及已建立的ssh链接   useradd 新建一个普通用户   passwd 修改用户的密码   # 代表当前工作的是root 超级用户   $ 代表当前工作的普通用户 &…

    Linux干货 2017-03-27

评论列表(2条)

  • 马哥教育
    马哥教育 2016-08-02 11:43

    写的很好,排版也很棒,加油