3.0-vim編輯器和bash條件測試
多文件模式:
vim FILE1 FILE2 FILE3...
:next 下一個
:prev 前一個
:first 第一個
:last 最後一個
:wall 保存所有
:qall 退出所有
窗口分隔模式:
vim -o|-O FILE1 FILE2...
-o:水平分割
-O:垂直分割
在窗口間切換:Ctrl+w然後Arrow(箭頭:鍵盤上的->標誌)
單文件窗口分割:
Ctrl+w,s:split 水平分割
Ctrl+w,v:vertical 垂直分割
定制vim的工作特性:
配置文件:永久有效
全局:/etc/vimrc
個人:~/.vimrc
末行:當前vim進程有效
(1)行號
顯示:set number,簡寫為:set nu
取消顯示:set nonumber,簡寫為:set nonu
(2)括號匹配(編程中左右括號自動匹配用)
匹配:set showmatch,簡寫為:set sm
取消匹配:set noshowmatch,簡寫為:set nosm
(3)自動縮進
啟用:set ai
禁用:set noai
(4)高亮搜索
啟用:set hlsearch
禁用:set nohlsearch
(5)語法高亮
啟用:syntax on
禁用:syntax off
(6)忽略字符大小寫
啟用:set ic
禁用:set noic
獲取幫助
:help
:help subject
問題:如何設置tab縮進為4個字符
練習:
1.復制/etc/rc.d/init.d/functions文件至/tmp目錄中:替換/tmp/functions文件中的/etc/sysconfig/init為/var/log
2.刪除/tmp/functions文件中所有以#開頭,且#後面至少有一個空白字符的行的行首的#號
#hello
# hello (把這個#後有空格的#字符刪除)
bash條件測試:
測試方式:
test EXPRESSION
[ EXPRESSION ]
[[ EXPRESSION ]]
測試表達式的類別:
數值比較
字符串測試
文件測試
文件測試
存在性測試:
-a FILE(同-e,很少用)
-e FILE:文件存在性測試,存在為真,不存在為假
存在性及類別測試:
-b FILE:是否存在且為塊設備文件
-c FILE:是否存在且為字符設備文件
-d FILE:是否存在且為目錄文件
-f FILE: 是否存在且為普通文件
-h FILE或 -L FILE:是否存在且為符號鏈接文件
-p FILE:是否存在且為命名管道文件
-S FILE:是否存在且為套接字文件
文件權限測試:
-r FILE:是否存在且可讀
-w FILE:是否存在且可寫
-x FILE:是否存在且可執行
文件特殊權限測試:
-g FILE:是否存在且擁有sgid權限
-u FILE:是否存在且擁有suid權限
-k FILE:是否存在且擁有sticky權限
文件大小測試:
-s FILE:是否存在且非空
文件是否打開:
-t fd:fd表示文件描述符是否已經打開且與某終端相關
-N FILE:文件自動上一次被讀取之後被修改過
-O FILE:當前有效用戶是否為文件屬主
-G FILE:當前有效用戶是否為文件屬組
雙目測試:
FILE1 -ef FILE2:FILE1與FILE2是否指向同一個設備上的相同inode
FILE1 -nt FILE2:FILE1是否新於FILE2
FILE1 -ot FILE2:FILE1是否舊於FILE2
組合測試條件:
邏輯運算:
第一種方式:
COMMAND1 && COMMAND2
COMMAND1 || COMMAND2
! COMMAND
例如:[ -e FILE ] && [ -r FILE ] 文件存在且可讀
Note:在做文件測試時一定要註意是root還是普通用戶,如果是root權限判斷會有問題
第二種方式:
EXPRESSION1 -a EXPRESSION2
EXPRESSION1 -o EXPRESSION2
EXPRESSION
必須使用測試命令進行
# [ -z $hostName -o $hostName == bogon ] && hostname test
# [ -f /bin/cat -a -x /bin/cat ] && cat /etc/fstab
3.0-vim編輯器和bash條件測試