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

相关推荐

  • MongoDB安装部署手稿

    Edit MongoDB 手册 MongoDB 手册 第一章 Introduction MongoDB入门学习目录(建议) Databases Collections Documents 第二章 部署安装 1. Import the MongoDB public key 2. Configure the package management system (…

    Linux干货 2016-03-26
  • Linux作业管理、并发执行、计划任务

    概述     本章将为大家介绍一些进程管理的补充部分作业管理和任务的并发执行,同时也将介绍一下Linux系统上计划任务的相关内容,具体分为:         1、Linux作业管理     &nbsp…

    Linux干货 2016-09-09
  • N25-Bazinga-第二周作业

    1.Linux文件管理类命令 命令 功能 命令 功能 pwd 显示当前目录 ls 显示目录下的内容 cd 改变所在目录 cat 显示文件的内容 grep 在文件中查找字符串 cp 复制文件 touch 创建文件 mv 移动文件 rm 删除文件 rmdir 删除目录 1.1 pwd命令 该命令的英文解释为print working&nbsp…

    Linux干货 2016-12-13
  • N22-第二周作业

    一.linux上的文件管理命令都有哪些,其常用的使用方法及其相关示例演示     cp复制命令:     -i:若目标文件存在,提示是否覆盖目标文件,此选项为已写入alias里,使用时为默认选项     [root@localhost ~]# ls /tmp/…

    Linux干货 2016-08-20
  • 马哥教育网络班19期+第九周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin),分别这两类用户的个数,通过字符串比较来实现。 #!/bin/bash for user_shell in `awk -F: '{print $7}'&nbsp…

    Linux干货 2016-07-01
  • M20 – 1- 第三周博客(1):Linux用户、组

    Linux是个多用户多任务的分时操作系统,因此要使用系统资源的用户都必须先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面能帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问与限制,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名(UID)和用户口令(PASSWD)。用户在登录时键入正确的用户名和口令后,才能…

    Linux干货 2016-08-04

评论列表(1条)

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

    第九个注意环境变量!