N22-第6周作業-冥界之王

請詳細總結vim編輯器的使用并完成以下練習題
1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#;
 

  [root@CentOS6 /]# cp /etc/rc.d/rc.sysinit /tmp
   [root@CentOS6 tmp]# cat rc.sysinit | sed   's/^[[:space:]]/#/g'

2、復制/boot/grub/grub.conf至/tmp目錄中,刪除/tmp/grub.conf文件中的行首的空白字符;

   [root@CentOS6 tmp]# cat grub.conf | sed 's/^[[:space:]]//g'

3、刪除/tmp/rc.sysinit文件中的以#開頭,且后面跟了至少一個空白字符的行行的#和空白字符;

   [root@CentOS6 tmp]# sed 's/^#[[:space:]]\+//g' /tmp/rc.sysinit

  4、為/tmp/grub.conf文件中前三行的行首加#號;

   在vim的命令模式下,也就是按下esc鍵 

:1,3s/^/#&/g

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

  :%s/=0/=1/g

6、每4小時執行一次對/etc目錄的備份,備份至/backup目錄中,保存的目錄名為形如etc-201504020202
   編寫備份腳本 /tmp/backup.sh,之后chmod +x /tmp/backup.sh

   #!/bin/bash
   mkdir -p /backup/etc-`date +%Y%m%d%H%M`
   cp -r /etc/* /backup/etc-`date +%Y%m%d%H%M`
   crontab -e編輯,設置執行周期
   * */4 * * *  cp -r /etc/* /backup/etc-`date +%Y%m%d%H%M`

7、每周2,4,6備份/var/log/messages文件至/backup/messages_logs/目錄中,保存的文件名形如messages-20150402
    在 /etc/crontab 文件中添加如下該行
  

  * * * * 2,4,6 /bin/tar -cf /backup/messages_logs/messages-`date +%Y%m%d` /var/log/messages

8、每天每兩小時取當前系統/proc/meminfo文件中的所有以S開頭的信息至/stats/memory.txt文件中
     在 /etc/crontab 文件中添加如下該行
   

  * */2 * * * /bin/grep '^S' /proc/meminfo >> /stats/memory.txt

9、工作日的工作時間內,每兩小時執行一次echo ""howdy""
    在 /etc/crontab 文件中添加如下該行
   

* 9-18 * * 1-5 /bin/echo "howdy"

腳本編程練習

10、創建目錄/tmp/testdir-當前日期時間;
 

 [root@CentOS6 tmp]# mkdir -p /tmp/testdir-`date +%F-%H:%m:%S`

11、在此目錄創建100個空文件:file1-file100
 

   #!/bin/bash
      for((i=1;i<=100;i++)) do
         cd `pwd`
         touch file$i
      done

12、顯示/etc/passwd文件中位于第偶數行的用戶的用戶名;
   

[root@CentOS6 ~]# cat -n  /etc/passwd | awk -F " " '{if($1%2==0) {print $2}}' | awk -F ":" '{print $1}'

13、創建10用戶user10-user19;密碼同用戶名;
   

 #!/bin/bash
     for((i=10;i<=19;i++)) do
        useradd user$i
        echo "user$i" | passwd --stdin user$i
     done

14、在/tmp/創建10個空文件file10-file19;
 

   #!/bin/bash
    for((i=10;i<=19;i++)) do
       cd /tmp
       touch file$i
    done

15、把file10的屬主和屬組改為user10,依次類推。

#!/bin/bash
 for((i=10;i<=19;i++)) do
       cd /tmp
       chown -R user$i:user$i file$i
 done
 vim的使用

 Vim/Vi簡介

