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

相关推荐

  • rsyslog同步history日志

    前言   由于公司业务是由公司内部开人员及外包团队共同开发,所以需要使用rsyslog对history日志做收集、审计。虽然搭建及配置非常简单,但是在日常运维工作中很实用,所以记录下,方便日后快速搭建。如果有错误,望大神指正。 syslog简介 syslog是Linux系统默认的日志守护进程。默认的syslog配置文件是/etc/sysl…

    Linux干货 2015-04-03
  • 马哥教育网络班22期第一周课程练习1-3天

    1.描述计算机组成及其功能 CPU:  运算器  控制器  寄存器  缓存 存储器:  RAM(随机访问存储器)  I/O设备:               i:下指令,提供数据 如:键鼠     &…

    Linux干货 2016-08-15
  • python-多进程

    进程是由系统自己管理的。 1:最基本的写法 from multiprocessing import Pool def f(x):     return x*x if __name__ == '__main__': &nb…

    Linux干货 2016-11-05
  • VMware12 Centos系统安装VMware-tools过程

    1、点击VMware菜单虚拟机选中安装VMware-tools:           注:虚拟机桌面会生成VMwaretools DVD安装光盘 2、查看虚拟机设置ISO映像文件是否是VMwaretoolsDVD带Linux.iso映像的文件: 3、在centos系统中 open term…

    Linux干货 2016-07-26
  • bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容

    bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容 bash的基础特性:命令的执行状态结果 bash通过状态返回值来输出此结果: 成功:0 失败:1-255 命令执行完成之后,其状态返回值保存于bash的特殊变量$?中。 [root@localhost ~]# ls anaconda-ks.cfg [root@localhost ~]# echo…

    Linux干货 2018-03-11
  • 软件包管理

    一、软件管理程序rpm 简介:RPM是通过预编译并打包成为RPM文件格式后再加以安装的一种方式,并且还能够进行数据库的记载。 1、优点:     1、RPM内含已经编译过的程序与设置文件等数据,可以让用户免除重新编译的困扰;     2、RPM在被安装之前,会先检查系统的硬盘容量…

    Linux干货 2016-08-24

评论列表(1条)

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

    第九个注意环境变量!