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

相关推荐

  • Linux运维实战之一:初识计算机组成及Linux系统

    本次博文是Linux运维实战的开山篇,主要内容如下: 计算机的组成及其功能; Linux的不同发行版之间的联系与区别; Linux的哲学思想; Linux系统上命令的适用格式及一些常用命令的使用; Linux系统上如何获得帮助信息; Linux发行版的基础目录名称命名法则及功用规定; 一、计算机的组成及其功能: 问题引入:互联网时代,计算机是我们每天都要使用…

    Linux干货 2016-10-31
  • SED基本用法和在文本中的使用

    sed命令行格式为: sed [-nefri] ‘command’ 输入文本/文件 常用选项: -n∶取消默认的输出,使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到屏幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来 -e∶进行多项编辑,…

    Linux干货 2017-05-05
  • 计算机基础知识

    命令总结 echo :回显 echo $PATH:显示命令定义的路径变量 Init 3,5:关闭和打开图形界面 chvt切换虚拟终端(此命令只能本机切换) startx从新打开图形界面 powerr off关机 hostname 显示当前主机名 lsb_release -a显示操作系统版本 lscpu显示cpu信息 cat查看 who am显示当前用户身份 …

    Linux干货 2016-07-26
  • Zabbix 发现功能中文文档

    说明:本文译自 zabbix 官方文档 Discovery 一节,包括 Network Discovery, Auto Registration和Low level discovery,同时对文章进行了补充以及更详细的说明。适用于Zabbix 2.0 版本。 发现包括三种类型: 网络发现 ( Network discovery) 主动客户端自动注册 ( Ac…

    Linux干货 2015-03-12
  • Redis基于keepalived的高可用实践

    接着上一章节来: Redis基于keepalived的高可用实现 方案拓扑图 测试方案 1.       手动关闭AppM keepalived进程确认keepalived主从变化,AppS1是否变更为主 2.       开启keepal…

    2015-03-05
  • Linux源程序包相关概念整理

    一、      Linux源程序包介绍 1)    linux源程序包基础 1.         遵循常用开源协议:BSD、Apache Licence 2.0、GPL、LGPL、MIT 2.&nbs…

    系统运维 2015-09-22

评论列表(1条)

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

    第九个注意环境变量!