第6周
1
復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; cp /etc/rc.d/rc.sysinit ; sed -i 's@^[[:space:]]\+@#@g' rc.sysinit
2
復制/boot/grub/grub.conf至/tmp目錄中,刪除/tmp/grub.conf文件中的行首的空白字符; cp /boot/grub/grub.conf ; sed '/^[[:space:]]\+/d' grub.conf
3
刪除/tmp/rc.sysinit文件中的以#開頭,且后面跟了至少一個空白字符的行行的#和空白字符 sed '/^#[[:space:]]\+/d' rc.sysinit
4
為/tmp/grub.conf文件中前三行的行首加#號; sed -n '1,3s@^@#@gp ' grub.conf
5
將/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改為1; sed -r 's@([enabled|gpgcheck])=0@\1=1@' epel.repo
6
每4小時執行一次對/etc目錄的備份,備份至/backup目錄中,保存的目錄名為形如etc-201504020202 0 */4 * * * /bin/cp -ar /etc /backup/etc-$(date "+%Y%m%d%H%M%S")
7
每周2,4,6備份/var/log/messages文件至/backup/messages_logs/目錄中,保存的文件名形如messages-20150402 0 0 2,4,6 * * /bin/cp -ar /var/log/messages /backup/messages_logs/messages$(date "+%Y%m%d)
8
每天每兩小時取當前系統/proc/meminfo文件中的所有以S開頭的信息至/stats/memory.txt文件中 0 */2 * * * cat /proc/meminfo|grep -i '^s'>>/stats/memory.txt
9
工作日的工作時間內,每兩小時執行一次echo "howdy" 0 */2 1-5 * echo "howdy"
10
創建目錄/tmp/testdir-當前日期時間; #!/bin/bash mkdir /tmp/testdir-$(date "+%Y%m%d%H%M%S")
11
在此目錄創建100個空文件:file1-file100 #!/bin/bash declare -i i=1 while [ $i -le 100 ];do touch file$i let i++ done
12
顯示/etc/passwd文件中位于第偶數行的用戶的用戶名; cat /etc/passwd|sed -n '2~2p'|cut -d: -f1
13
創建10用戶user10-user19;密碼同用戶名; #!/bin/bash for i in {10..19};do useradd user$i;passwd --stdin user$i ;done
14
在/tmp/創建10個空文件file10-file19; #!/bin/bash for i in $(seq 10 19);do touch /tmp/file$i ;done
15
把file10的屬主和屬組改為user10,依次類推。 #!/bin/bash for i in {10..19};do chown file$i:file$i file$i;done
vim編輯器
vim是什么?
vi:Virtual Interface,是一種文本編輯器,所謂文本數據基于文本編碼的文件.常見的文本編碼有ASCLL碼、UNICODE碼等等. 文本編輯器分為兩種: 行編輯器: 一行行的編輯文件,例sed. 全屏編輯器: 全屏編輯文件,例 nano ,vim. vim 即 Vi IMproved.vi的提升版,vim是模式化的編輯.
vim工作模式
vim在工作過程中分為三個模式.分別為命令模式、輸入模式、末行模式; 命令模式: 在編輯模式下所執行的特定命令.也稱為編輯模式. 輸入模式: 用于輸入文本信息. 末行模式: vim內置的命令行接口,執行vim的內置命令.
模式切換 1 Esc鍵和":"用于切換模式 2 命令模式 --> 輸入模式 i: 在光標所在處開始輸入 a: 在光標所在處的后方開始輸入 o: 在光標所在處的下方新建一空行開始輸入 I: 在光標所在行首開始輸入 A: 在光標所在行尾開始輸入 O: 在光標所在上方新建一空行開始輸入 3 輸入模式 --> 命令模式 鍵入Esc 3 命令模式 --> 末行模式 使用":" 4 末行模式 --> 命令模式 鍵入Esc
vim基礎使用
打開文件 vim [options] [file ..] options: +[num]: 打開第一個文件,光標將放置于指定的行的行首. +/{pat}: 打開第一個文件,光標將放置在第一個被模式匹配到的行的行首. 退出文件 打開文件時,默認處于命令模式. 命令模式的退出 ZZ:保存退出 末行模式的退出 :q ///退出 :q! ///不保存退出 :wq ///保存退出 :wq! ///強制保存退出,先后順序不能顛倒 :x ///保存退出 命令模式下 光標移動 字符間移動 h 左 l 右 k 上 j 下 單詞間移動 w 跳至下一個單詞的詞首 e 跳至下一個單詞的詞尾 b 跳至上一個單詞的詞首 注意: 支持數字移動: #{h|l|j|k|w|e|b} \\\一次移動多少字符,跳多少單詞 行間移動 ^ 跳至行首(非空字符行首) $ 跳至行尾 0 跳至行首(絕對行首) 句子間移動 ( 上一句 ) 下一句 段落間移動 { 上一段 } 下一段 編輯命令 字符編輯: x ///刪除當前光標字符 #x ///刪除當前光標開始的#個字符 結合命令: xp ///將前后字符對換位置 刪除,負責,修改命令;c,y與d用法相同 編輯命令可與光標移動命令和數字移動結合使用(以d命令為例): dw de db d^ d$ d0 d[h|j|k|l] dd ///刪除當前行 #COMMAND ///命令操作數量,例如3dd,刪除三行 粘貼命令: p: 粘貼,粘貼內容為上一次操作編輯的內容; 如果內容為字符串,則粘貼至光標后方; 如果內容為行,則粘貼至光標行的下一行; P: 粘貼,粘貼內容為上一次操作編輯的內容; 如果內容為字符串,則粘貼至光標前方; 如果內容為行,則粘貼至光標行的上一行; 替換命令: r: 替換,替換單個字符 rCHAR R: 替換,進入替換模式,在此模式下可替換所有文本; 其他編輯命令: 可視化編輯: v: 按字符選定 V: 按行選定 結合編輯命令使用 撤銷操作命令(undo): u: 撤銷上一步操作 #: 撤銷上#步操作 撤銷此前的撤銷: Ctrl+r 重復執行上一次操作: . 翻屏操作 Ctrl+f : 向下翻一屏 Ctrl+b : 向上翻一屏 Ctrl+d : 向下翻半屏 Ctrl+u : 向上翻半屏 Enter : 向下翻一行 vim自帶的練習教程:vimtutor 末行模式下 地址定界 :start_1[,End_2] .: 光標所在行; #: 指定特定為#行,例如5,則為第5行; #,#: 左邊指定起始行,右邊指定結束行; #,+#: 左邊指定起始行,右邊指定向下偏移行數; %: 代表全文; $: 末行; /part1/,$: 左邊為第一次模式匹配到的行,右邊為末行; /part1/,/part2/: 左邊為左側模式匹配第一次匹配到的行,右邊為右側模式匹配第一次匹配到的行; 可結合編輯命令一起使用, d c y w /some/where/file ///保存至指定文件 r /some/where/file ///將指定文件讀入指定位置 練習: 1 寫出第一次行首為#,至行首不為#的行,復制 :/^#/^[^#]/y 2 第一行至倒數第二行,刪除 :1,$-1d 3 刪除全文 :%d 4 vim編輯/etc/fstab,將/etc/issue文件內容讀入最后一行 :$r /etc/issue 查找 /PATTERN : 從當前光標處,到末尾查詢匹配到的字符串 ?PATTERN : 從當前光標處,到行首查詢匹配到的字符串 n: 下一個匹配到的字符串,與命令查詢方向一致 N: 上一個匹配到的字符串,與命令查詢方向相反 查找并替換: s:末行模式的命令 使用格式: s/要查找的內容/替換為的內容/修飾符 要查找的內容: 可以使用正則表達式 要替換的內容: 不能使用正則表達式,但可以引用; 引用: 后項引用 引用查詢模式匹配到的全部文本,使用&符號; 修飾符: i: 忽略大小寫; g: 全局替換(默認為替換第一個匹配到的字符串); 分割符可以為多種: s@@@ s### 練習: 1、復制/etc/grub2.cfg文件至/tmp目錄中,用查找替換命令刪除/tmp/grub2.cfg文件中以空白字符開頭的行的行首的空白字符; %s@^[[:space:]]\+@@ 2、復制/etc/rc.d/init.d/functions文件至/tmp目錄中,用查找替換命令為/tmp/functions文件的每個以空白字符開頭的行的行首加上#; %s@^[[:space:]]\+[^[:space:]]@#&@g 3、為/tmp/grub2.cfg文件的前三行的行首加上#號; 1,3s@^@#@g 4、將/etc/yum.repos.d/CentOS-Base.repo文件中所有的enabled=0替換為enabled=1,所有gpgcheck=0替換為gpgcheck=1; %s@\(enabled\|gpgcheck\)=0@\1=1@g
vim多文件編輯:
多文件: vim FILE1 FILE2 ... 在文件間切換: :first ///第一個文件 :last ///最后一個文件 :prev ///上一個文件 :next ///下一個文件 退出所有文件: :wqall <--> :wqa ///退出并保存所有文件 :qall <--> :qa ///退出所有文件 :wall <--> :wa ///保存所有文件 多窗口: -o : 水平分割窗口 -O : 垂直分割窗口 切換窗口: Ctrl+w --> ARROW(h,j,k,l,w) 注意:單文件也可分割為多窗口編輯查看; Ctrl+w --> s : 水平分割窗口 Ctrl+w --> v : 垂直分割窗口
vim相應配置文件
末行模式下使用配置命令,只生效于當前vim進程; 全局配置: /etc/vimrc 個人配置: ~/.vimrc (默認不存在,需手動創建) 記錄vim操作歷史: ~/.viminfo
定制vim的工作特性:
1、行號 顯示:set number, 簡寫為set nu 取消顯示:set nomber, set nonu 2、括號匹配高亮 匹配:set showmatch, set sm 取消:set nosm 3、自動縮進 啟用:set ai 禁用:set noai 4、高亮搜索 啟用:set hlsearch 禁用:set nohlsearch 5、語法高亮 啟用:syntax on 禁用:syntax off 6、忽略字符大小寫 啟用:set ic 禁用:set noic 7、設置tab鍵縮進4個字符 set ts=4 (注:ts是tabstop的縮寫,設TAB寬4個空格) 獲取幫助: :help :help subject
原創文章,作者:N25_sadan,如若轉載,請注明出處:http://www.www58058.com/67406
很不錯,再接再勵。