extglob模式開啟之后Shell可以另外識別出5個模式匹配操作符,能使文件匹配更加方便
創(chuàng)新互聯(lián)2013年開創(chuàng)至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站設(shè)計、做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元安陽做網(wǎng)站,已為上家服務(wù),為安陽各地企業(yè)和個人服務(wù),聯(lián)系電話:18980820575
不然不識別!
開啟之后,以下5個模式匹配操作符將被識別:
反選刪除文件:
shopt -s extglob? ? ? (打開extglob模式)
rm -fr !(file1)
多個要排除的:
rm -rf !(file1|file2)
ps?-eaf?|grep?tomcat?|grep?-v?grep?/dev/null?21
分為4段
1、ps -eaf 查看當前進程,-e 顯示所有進程,a顯示終端上的所有進程,包括其他用戶的進程,f 全格式。
2、顯示的結(jié)果通過管道“|”傳給第二段 grep tomcat,查找tomcat進程。
3、同樣查找的結(jié)果傳給第三段 grep -v grep,-v?不顯示匹配的行,因為用grep查詢tomcat的時候也算一個進程,而ps的時候該進程信息中也包含了tomcat,例如:
root??????2317??0.0??0.0???5980???744?pts/4????S+???15:00???0:00?grep?tomcat
所以用grep -v grep把這條過濾掉。
4、第四段 /dev/null 21,將顯示結(jié)果(默認是正確輸出,即1)重定向到/dev/null中去,2代表錯誤輸出,也和1一樣。Linux中0代表輸入stdin,1代表輸出stdout,2代表錯誤輸出stderror。
每運行一個命令,該命令都會有一個返回值給shell,你可以在終端中試試ls,然后echo $?查看返回值,肯定是0,如果ls 一個不存在的文件,再看,肯定不是0。以此判斷上一條命令是否執(zhí)行成功。
if?[?$??-eq?0?];?then
判斷上一條命令的返回值是否等于(-eq) 0,即是否運行成功。
void :聲明函數(shù)無返回值或無參數(shù),聲明無類型指針
應(yīng)該是這個吧,linux是用C寫出來,這個是C語言的一個關(guān)鍵字。。。
linux下vim查找命令:
/text--查找text,按n查找下一個,N查找上一個
?text--查找text(反向查找),按n查找下一個,N查找上一個
*/#--查找光標當前的單詞,相當于/text
:setignorecase--查找忽略大小寫
:setnoignorecase--查找不忽略大小寫
:nohlsearch--關(guān)閉當前的高亮顯示,當再次查找時恢復(fù)高亮
:setincsearch--逐步搜索模式,對當前鍵入的字符進行查找,不必等輸入完成
:setwrapscan--重新搜索,當搜索到文件頭或尾時,返回重新搜索
擴展資料:
1、文件窗口:
:openfile--在當前窗口打開新文件
:splitfile--在新窗口打開文件
:newfile--用新窗口打開文件,同:splitfile
:bn--切換到下一個文件
:bp--切換到上一個文件
:args--查看當前打開的文件列表(當前正在編輯的文件會用[]括起來)
:e
:e\qadriveest.txt--打開遠程文件
:split--打開一個新窗口,光標停在頂層的窗口上
:new--打開一個新窗口,光標停在頂層的窗口上
:vsplit--橫向打開窗口。
Ctrl+ww--移動到下一個窗口
Ctrl+wj--移動到下方的窗口
Ctrl+wk--移動到上方的窗口
2、其他命令:
Esc/Ctrl+[--鍵入命令
:!command--執(zhí)行shell命令
:suspend/Ctrl+Z--掛起vim,回到shell,fg返回vim
:!perl-cscript.pl--檢查perl腳本語法,不用退出vim
:!perlscript.pl--執(zhí)行perl腳本,不用退出vim
:help--顯示幫助文檔
:helpi--顯示i的幫助文檔(:特殊鍵用,-t:啟動參數(shù)用-)
3、編輯命令:
插入:
i--在當前位置插入
A--在當前行尾插入
I--在當前行首插入
o--在當前行后插入一行
O--在當前行前插入一行
拷貝粘貼剪切:
yy--拷貝當前行
2yy--拷貝當前行開始的2行
p--在當前光標后粘貼
P--在當前行前粘貼
:1,10co20--將1-10行插入到第20行之后。
:1,$co$--將整個文件復(fù)制一份并添加到文件尾部
v--進入選擇模式,相當于在Windows下按住Shift選擇
V--進入選擇模式,整行選擇
ddp--交換當前行和其下一行
2dd--剪切當前行之后的2行
:1,10d--將1-10行剪切
:1,10m20--將第1-10行移動到第20行之后
替換:
ra--將當前光標所在字符替換為a
s/old/new/--用old替換new,替換當前行的第一個匹配
s/old/new/g--用old替換new,替換當前行的所有匹配
%s/old/new/--用old替換new,替換所有行的第一個匹配
%s/old/new/g--用old替換new,替換所有匹配
:10,20s/^/text/g--在第10行到第20行每行前面加上text(:3,5s/^/#/g--注釋3-5行,:3,5s/^#//g
--解除3-5行的注釋,:1,$s/^/#/g--注釋整個文檔,:%s/^/#/g--注釋整個文檔)
ddp--交換光標所在行和下一行
移動:
h--左移一個字符(5h--左移5個字符)
l--右移一個字符(5l--右移5個字符)
k--上移一個字符(5k--上移5個字符)
j--下移一個字符(5j--下移5個字符)
w--向后移動一個單詞(5w--向后移動5個單詞)
b--向前移動一個單詞(5b--向前移動5個單詞)
e--同w,光標停在單詞尾部
ge--同e,光標停在單詞尾部
^--移動到本行第一個非空白字符
0--移動到本行第0個字符
--同0
$--移動到行尾(3$--移動到下面3行的行尾)
gg--移動到文件頭(10gg--移動到第10行首)
[[--同gg
G--移動到文件尾(10G--移動到第10行尾)
]]--同G
fx--移動到本行光標后第一個為x的字符(3fx--移動到本行光標后第3個為x的字符)
Fx--同fx,反向查找
:20--跳到20行行首
Ctrl+e--向下滾動一行
Ctrl+y--向上滾動一行
Ctrl+d--向下滾動半屏
Ctrl+u--向上滾動半屏
Ctrl+f--向下滾動一屏
Ctrl+b--向上滾動一屏
撤銷:
u--撤銷
U--撤銷對整行的操作
Ctrl+r--撤銷剛才的撤銷
刪除:
x--刪除當前字符(3x--刪除當前光標開始向后三個字符)
X--刪除當前字符的前一個字符,同dh
dl--刪除當前字符,同x
dh--刪除前一個字符
dd--刪除當前行
dj--刪除上一行
dk--刪除下一行
10d--刪除當前行開始的10行。
D--刪除當前字符至行尾,同d$
kdgg--刪除當前行之前所有行(不包括當前行)
:1,10d--刪除1-10行
:11,$d--刪除11行及以后所有的行
:1,$d--刪除所有行
J--刪除兩行之間的空行,合并兩行
退出
:wq--保存并退出
ZZ--保存并退出
:q!--強制退出并忽略所有更改
:e!--放棄所有修改,并打開原來文件
:close--關(guān)閉窗口,最后一個窗口不能使用此命令,可以防止意外退出vim
:q--如果是最后一個被關(guān)閉的窗口,那么將退出vim