linux注釋是#吧 不同軟件使用的注釋符號(hào)不一樣 -- 一般是運(yùn)行命令使用的參數(shù)控制符號(hào)吧 比如安裝mysql源碼的時(shí)候會(huì) /install --prefix=/usr/local/ 指定安裝軟件的目錄linux腳本中兩個(gè)短橫--是注釋的意思嗎?如--文件系統(tǒng)
成都創(chuàng)新互聯(lián)主營南川網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都APP應(yīng)用開發(fā),南川h5小程序開發(fā)搭建,南川網(wǎng)站營銷推廣歡迎南川等地區(qū)企業(yè)咨詢
如果一個(gè)名稱用%括起來,那么就是用的它的賦值,而不是本身的字母
比如
echo time echo %time%
以上兩個(gè)前者顯示time這個(gè)字母,后者顯示系統(tǒng)時(shí)間 19:42:12:02
還有%diskdiver%=系統(tǒng)盤等。
可以用set自己設(shè)定,有一些是系統(tǒng)默認(rèn)的比容上面說的time;diskdiver
----------------------------------------------------------------------
FOR這條命令基本上都被用來處理文本,我們這次除了要說他處理文本的作用外還要講他的其他一些好用的功能!
看看他的基本格式(這里我引用的是批處理中的格式,直接在命令行只需要一個(gè)%號(hào))
FOR 參數(shù) %%變量名 IN (相關(guān)文件或命令) DO 執(zhí)行的命令
參數(shù):FOR有4個(gè)參數(shù) /d /l /r /f 他們的作用我在下面用例子解釋
%%變量名 :這個(gè)變量名可以是小寫a-z或者大寫A-Z,他們區(qū)分大小寫哦~
FOR會(huì)把每個(gè)讀取到的值給他!
IN:命令的格式,照寫就是了!
(相關(guān)文件或命令) :FOR要把什么東西讀取然后賦值給變量,不懂的話看下面的例子
do:命令的格式,照寫就是了!
執(zhí)行的命令:對每個(gè)變量的值要執(zhí)行什么操作就寫在這.
看不懂我的這些說明,可以在CMD輸入for /?看系統(tǒng)提供的幫助!我這里也給出來吧,大家對照
FOR %%variable IN (set) DO command [command-parameters]
%%variable 指定一個(gè)單一字母可替換的參數(shù)。
(set) 指定一個(gè)或一組文件??梢允褂猛ㄅ浞?。
command 指定對每個(gè)文件執(zhí)行的命令。
command-parameters
為特定命令指定參數(shù)或命令行開關(guān)。
現(xiàn)在開始講每個(gè)參數(shù)的意思
/d
僅為目錄
如果 Set (也就是我上面寫的 "相關(guān)文件或命令") 包含通配符(* 和 ?),將對與 Set 相匹配的每個(gè)目錄(而不是指定目錄中的文件組)執(zhí)行指定的 Command。
這個(gè)參數(shù)其實(shí)我也沒弄太懂...有錯(cuò)誤希望各位糾正!
系統(tǒng)幫助的格式:FOR /D %%variable IN (set) DO command
他主要用于目錄搜索,不會(huì)搜索文件,看這樣的例子
@echo off
for /d %%i in (*) do @echo %%i
pause
把他保存放在C盤根目錄執(zhí)行,就會(huì)把C盤目錄下的全部目錄名字打印出來,而文件名字一個(gè)也不顯示!
在來一個(gè),比如我們要把當(dāng)前路徑下文件夾的名字只有1-3個(gè)字母的打出來
@echo off
for /d %%i in (???) do @echo %%i
pause
這樣的話如果你當(dāng)前目錄下有目錄名字只有1-3個(gè)字母的,就會(huì)顯示出來,沒有就不顯示了
這里解釋下*號(hào)和?號(hào)的作用,*號(hào)表示任意N個(gè)字符,而?號(hào)只表示任意一個(gè)字符
知道作用了,給大家個(gè)思考題目!
@echo off
for /d %%i in (window?) do @echo %%i
pause
保存到C盤下執(zhí)行,會(huì)顯示什么呢?自己看吧!
/D參數(shù)只能顯示當(dāng)前目錄下的目錄名字,這個(gè)大家要注意!
/R
遞歸
進(jìn)入根目錄樹 [Drive:]Path,在樹的每個(gè)目錄中執(zhí)行 for 語句。如果在 /R 后沒有指定目錄,則認(rèn)為是當(dāng)前目錄。如果 Set 只是一個(gè)句點(diǎn) (.),則只枚舉目錄樹。
系統(tǒng)幫助的格式:FOR /R [[drive:]path] %%variable IN (set) DO command
上面我們知道,/D只能顯示當(dāng)前路徑下的目錄名字,那么現(xiàn)在這個(gè)/R也是和目錄有關(guān),他能干嘛呢?放心他比/D強(qiáng)大多了!
他可以把當(dāng)前或者你指定路徑下的文件名字全部讀取,注意是文件名字,有什么用看例子!
@echo off
for /r c:\ %%i in (*.exe) do @echo %%i
pause
咋們把這個(gè)BAT保存到D盤隨便哪里然后執(zhí)行,我會(huì)就會(huì)看到,他把C盤根目錄,和每個(gè)目錄的子目錄下面全部的EXE文件都列出來了!!!!
再來一個(gè)
@echo off
for /r %%i in (*.exe) do @echo %%i
pause
參數(shù)不一樣了吧!這個(gè)命令前面沒加那個(gè)C:\也就是搜索路徑,這樣他就會(huì)以當(dāng)前目錄為搜索路徑,比如你這個(gè)BAT你把他防災(zāi)d:\test目錄下執(zhí)行,那么他就會(huì)把D:\test目錄和他下面的子目錄的全部EXE文件列出來!!!
這個(gè)參數(shù)大家因該理解了吧!還是滿好玩的命令!
/L
迭代數(shù)值范圍
使用迭代變量設(shè)置起始值 (Start#),然后逐步執(zhí)行一組范圍的值,直到該值超過所設(shè)置的終止值 (End#)。/L 將通過對 Start# 與 End# 進(jìn)行比較來執(zhí)行迭代變量。如果 Start# 小于 End#,就會(huì)執(zhí)行該命令。如果迭代變量超過 End#,則命令解釋程序退出此循環(huán)。還可以使用負(fù)的 Step# 以遞減數(shù)值的方式逐步執(zhí)行此范圍內(nèi)的值。例如,(1,1,5) 生成序列 1 2 3 4 5,而 (5,-1,1) 則生成序列 (5 4 3 2 1)。語法是:
系統(tǒng)幫助的格式:for /L %% Variable in (Start#,Step#,End#) do Command
看著這說明有點(diǎn)暈吧!咋們看例子就不暈了!
@echo off
for /l %%i in (1,1,5) do @echo %%i
pause
保存執(zhí)行看效果,他會(huì)打印從1 2 3 4 5 這樣5個(gè)數(shù)字
(1,1,5)這個(gè)參數(shù)也就是表示從1開始每次加1直到5終止!
大會(huì)暈,就打印個(gè)數(shù)字有P用...好的滿足大家,看這個(gè)例子
@echo off
for /l %%i in (1,1,5) do start cmd
pause
執(zhí)行后是不是嚇了一跳,怎么多了5個(gè)CMD窗口,呵呵!如果把那個(gè) (1,1,5)改成 (1,1,65535)會(huì)有什么結(jié)果,我先告訴大家,會(huì)打開65535個(gè)CMD窗口....這么多你不死機(jī)算你強(qiáng)!
當(dāng)然我們也可以把那個(gè)start cmd改成md %%i 這樣就會(huì)建立指定個(gè)目錄了!!!名字為1-65535
看完這個(gè)被我賦予破壞性質(zhì)的參數(shù)后,我們來看最后一個(gè)參數(shù)
/f
\迭代及文件解析
使用文件解析來處理命令輸出、字符串及文件內(nèi)容。使用迭代變量定義要檢查的內(nèi)容或字符串,并使用各種 ParsingKeywords 選項(xiàng)進(jìn)一步修改解析方式。使用 ParsingKeywords 令牌選項(xiàng)指定哪些令牌應(yīng)該作為迭代變量傳遞。請注意:在沒有使用令牌選項(xiàng)時(shí),/F 將只檢查第一個(gè)令牌。
文件解析過程包括讀取輸出、字符串或文件內(nèi)容,將其分成獨(dú)立的文本行以及再將每行解析成零個(gè)或更多個(gè)令牌。然后通過設(shè)置為令牌的迭代變量值,調(diào)用 for 循環(huán)。默認(rèn)情況下,/F 傳遞每個(gè)文件每一行的第一個(gè)空白分隔符號(hào)。跳過空行。
系統(tǒng)幫助的格式:
for /F "ParsingKeywords" %% Variable in (FileNameSet) do Command
有沒有發(fā)現(xiàn)這個(gè)參數(shù)說明比上面幾個(gè)都多...沒辦法,人們用FOR命令主要也就是用/f參數(shù),FOR的主場啊!大家得好好看!
先來解釋下那個(gè)多出來的"ParsingKeywords"
他表示4個(gè)參數(shù)
eol=c - 指一個(gè)行注釋字符的結(jié)尾(就一個(gè))
skip=n - 指在文件開始時(shí)忽略的行數(shù)。
delims=xxx - 指分隔符集。這個(gè)替換了空格和跳格鍵的
默認(rèn)分隔符集。
tokens=x,y,m-n - 指每行的哪一個(gè)符號(hào)被傳遞到每個(gè)迭代
的 for 本身。這會(huì)導(dǎo)致額外變量名稱的分配。m-n
格式為一個(gè)范圍。通過 nth 符號(hào)指定 mth。如果
符號(hào)字符串中的最后一個(gè)字符星號(hào),
那么額外的變量將在最后一個(gè)符號(hào)解析之后
分配并接受行的保留文本。
usebackq - 指定新語法已在下類情況中使用:
在作為命令執(zhí)行一個(gè)后引號(hào)的字符串并且一個(gè)單
引號(hào)字符為文字字符串命令并允許在 filenameset
中使用雙引號(hào)擴(kuò)起文件名稱。
先別暈了!我這就舉個(gè)例子幫助大家來理解這些參數(shù)!
usebackq這個(gè)參數(shù)不用理解了,系統(tǒng)默認(rèn)會(huì)給我們加上!
為了能使用這個(gè)例子,我們先新建一個(gè)文本文件,在里面打上這些內(nèi)容保存為test.txt:
;郁悶啊!
您好! 歡迎來到, 非常批處理
我們的網(wǎng)站 bbs.verybat.org
完畢!
@echo off
FOR /F "eol=; tokens=1 delims= " %%i in (test.txt) do @echo %%i
pause
我們把這個(gè)BAT保存到和你的test.txt相同的目錄下面然后執(zhí)行
我們會(huì)看到屏幕上會(huì)顯示
您好!
我們的網(wǎng)站
完畢!
為什么會(huì)這樣?我來解釋
這個(gè)命令會(huì)讀取在當(dāng)前目錄下名為test.txt文件中的內(nèi)容,將每一行的內(nèi)容賦值給變量%%i,忽略掉以;號(hào)開頭的行,并且以空格做為分隔符號(hào),打印每行以空格做分隔符號(hào)的第一列
結(jié)果就是這樣了!!
如果改成
當(dāng)然我們想要把全部文件內(nèi)容直接打印出來就可以這樣
@echo off
FOR /F "delims=" %%i in (test.txt) do @echo %%i
pause
另外/F參數(shù)還可以以輸出命令的結(jié)果看這個(gè)例子
@echo off
FOR /F "delims=" %%i in ('net user') do @echo %%i
pause
這樣你本機(jī)全部帳號(hào)名字就出來了把擴(kuò)號(hào)內(nèi)的內(nèi)容用兩個(gè)單引號(hào)引起來就表示那個(gè)當(dāng)命令執(zhí)行,FOR會(huì)返回命令的每行結(jié)果,加那個(gè)"delims=" 是為了讓我空格的行能整行顯示出來,不加就只顯示空格左邊一列!
基本上講完了FOR的基本用法了...如果你看過FOR的系統(tǒng)幫助,你會(huì)發(fā)現(xiàn)他下面還有一些特定義的變量,這些我先不講.大家因該都累了吧!你不累我累啊....
01 系統(tǒng)特殊符號(hào)
02 系統(tǒng)通配符號(hào)
03 系統(tǒng)正則符號(hào)
說明: 查詢信息的時(shí)候,會(huì)帶來便利
1) 基礎(chǔ)符號(hào)系列
? $?
? a 調(diào)取變量信息
? b 區(qū)分用戶類型? $ 普通用戶
? c 結(jié)合awk對文件進(jìn)行取列 ?
xargs -n 2 test01.txt|awk '{print $2}'
!
a 強(qiáng)制的作用? wq!
b 可以實(shí)現(xiàn)取反
awk '!/oldgirl/' test02.txt (排除oldgirl)
find /oldboy_dir/ ! -type f (排除文件)
c !信息? 可以快速調(diào)取執(zhí)行歷史命令(慎用)
cat ~/.bash_history? -- 記錄歷史命令信息, 但是不會(huì)實(shí)時(shí)記錄
history? ? ? ? ? ? ? -- 顯示所有輸入過的歷史命令
|
a 實(shí)現(xiàn)管道功能
將前一個(gè)命令執(zhí)行的結(jié)果交給管道后面的命令進(jìn)行處理
一般管道符號(hào) 會(huì)經(jīng)常和xargs命令配合使用
批量刪除操作
find /oldboy -type f -name "oldboy*.txt"|xargs rm
find /oldboy_dir/ -type f -delete
find /oldboy_dir/ -type f -exec rm -f {} \;
查找指定數(shù)據(jù)信息進(jìn)行復(fù)制
find /oldboy -type f -name "oldboy*.txt" |xargs -i cp {} /oldgirl/
find /oldboy -type f -name "oldboy*.txt" |xargs cp -t /oldgirl/
find /oldboy -type f -name "oldboy*.txt" -exec cp -a {} /oldgirl \;
查找指定數(shù)據(jù)信息進(jìn)行移動(dòng)
find /oldboy -type f -name "oldboy*.txt" |xargs -i mv {} /oldgirl/
find /oldboy -type f -name "oldboy*.txt" |xargs mv -t /oldgirl/
find /oldboy -type f -name "oldboy*.txt" -exec mv {} /oldgirl \;
xargs(火眼金睛)后面跟的命令,不識(shí)別別名信息
#
a 表示對配置文件信息進(jìn)行注釋
b 表示用戶的身份信息 超級(jí)管理員用戶
2) 引號(hào)符號(hào)系列
? "" 基本上和單引號(hào)功能類似 但是可以對一些特殊符號(hào)做出解析? $ `命令`==$(命令)
? '' 里面編寫的什么內(nèi)容就輸出什么內(nèi)容? 所見即所得
作用:
01. 指定需要輸出的信息
02. 利用引號(hào)將空格分隔的信息匯總為一個(gè)整體
``($()) 將引號(hào)里面命令執(zhí)行結(jié)果,交給引號(hào)外面命令進(jìn)行使用 ?
3) 重定向符號(hào)
/1? 標(biāo)準(zhǔn)輸出重定向符號(hào)
/1 標(biāo)準(zhǔn)輸出追加重定向符號(hào)
2 錯(cuò)誤輸出重定向符號(hào)
2 錯(cuò)誤輸出追加重定向符號(hào)
標(biāo)準(zhǔn)輸入重定向符號(hào)
? tr xargs
標(biāo)準(zhǔn)輸入追加重定向符號(hào)
4) 邏輯符號(hào)系列
邏輯: 在完成一件事情的時(shí)候,有合理先后順序
前一個(gè)命令操作執(zhí)行成功了,再操作執(zhí)行后面的命令
||? 前一個(gè)命令操作執(zhí)行失敗了,再操作執(zhí)行后面的命令
mkdir /old_dir echo "create dir sucess" || echo "create dir failed"
? create dir sucess
? mkdi /old_dir echo "create dir sucess" || echo "create dir failed"
? -bash: mkdi: command not found
? create dir failed
什么通配符號(hào): 用于匹配文件名稱信息, 便于快速查找文件信息 find
*? 匹配所有信息
? find /oldboy -type f -name "oldboy*"? ---以oldboy開頭的信息都查詢出來
find /oldboy -type f -name "*oldboy"? ---以oldboy開頭的信息都查詢出來
find /oldboy -type f -name "oldgirl*oldboy"?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ---以oldgirl 開頭的信息
以oldboy? 結(jié)尾的信息都查詢出來
{} 產(chǎn)生序列信息
連續(xù)序列:
echo {01..05}
? ? echo {a..z}
? ? echo {A..Z}
生成不連續(xù)序列
a 有規(guī)律的不連續(xù)序列
echo {01..05..2}
? ? 01 03 05
? ? echo {a..z..2}
? b 沒規(guī)律的不連續(xù)序列
echo {www,bbs,blog}
? ? www bbs blog
生成組合序列
? ? echo {1,2}{a,b}
? ? 1a 1b 2a 2b
? ? echo {1,2}{a,b}{A,B}
? ? 1aA 1aB 1bA 1bB 2aA 2aB 2bA 2bB
echo A{a,b}
? ? Aa Ab ?
A=oldboy.txt
? echo oldboy.txt{a,b} ?
? oldboy.txta oldboy.txtb ?
echo A{,b}
? A Ab
A=oldboy.txt
b=.bak
cp oldboy.txt{,.bak} == cp oldboy.txt oldboy.txt.bak
快速備份文件命令
cp oldboy.txt{,.bak}
快速還原數(shù)據(jù)方法
cp oldboy.txt{.bak,}
echo A{B,}
? AB A
oldboy.txt{.bak,} == cp oldboy.txt.bak oldboy.txt
基礎(chǔ)正則符號(hào):basic regular expression? ? (BRE)
擴(kuò)展正則符號(hào):extended regular expression (ERE)
基礎(chǔ)正則符號(hào):
a 尖角符號(hào):^
? 以什么開頭的信息進(jìn)行過濾出來
grep -v "^#" nginx.conf.default nginx.conf(對不需要關(guān)注的信息取反)
常見錯(cuò)誤
find / -type f -name "^oldboy"? 錯(cuò)誤
find / -type f -name "oldboy*"? 正確
b 美元符號(hào):$
以什么結(jié)尾的信息進(jìn)行過濾出來
以m結(jié)尾信息, 并且顯示上1行 和 下2行的信息
? grep "m$" -A 2 -B 1 test.txt
? 常見錯(cuò)誤:
如果過濾不出來,確認(rèn)每行結(jié)尾是否有空格信息
方法一:
cat -A test.txt
方法二
? vim 底行模式輸入命令 --- :set list
c 尖角美元符號(hào):^$
? 取出文件中空行信息
? grep "^$" test.txt
? grep -v "^$" test.txt
d 點(diǎn)符號(hào): .
表示匹配任意一個(gè)且只有一個(gè)字符
grep "." test.txt? -o(更直觀的顯示過程)
e 星號(hào)符號(hào): *
匹配星號(hào)前面一個(gè)字符連續(xù)出現(xiàn)0次或多次
f 點(diǎn)和星號(hào)組合: .*
? 匹配所有信息
說明: 正則符號(hào)在匹配數(shù)據(jù)信息的時(shí)候具有貪婪特性
避免貪婪特性的方法,是在指定一行信息中唯一節(jié)點(diǎn)信息
g 轉(zhuǎn)譯符號(hào): \
1) 將一些有意義的符號(hào)進(jìn)行轉(zhuǎn)譯, 變?yōu)橐粋€(gè)普通符號(hào)
grep "\.$" ~/oldboy_test.txt
2) 將一些沒有意義的符號(hào)進(jìn)行轉(zhuǎn)譯,變?yōu)橛幸饬x符號(hào)
\n? 換行符號(hào) linux
3) 可以將擴(kuò)展正則符號(hào)轉(zhuǎn)換成普通正則讓grep sed命令可以直接識(shí)別'
grep "o\?" test.txt
h 括號(hào)符號(hào):[]
匹配括號(hào)中每一個(gè)字符,并且匹配的關(guān)系是或者的關(guān)系
需求: 找出文件中oldboy 和 oldbey兩個(gè)單詞信息
? grep "oldb[oe]y" test.txt
? 企業(yè)應(yīng)用: 找尋文件中字母 數(shù)字信息
? grep "[0-9a-zA-Z]" test.txt
i 尖號(hào)和中括號(hào)組合使用 : [^]
對中括號(hào)里面匹配的字符信息進(jìn)行排除
grep? "[^0-9a-zA-Z]" test.txt? --- 將字母數(shù)字都排除,只留下符號(hào)信息
尖號(hào)和中括號(hào)組合使用 : ^[]
以中括號(hào)里面匹配的字符作為一行開頭的字符
? grep "^[zx]" test.txt
正則符號(hào)注意事項(xiàng)
按照每行信息進(jìn)行過濾處理
注意正則表達(dá)符號(hào)禁止中文
附上顏色信息進(jìn)行正則過濾 --color=auto/--color
基礎(chǔ)正則符號(hào)可以被三劍客命令直接識(shí)別 grep sed awk
擴(kuò)展正則符號(hào)不可以被三劍客命令中老二和老三直接識(shí)別
sed命令想識(shí)別正則符號(hào): sed -r
grep命令想識(shí)別正則符號(hào): egrep / grep -E
a 加號(hào)符號(hào):+
匹配加號(hào)前面一個(gè)字符連續(xù)出現(xiàn)1次或者多次
b 豎線符號(hào):|
或者關(guān)系符號(hào)
egrep "oldboy|oldbey" test.txt
c 括號(hào)符號(hào):()
將多個(gè)字符信息進(jìn)行匯總為一個(gè)整體
egrep "(oldboy)" test.txt
進(jìn)行后向引用前向的一個(gè)操作(sed)
echo "123456"|sed -r "s#(..)(..)(..)#\1\2\3#g"
修改配置文件內(nèi)容
sed -rn "s#(^S.*UX=).*#\1enforcing#gp" /etc/selinux/config
SELINUX=enforcing
d 括號(hào)符號(hào):{}
指定花擴(kuò)號(hào)前一個(gè)字符連續(xù)匹配多少次
* 連續(xù)匹配 0 次 或 多次
+ 連續(xù)匹配 1 次 或 多次
1) {n,m}? n表示最少連續(xù)匹配多少次? m表示最多連續(xù)匹配多少次
2) {n}? n表示只連續(xù)匹配n次
3) {n,}? n表示至少連續(xù)匹配n次,至多沒有限制
4) {,m}? m表示至多連續(xù)匹配n次,至少0次
e 問號(hào)符號(hào):?
表示匹配問號(hào)前面一個(gè)字符出現(xiàn)0次或者1次
表示任意幾個(gè)字符串,其他具體的參考如下:
1. 重定向輸出符號(hào)。
2. 重定向輸出符號(hào),但有追加的功能。
3. 2錯(cuò)誤重定向輸出符號(hào),覆蓋原文件內(nèi)容。
4. 2錯(cuò)誤重定向輸出符號(hào),有文件內(nèi)容追加的功能。重定向:I/O。Linux Shell 環(huán)境中支持輸入輸出重定向,用符號(hào)和來表示。0、1和2分別表示標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤信息輸出,可以用來指定需要重定向的標(biāo)準(zhǔn)輸入或輸出,比如 2a.txt 表示將錯(cuò)誤信息輸出到文件a.txt中。
5. * 代表0個(gè)或者多個(gè)特殊字符
6. ?匹配任意一個(gè)字符。
7. | 管道符號(hào)。解釋:command1|command2,將command1的輸出作為command2的輸入,比如ls -al|less,表示將ls -al的輸出作為less的輸入,即將la -al的輸出分頁。管道命令只接受標(biāo)準(zhǔn)輸入(standoutput)。
8. 后臺(tái)進(jìn)程符。
9. l邏輯與符號(hào)。用法:命令1 命令2 表示如果命令1執(zhí)行成功,繼續(xù)執(zhí)行命令2。
10.|| 邏輯或符號(hào)。用法:命令1 | | 命令2 表示如果命令1執(zhí)行成功,不執(zhí)行命令2;但如果命令1執(zhí)行失敗才執(zhí)行命令2。
與||,命令執(zhí)行是順序進(jìn)行的,沒有優(yōu)先級(jí)
11.!邏輯非符號(hào)。排除指定范圍。例:ls a[!0-9]
12.[x-y]表示一定的范圍。
13.# 注釋符;符合替換文字最短的那一個(gè)。
14.” ” 雙引號(hào)表示把它所包含的內(nèi)容作為普通字符,但` ` $ \ ‘ ‘ 幾個(gè)符號(hào)除外。
15.’ ’ 單引號(hào)表示把它所包含的內(nèi)容作為普通的字符,無特殊例外。
16.$ 變量符,提取變量,如echo $HOME,查看變量;正則表達(dá)式中表示行首。
17.\ 轉(zhuǎn)義字符,就是將特殊字符轉(zhuǎn)換成其本來的普通字符的意思。
18.``反單引號(hào),表示它所包含的內(nèi)容。一般作為嵌入的命令使用,此命令將先執(zhí)行。
19.;命令分隔符。
20. 重定向輸入符。
21.()表示整體執(zhí)行命令。
22.^反向選擇符,例:grep -n '^[^a-zA-Z]' wokao.txt,[]內(nèi)的叫反向選擇符,[]外的則表示定位在行首。查找行首不是英文字母的行。
23. . 點(diǎn)該表任意字符串
//和#一樣,都是注釋只不過是單行注釋。
:起始行號(hào),結(jié)束行號(hào)? ? ? ? ?/* ?------*/ 這個(gè)可以注釋幾行,中間可以斷行,兩邊是匹配的。
系統(tǒng):Linux
多行注釋:
進(jìn)入命令行模式--
將光標(biāo)移動(dòng)到要注釋的第一行位置--
按ctrl + v進(jìn)入 visual block模式--
按字母j或k(或者上下移動(dòng)鍵)縱向選中需要注釋的行--
按大寫字母I,進(jìn)入插入模式--
輸入注釋符號(hào),例如##(需要添加幾列就輸入幾個(gè))--
按esc鍵就注釋多行了。
取消多行注釋(刪除注釋):進(jìn)入命令行模式--
將光標(biāo)移動(dòng)到要取消注釋的第一行第一列位置--
按ctrl + v進(jìn)入 visual block模式--
按小寫字母h或l橫向選中列的個(gè)數(shù),按小寫字母j或k縱向選中行的個(gè)數(shù)(同樣可以使用上下左右移動(dòng)鍵)--按d鍵或者delete鍵就可多行取消注釋。
擴(kuò)展資料:
linux在vim下怎么批量替換或者注釋:
:%s/foo/bar/g
把全部foo替換為bar,全局替換
:s/foo/bar/g
當(dāng)前行替換foo為bar
:%s/foo/bar/gc
替換每個(gè)foo為bar,但需要確認(rèn).
:%s/\/bar/gc
單詞匹配替換, 需確認(rèn)
%s/foo/bar/gci
忽略foo大小寫,替換為bar, 需確認(rèn)
網(wǎng)頁名稱:linux命令行注釋符號(hào),linux命令寫注釋
URL鏈接:http://jinyejixie.com/article28/hseccp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、微信小程序、手機(jī)網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)