vim 常见用法、计划任务和脚本初探

vim的常用方法

gg:跳至首行
G:跳至魔行
dd:删除光标所在行
ndd:删除光标及以下(n-1)行
yy:复制光标所在行
p:把复制行粘贴在光标下一行
P:粘贴在上一行
u:取消上一步操作
/string:查找关键字
n:往下查询
N:往上查询
%s/string1/string2/:把string1替换为string2,后面加g表示全局替换
set num:显示行号

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

 systemctl_redirect () {
    local s
    local prog=${1##*/}
    local command=$2
    local options=""

    case "$command" in

:%s/(^[[:space:]]+)/#\1/g

systemctl_redirect () {
#       local s
#       local prog=${1##*/}
#        local command=$2
#        local options=""

#       case "$command" in

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

 [root@study grub2]# cp /boot/grub2/grub.cfg /tmp
 [root@study grub2]# vi /tmp/grub.cfg 
 :%s/\(^[[:space:]]\+\)//g

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

 :%s/^#\([[:space:]]\+\)//g

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

 :1,3s%^%#%

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

[root@study tmp]# sed -i 's/0/1/g' CentOS-Media.repo 
[root@study tmp]# cat CentOS-Media.repo |grep -E 'gpgcheck|enabled'
gpgcheck=1
enabled=1

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

[root@study ~]# crontab -l
00 */4 * * * cp -r /etc/* /backup/etc-$(date +%Y%m%d%H%M%S)

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

[root@study ~]# crontab -e
00 00 * * 2,4,6 cp /var/log/messages /backup/messages-$(date +%YY%mm%dd)

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

[root@study ~]# crontab -e
00 */2 * * * grep ^S /proc/meminfo >>/stats/memory.txt

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

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

10.创建目录/tmp/testdir-当前日期时间,并在此目录创建100个空文件:file1-file100

[root@study sh]# vi test01.sh 

#!/bin/bash
mkdir /tmp/testdir-$(date +%Y%m%d)
cd /tmp/testdir-$(date +%Y%m%d)
for i in {1..100};do
touch file$i
done

11.显示/etc/passwd文件中位于第偶数行的用户的用户名

[root@study ~]# sed -n '1,$n;p' /etc/passwd|awk -F ':' '{print $1}'
bin
adm
sync
halt 
operator
ftp
avahi-autoipd
systemd-network

12.创建10用户user10-user19,密码同用户名

[root@study sh]# vi test02

#!/bin/sh
for i in {10..19};do
id user$i &>/dev/dull
if [ $? -eq 0 ];then
    echo "user$i exits"
else
    useradd user$i
    echo "user$i"| passwd --stdin user$i
    echo "user$i added"
fi
done

13.在/tmp/创建10个空文件file10-file19,并把file10的属主和属组改为user10,依次类推

[root@study sh]# vi test03

#!/bin/sh
cd /tmp
for i in {10..19};do
    touch file$i
    chown -R user$i:user$i file$i
done

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

赞 (0)
N24_小康N24_小康
上一篇 2016-12-04 20:17
下一篇 2016-12-04 21:00

相关推荐

  • ansible部分功能详解

    一. 架构: 组成     ansible core:     modules:     Core Module     Custom Module   Host Inventory: 主机清单       File   &nbs…

    Linux干货 2016-11-11
  • N_28 正则表达式的一些基本用法

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 ~]# cp -r /etc/skel /home/tuser1 ~]# chmod -R -g— -o— /home/tuser1 2、编辑/etc/group文件,添加组hadoop。 ~]#vi…

    Linux干货 2017-12-23
  • Nginx 进阶 (ssl、fpm、rewrite、cache配置等)

    Nginx(与ssl结合配置https网站、rewrite,fastcgi配置详解) 前言 前面已经介绍过Nginx的一些基础概念,还有几个比较重要的模块:利用ssl给会话加密,利用rewrite功能灵活改写访问结果,以及利用fastcgi与php模块结合等等。 一、配置https网站 1、自建CA (1)生成私钥文件 mkdir -p /etc/pki/C…

    Linux干货 2016-12-26
  • 马哥教育网络班21期+第三周课程练习

    列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登陆多次,只显示一次即可。 ~]# who|cut -d" " -f1|sort -u 2  取出最后登录当前系统的用户的相关信息。    ~]# id `last|head&nbs…

    Linux干货 2016-07-29
  • 用keepalived高可用LVS-dr模型

    环境四个虚拟机 Real server:node1:172.16.100.6         CeotOS 6 Real server:node3:172.16.100.69         CeotOS 7 Director1:172.16.100.67                        CeotOS 7 Director1:172.16.10…

    Linux干货 2017-10-15
  • 第十二周作业

      1、描述一次完整的http请求处理过程 简介 一次完整的HTTP请求过程从TCP三次握手建立连接成功后开始,客户端按照指定的格式开始向服务端发送HTTP请求,服务端接收请求后,解析HTTP请求,处理完业务逻辑,最后返回一个HTTP的响应给客户端,HTTP的响应内容同样有标准的格式。无论是什么客户端或者是什么服务端,大家只要按照HTTP的协议标准…

    2017-11-12

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-07 23:38

    第九个注意环境变量!