1、Vim/Vi 是一個文本編輯器,多適用在Linux/UNIX系統;早期是Vi,現在增強版是Vim,但使用的還是Vi的操作。
2、Vim/Vi 沒有菜單,只有命令。
3、作用:建立、編輯、顯示文本文件。
常用操作
1、Vi有三種工作模式:命令模式、插入模式、編輯模式。
Insert    Edit
2、格式:vi + 文件名
說明:如果是已存在此文件,表示打開;如果不存在此文件,表示新建。
3、三種模式的相互切換
3.1        默認進入"命令模式"
3.2        插入模式:        在命令模式下–>進入"插入模式",輸入 i                注:一般下面會提示有–INSERT–
退出"插入模式",按ESC鍵
常用選項:aio
a        在光標后插入文本,        A        在本行行末插入文本;
i        在光標前插入文本,        I        在本行開始插入文本;
o        在光標下插入新行,        O        在光標上插入新行;
3.3        編輯模式:        在命令模式下–>進入"編輯模式",輸入:
退出"編輯模式",回車        (其實執行完命令也即進入命令模式了)
常用選項:set number        使文件顯示行號(number也可簡寫成nu)
3.4        命令模式常用命令
***定位***
h        (等同于方向左鍵)左移一個字符
j        (等同于方向下鍵)下移一行
k        (等同于方向上鍵)上移一行
l        (等同于方向下鍵)下移一行
$        移至行尾
0        移至行首
H        移至屏幕上端(High)
M        移至屏幕中央(Middle)
L        移至屏幕下端(Low)
:set nu        設置行號        //nu是number的簡寫
:set nonu      取消行號        //no-number
gg              到第一行
G                到最后一行
nG              到第n行                //n是自己輸入的行號
:n              到第n行                //與nG作用一樣
***刪除***
x                  刪除光標所在處字符
nx                刪除光標所在處后n個字符
dd                刪除光標所在行
ndd                刪除光標后的n行                //注:光標所在的行也算一行
D                  刪除光標所在處到行尾
dG                刪除光標所在行到末尾的內容
:n1,n2d          刪除指定范圍的行,將n1行到n2行刪除
eg,:12,15d        //作用是刪除12到15行
***復制/剪切***
yy              復制當前光標所在行
nyy                復制當前光標所在以下n行
dd                剪切當前光標所在行(也可以用作刪除)
ndd              剪切當前光標所在行以下n行        //注:光標所在的行也算一行
p                粘貼在當前光標所在行下
***替換/取消***
u              返回上一次操作(無限制的返回,前提沒有在中途保存)
r                取代光標所在處字符
R                從光標所在處開始替換字符,按Esc結束,不然一直替換后面的字符
***搜索/替換***
/字符串                        從光標處開始搜索要查找的字符串
n                              (next)搜索指定字符串時,按n鍵跳到下一個符合的字符串
:%s/old/new/g                全文中的字符串old全部替換成new,注意格式,只需改old,new,其他一樣
:n1,n2s/old/new/g        將n1行到n2行中所有的old都替換成new
:s/old/new/g                將光標所在行的所有old都替換成new
3.5        保存/退出 :        在命令模式下–>輸入  :w                保存(不退出)
:w + 文件路徑    另存為
eg::w /work/dir/newfile    注:把當前文件另存為newfile
:wq                保存并退出
:q                退出(用于沒有未更改)
:q!              退出不保存(用于文件已更改)
4、常用快捷鍵
shift + zz        保存并退出        (在命令行模式下)
5、小技巧
:r + 要導入的文件路徑                                作用:可以把文件導入到該文件所指光標處
:! + 進行一些非Vi指令的操作。 如:ls查看其他目錄,date查看日期,等一系列文件操作命令
:r + !+ 進行一些非Vi指令的操作結果                作用:其他指令的操作結果寫入到當前文件所指光標處 (不錯!)
eg:r !date        //把當前查詢的日期寫入到當前文件
6、多文件編輯
使用命令vim name1 name2 name3…(各個文件名之間用空格隔開)可以同時打開多個文件。
:n                編輯下一個文件;
:N                編輯上一個文件;
:files          列出目前vim打開的所有文件
7、塊選擇
選取部分內容進行復制粘貼刪除很方便(不是以行為單位操作)
v        字符選擇(輸入v后,下面窗口提示"可視",也即選中了第一個字符,按方向左右鍵繼續選擇)
V        行選擇
y        復制選中的內容
p      粘貼選中的內容
d        刪除選中的內容
8、Vim/Vi的配置(讓其顯示行號,tab鍵=4)
方法:
1)在用戶目錄下(cd/或者cd~都能進到用戶目錄)/home/usr
2)建立一個vimrc的文件(最好隱藏)
vi .vimrc
3)進行編輯,輸入內容
set nu                        //作用:讓Vi/Vim打開的文件都能顯示行號
set tabstop=4                //作用:在Vi/Vim編輯器,讓tab跳至4個間距

原創文章,作者:lihuisjsq,如若轉載,請注明出處:http://www.www58058.com/47528

(0)
lihuisjsqlihuisjsq
上一篇 2016-09-19
下一篇 2016-09-19

相關推薦

  • LAPM(linux+httpd+php+mariadb)環境搭建

    前言     LAMP(linux+apache+mariadb+php)以下都以源碼安裝方式,環境為3臺虛擬機內存各4G、2核cpu,apache通過fastcgi連接php,數據庫用mariadb。       搭建環境:Centos6.4     服務器一 &nb…

    Linux干貨 2015-05-27
  • 磁盤管理(SWAP、dd、quota、RAID、LVM)

    2016-08-26: 授課內容: 1、SWAP交換分區的創建 2、dd命令的使用 3、設定文件系統配額 4、設定和管理軟RAID設備 5、配置邏輯卷、邏輯卷快照 1、swap (1)SWAP分區:模擬內存,當物理內存不足時,進程需要內存資源是,內存會把一部分沒有在用的進程分頁挪到硬盤的模擬內存中,騰出空間被現在需要使用內存資源的進程 即其作用是可以允許內存…

    Linux干貨 2016-09-01
  • 文本處理三劍客之AWK

    AWK的基本格式:    awk [options] 'program' file…          注釋:     program->pat…

    Linux干貨 2016-09-22
  • linux網絡管理(基礎-IP、MAC、TCP)

    linux網絡管理 計算機網絡 MACMAC(Media Access Control或者Medium Access Control)地址,意譯為媒體訪問控制、介質訪問控制,或稱為物理地址、硬件地址,用來定義網絡設備的位置。在OSI模型中,第三層網絡層負責IP地址,第二層數據鏈路層則負責MAC地址。因此一個主機會有一個MAC地址,而每個網絡位置會有一個專屬于…

    Linux干貨 2016-09-09
  • ifconfig命令學習

    ifconfig命令 網絡配置 ifconfig命令被用于配置和顯示Linux內核中網絡接口的網絡參數。用ifconfig命令配置的網卡信息,在網卡重啟后機器重啟后,配置就不存在。要想將上述的配置信息永遠的存的電腦里,那就要修改網卡的配置文件了。 語法 ifconfig(參數) 參數 add<地址>:設置網絡設備IPv6的ip地址; del&lt…

    Linux干貨 2017-07-02
  • Linux下chomd修改文件或目錄權限

    文件或目錄權限分為三個字段 以/tmp為例ll后可看到權限為:     drwxrwxrwt 第一d為文件類型 Linux下的文件類型     -:普通文件     d:目錄文件     b:塊設備  &nbs…

    Linux干貨 2016-02-28

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-19 19:03

    所有的crontab都不對,看我群里的解答,vim的格式注意下,不是太漂亮

欧美性久久久久