马哥教育网络班22期+第6周课程练习 忍者乱太郎喻成

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

1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#
cp /etc/rc.d/rc.sysinit /tmp
方法一 vim法
在vim下用 : 进入命令行模式
  

  %s/^ /#\1/g

方法二 sed法

sed "s/\(^ \)/#\1/g" /tmp/rc.sysinit > tmp
cat tmp > /tmp/rc.sysinit
rm tmp

2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符;
    cp /boot/grub/grub.conf /tmp/
vim法
命令行模式下使用

%s/^ .*//g

sed法

sed "s/^ .*//g" /tmp/grub.conf >tmp
cat tmp > /tmp/grub.conf
rm tmp

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

:%s/^\s\+//g

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

0,3s/^/#/g

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

%s/enabled=0/enabled=1/g

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

mkdir /backup
crontab -e #设置crontab任务
加入行 
* */4 * * * tar -cvf /backup/etc-$(date "+%Y%m%d%H%M") /etc

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

mkdir /backup

crontab -e #设置crontab任务
加入行

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

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

mkdir stats
touch /stats/memory.txt

crontab -e #设置crontab任务
加入行

* */2 * * * cat /proc/meminfo/S* >> /stats/memory.txt

9、工作日的工作时间内,每两小时执行一次echo ""howdy""
crontab -e #设置crontab任务
加入行

* 8-17/2 * * 1-5 echo "\"howdy\""

脚本编程练习
10、创建目录/tmp/testdir-当前日期时间;

mkdir /tmp/testdir-$(date +"%Y%m%d")

11、在此目录创建100个空文件:file1-file100
写一个脚本文件并执行
#!/bin/bash

cd /tmp
for i in $(seq 1 100);do
    touch file-$i
done


12、显示/etc/passwd文件中位于第偶数行的用户的用户名;
写一个脚本文件并执行

#!/bin/bash

declare -i i=0;
cat /etc/passwd | while read -r line; do
        if [ $[ $i%2 ]  == 0 ]; then
                echo $(echo $line | cut -d":" -f1);
        fi
        i=$i+1;
done
        

13、创建10用户user10-user19;密码同用户名;
写一个脚本并执行
#!/bin/bash

for i in $(seq 10 19);do
        useradd user$i -p user$i;
done

14、在/tmp/创建10个空文件file10-file19;
写脚本
#!/bin/bash

for i in $(seq 10 19);do
    touch /tmp/file-$i
done

15、把file10的属主和属组改为user10,依次类推。
写脚本
#!/bin/bash

for i in $(seq 10 19);do
    chown user$i:user$i /tmp/file$i
done

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

赞 (0)
chengyuchengyu
上一篇 2016-10-24 09:11
下一篇 2016-10-24 09:11

相关推荐

  • 文本三剑客 grep sed awk

    模式,选项。常用用法。

    2017-12-03
  • 11. vim备查の小手札

    三种模式 命令模式(默认)      command mode:移动光标,剪切/粘贴文本 插入(编辑)模式         edit mode:修改文本 扩展命令模式 extend…

    Linux干货 2016-08-18
  • SElinux

    SElinux:Secure Enhanced Linux   SElinux工作与linux内核中他所实现的功能叫做强制访问控制机制。DAC:是linux的自主访问控制。MAC:是SElinux引入的访问法则,叫作强制访问控制。   SElinux有两种工作级别:     strick:严格级别,每个进程都收到SEl…

    Linux干货 2016-09-23
  • N-22-南京-修 第三周博客作业

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

    Linux干货 2016-09-15
  • 第四周作业

    cp、grep、sueradd、chmod、vim命令的一些用法

    Linux干货 2017-12-24
  • 精解局域网访问及共享(三)

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/155109    上一节中的2种情况都是默认的简单共享,下面我们着重分析一下高级共享方式下的各种访问情况。毕竟这种方式用的很普遍,而且在权限…

    Linux干货 2015-03-25

评论列表(1条)

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

    相关知识扩展的很好,但排版有点欠火候,你可以咨询一下455568219