N26-第六周博客

vim编辑器及简单shell脚本示例

请详细总结vim编辑器的使用并完成以下练习题 
1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;

[root@localhost tmp]# vim rc.sysinit
:%s@^[[:space:]]\+[^[:space:]]@#&@g

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

[root@localhost tmp]# vim grub.conf
:%s@^[[:space:]]\+@@

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

[root@localhost tmp]# vim rc.sysinit
:%s@^#[[:space:]]\+@@

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

[root@localhost tmp]# vim grub.conf
:1,3s@^@#@

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

[root@localhost /]# vim /etc/yum.repos.d/CentOS-Media.repo
:%s@\(enabled\|gpgcheck\)=0@\1=1@g

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

[root@localhost ~]# crontab -e
0 */4 * * * /bin/tar -zcf /backup/etc-$(date +\%Y\%m\%d\%H\%M).tar.gz /etc

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

[root@localhost ~]# crontab -e
0 0 * * 2,4,6 /bin/tar -zcf /backup/messages_logs/messages-$(date +\%Y\%m\%d).tar.gz /var/log/messages

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

[root@localhost ~]# crontab -e
0 */2 * * * /bin/grep "^S" /proc/meminfo >> /stats/memory.txt

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

[root@localhost ~]# crontab -e
0 9-18/2 * * * 1-5 /bin/echo "howdy" >> /howdy.log

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

#!/bin/bash
#
mkdir /tmp/testdir-$(date +%F-%H-%M)

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

#!/bin/bash
#
touch /tmp/file{0..100}

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

#!/bin/bash
#
sed -n 'n;p' /etc/passwd | cut -d: -f 1

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

#!/bin/bash
#
for num in {24,25};do
 if
      ! id user$num &> /dev/null;then
     useradd user$num
     echo "user$num" | passwd --stdin user$num
 else
     echo "the user$num is exists"
 fi
done

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

#!/bin/bash
#
for num in {10..19};do
if
  [ ! -e file$num ];then
  touch /tmp/file$num
else
  echo "the file$num is exists"  
fi
done

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

#!/bin/bash
#
for num in {10..19};do
  chown user$num:user$num /tmp/file$num
done

 

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

(0)
youngferyoungfer
上一篇 2017-02-16 11:26
下一篇 2017-02-16 15:26

相关推荐

  • Apache配置压缩优化时报错——undefined symbol: inflateEnd

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1345264    圣诞都过了,好久没来51发博文了。最近一直在忙考试和其他一些私人事务,感觉长期不发博文,有点不好。不是不发,实在是最近…

    Linux干货 2016-08-15
  • 使用Openssl构建私有CA

    使用Openssl构建私有CA Openssl是SSL的开源实现,是一种安全机密程序,主要用于提高远程登录访问的安全性。也是目前加密算法所使用的工具之一,功能很强大。     Openssl为网络通信提供安全及数据完整性的一种安全协议,包括了主要的密码算法、常用的密钥和证书封装管理功能(CA)以及SSL协议,并提供了丰…

    Linux干货 2015-10-07
  • Shell 变量类型及用法

    一、      什么是变量          变量源于数学,在计算机语言中能储存计算机结果或能表示值的抽象概念,变量可以由变量名访问,在指令语言中,变量通常是可变的。Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个…

    Linux干货 2016-08-12
  • 搭建LAMP+NFS(附加mysql共享NFS目录练习总结)

    练习一 环境布局: 主机6 route A (10.1.32.14)作为DNS服务器 主机centos 7 class (10.1.32.3)作为Apache,PHP(模块方式)服务器1(有discuz程序) 主机centos 7 server (10.1.32.13)作为Apache,php(模块方式)服务器2(无discuz) 主机centos 6 cl…

    系统运维 2016-10-25
  • Linux网络属性配置

      一台主机想要接入网络就必须配置相关的网络属性,如:主机名、IP地址、子网掩码、网关、DNS等,下面总结了网络属性的配置方法。 一、配置主机名   主机名配置有两种方式:命令和配置文件。   1、hostname命令    可以使用hostname命令来配置主机名,不过这样配置的主机名不会永久生效,只能在当…

    Linux干货 2016-01-06
  • Linux系统用户与组管理命令及配置文件总结

    一、Linux系统用户及组分类 1、用户类别 Linux系统中的用户大致可分为三类:root用户、系统用户、普通用户。每一个用户都拥有一个唯一的身份标识UID。 2、组分类 与用户信息对应的,Linux系统中的组也可分为三类:root组、系统组、普通组。每一个组也有一个对应的唯一标识GID。 需要说明的是,UID和GID为0的用户对应的就是固定的root,即…

    Linux干货 2016-10-23

评论列表(1条)

  • 马哥教育
    马哥教育 2017-04-10 16:25

    总结的很好,脚本的思路清晰,加油~~~~