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.www58058.com/62593

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

相關推薦

  • date命令常見用法。

    date是一個非常實用的小工具,可以查看時間,并且也可以添加選項去完成自己想完成的東西。

    Linux干貨 2017-11-13
  • bash腳本作業

    1、每隔3秒鐘到系統上獲取已經登錄的用戶的信息;如果發現用戶hacker登錄,則將登錄時間和主機記錄于日志/var/log/login.log中,并提示該用戶退出系統。 2、隨機生成10以內的數字,實現猜字游戲,提示比較大或小,相等則退出。 1、求100以內所有正整數之和 ?2、通過ping命令探測172.16.250.1-254范圍內的所有主機的在線狀態,…

    Linux干貨 2016-08-19
  • 從零開始搭建雙主模型的nginx proxy高可用集群

    實驗簡介 本文主要介紹雙主模型的nginx proxy高可用集群的搭建方式。實驗環境: 使用nfs/ftp服務器,nfs提供頁面數據共享,ftp提供程序下載 使用單獨的mariadb服務器提供關系型數據庫 使用兩臺httpd服務器提供頁面服務,包括靜態的html和動態的php(phpmyadmin、wordpress、phpinfo) 使用兩臺nginx作為…

    Linux干貨 2017-06-25
  • 加油吧!少年!—至我和我M25期的伙伴

    引用 衣帶漸寬終不悔,為伊消得人憔悴。—王國維《人間詞話》 轉眼已到了27歲的年紀,不知道自己是否還稱得上少年。公交上讓座被小朋友成為叔叔也都是很多年的事了。哪怕再有一顆少年心現在也要肩負起整個家庭的責任。 從畢業已工作了將近六個年頭,無聊的工作平凡的薪水已經使我厭倦。閉上眼睛以后需要贍養四個老人,還要照顧孩子以后這些難題映入腦海。曾經以為遙遠的…

    Linux干貨 2017-07-11
  • CetnOS6啟動流程以及LVM下的fstab及boot恢復實驗

    centos6啟動流程 主動讀取BIOS,通過CMOS加載硬件信息 ,并進行POST,指定第一個可啟動的設備 ROM:BIOS,Basic Input and Output System,保存著計算機系統最重要的基本輸入輸出程序,系統信息設置,開機加電自檢程序RAM:保存各項參數的設定 讀取第一個可啟動設備MBR的引導加載程序(grub)的啟動信息 MBR:…

    Linux干貨 2017-05-13

評論列表(1條)

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

    第九個注意環境變量!

欧美性久久久久