马哥教育网络班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
下一篇 2016-10-24

相关推荐

  • bash脚本之for循环和while循环及包管理

    一.概述 上一章剩余内容 压缩工具 cpio 复制从或到文件 cpio命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以“.cpio”或者“.tar”结尾的文件。 cpio[选项] > 文件名或者设备名 cpio[选项] < 文件名或者设备名 选项 -o 将文件拷贝打包成文件或者将文件输出到设备上 -i解包,将打包文件解压或将…

    Linux干货 2016-08-24
  • 磁盘管理进阶–RAID–LVM初步应用

    配置配额系统 综述   在内核中执行   以文件系统为单位启用   对不同组或者用户的策略不同 根据块或者节点进行限制 执行软限制( soft limit)硬限制( hard limit) 初始化 分区挂载选项: usrquota、 grpquota 在创建好分区后, 对/etc/fstab 进行修改 , 加入 后加进来的分区的…

    Linux干货 2016-09-01
  • varnish

    缓存 缓存之所以能够生效是程序的运行具有局部性特征: 时间局部性:一个数据被访问过之后,可能很快会被再次访问到; 空间局部性:一个数据被访问时,其周边的数据也有可能被访问到 缓存的是热区数据 时效性: 缓存空间耗尽:LRU,最近最少使用; 过期:缓存清理 缓存命中率:hit/(hit+miss) 页面命中率:基于页面数量进行衡量 字节命中率:基于页面的体积进…

    Linux干货 2017-07-03
  • Linux的文件权限(一)

    Linux的文件权限 在Linux的世界里,一切皆文件,用文件代表了系统的所有数据。既然文件那么重要,自然会给文件赋予一定的权限,要不然每个人都可以乱来,那系统会十分危险。所以文件的所有者会给文件设定权限,每个用户在自己权限的范围下做各自的操作。 我们可以先用 ll-d 查看一下文件的权限 第一位代表着问价类型,d 代表着是目录文件,后面九位代表着权限。其中…

    2017-05-30
  • 文本处理-三剑客-grep

    文本过滤
    grep [OPTIONS] PATTERN [FILE…]

    2018-03-16
  • N25期–第六周作业

    请详细总结vim编辑器的使用并完成以下练习题 1、 复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; %s@^[[:space:]]\{1,\}.*@#&@ 2、 复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf…

    Linux干货 2017-01-17

评论列表(1条)

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

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