管道:一個(gè)命令的輸出可以通過(guò)管道做為另一個(gè)命令的輸入。
成都創(chuàng)新互聯(lián)主要為客戶提供服務(wù)項(xiàng)目涵蓋了網(wǎng)頁(yè)視覺(jué)設(shè)計(jì)、VI標(biāo)志設(shè)計(jì)、成都營(yíng)銷網(wǎng)站建設(shè)、網(wǎng)站程序開(kāi)發(fā)、HTML5響應(yīng)式重慶網(wǎng)站建設(shè)公司、成都做手機(jī)網(wǎng)站、微商城、網(wǎng)站托管及成都網(wǎng)站維護(hù)、WEB系統(tǒng)開(kāi)發(fā)、域名注冊(cè)、國(guó)內(nèi)外服務(wù)器租用、視頻、平面設(shè)計(jì)、SEO優(yōu)化排名。設(shè)計(jì)、前端、后端三個(gè)建站步驟的完善服務(wù)體系。一人跟蹤測(cè)試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為成都宴會(huì)酒店設(shè)計(jì)行業(yè)客戶提供了網(wǎng)站制作服務(wù)。
管道我們可以理解現(xiàn)實(shí)生活中的管子,管子的一頭塞東西進(jìn)去,另一頭取出來(lái),這里“ | ”的左右分為兩端,左端塞東西(寫),右端取東西(讀)。
命令如下:ls -lah | more
如果接觸到C語(yǔ)言的話,可以用C語(yǔ)言制作一條管道,可以把一個(gè)程序和另外一個(gè)程序連接在一起。
|| 是 Oracle 的 連接字符串的用法。
MySQL 連接字符串, 就是用 concat 函數(shù)的。
而 SQL Server , 就用 + 來(lái) 連接字符串
不同的數(shù)據(jù)庫(kù), 處理機(jī)制都不一樣的。
有例子嗎?
只有 || 在oracle表示字符連接 '123'||'abc' 相當(dāng)于 sqlserver的 '123' + 'abc'
題主你好,
首先,?linux下的管道符使用"豎杠"表示:
|
它的作用是:
連接兩個(gè)命令,將第一個(gè)命令的輸出作為第二個(gè)命令的輸入.
形象一點(diǎn)的比喻:
管道符好比流水線上的傳送帶,比如,一個(gè)流水線是由兩步組成的,先由第一道工序?qū)ⅫS桃洗凈,然后通過(guò)傳送帶將洗凈的黃桃送到第二道工序裝罐,用管道的思維去處理這個(gè)過(guò)程就是:
清洗?黃桃?|?裝罐
需要注意的是,其實(shí)每個(gè)過(guò)程都是由?"動(dòng)作+被作用對(duì)象"組成,也就是說(shuō),上面的例子其實(shí)是:
清洗?黃桃
裝罐?洗凈的黃桃
這兩步組成的,但由于管道符的使用,除了第一道工序需要"被作用對(duì)象"外,后面的工序使用的是管道符傳過(guò)來(lái)的"前一道工序處理過(guò)的對(duì)象".
舉例來(lái)說(shuō),使用ls和grep這兩個(gè)命令實(shí)現(xiàn)只輸出文件的詳細(xì)信息,不輸出目錄的詳細(xì)信息.正常情況下這倆半個(gè)命令的用法是:
ls?選項(xiàng)?路徑
grep?模式?文件流
而使用管道連在一起的寫法:
ls?-l?/root/ok/tmp?|?grep '^-'
*.在使用管道符的組合命令中,?只有第一個(gè)命令需要?"被作用對(duì)象"
希望對(duì)題主有幫助,歡迎追問(wèn)
一、單符號(hào)
~
① 在for中表示使用增強(qiáng)的變量擴(kuò)展。
② 在%var:~n,m%中表示使用擴(kuò)展環(huán)境變量指定位置的字符串。
③ 在set/a中表示一元運(yùn)算符,將操作數(shù)按位取反。
!
① 在set /a中一元運(yùn)算符,表示邏輯非。比如set /a a=!0,這時(shí)a就表示邏輯1。
@
① 隱藏命令行本身的回顯,常用于批處理中。
$
① 在findstr命令里面表示一行的結(jié)束。
② 在prompt命令里面,表示將其后的字符轉(zhuǎn)義(符號(hào)化或者效果化)。
%
① 在set /a中的二元運(yùn)算符,表示算術(shù)取余。
② 命令行環(huán)境下,在for命令in前,后面接一個(gè)字符(可以是字母、數(shù)字或者一些特定字符),表示指定一個(gè)循環(huán)或者遍歷指標(biāo)變量。
③ 批處理中,后接一個(gè)數(shù)字表示引用本批處理當(dāng)前執(zhí)行時(shí)的指定的參數(shù)。
④ 其它情況下,%將會(huì)被脫去(批處理)或保留(命令行)
^
① 取消特定字符的轉(zhuǎn)義作用,比如 | ! "等,但不包括%。比如要在屏幕顯示一些特殊的字符,比如 | ^ 等符號(hào)時(shí),就可以在其前面加一個(gè)^符號(hào)來(lái)顯示這個(gè)^后面的字符了,^^就是顯示一個(gè)^,^|就是顯示一個(gè)|字符了;
② 在set/a中的二元運(yùn)算符,表示按位異或。
③ 在findstr/r的[]中表示不匹配指定的字符集。
① 命令連接字符。比如我要在一行文本上同時(shí)執(zhí)行兩個(gè)命令,就可以用命令連接這兩個(gè)命令。
② 在set/a中是按位與。
*
① 代表任意個(gè)任意字符,就是我們通常所說(shuō)的"通配符";比如想在c盤的根目錄查找c盤根目錄里所有的文本文件(.txt),那么就可以輸入命令"dir c:\*.txt"。
② 在set /a中的二元運(yùn)算符,表示算術(shù)乘法。
③ 在findstr/r中表示將前一個(gè)字符多次匹配。
-
① 范圍表示符,比如日期的查找,for命令里的tokens操作中就可以用到這個(gè)字符。
② 在findstr/r中連接兩個(gè)字符表示匹配范圍。
③ -跟在某些命令的/后表示取反向的開(kāi)關(guān)。
④ 在set /a中:
1.表示一個(gè)負(fù)數(shù)。
2.表示算術(shù)減運(yùn)算。
+
① 主要是在copy命令里面會(huì)用到它,表示將很多個(gè)文件合并為一個(gè)文件,就要用到這個(gè)+字符了。
② 在set/a中的二元運(yùn)算符,表示算術(shù)加法。
:
① 標(biāo)簽定位符,表示其后的字符串為以標(biāo)簽,可以作為goto命令的作用對(duì)象。比如在批處理文件里面定義了一個(gè)":begin"標(biāo)簽,用"goto begin"命令就可以轉(zhuǎn)到":begin"標(biāo)簽后面來(lái)執(zhí)行批處理命令了。
② 在%var:string1=string2%中分隔變量名和被替換字串關(guān)系。
/
① 表示其后的字符(串)是命令的功能開(kāi)關(guān)(選項(xiàng))。比如"dir /s/b/a-d"表示"dir"命令指定的不同的參數(shù)。
② 在set/a中表示除法。
① 命令重定向符,將其前面的命令的輸出結(jié)果重新定向到其后面的設(shè)備中去,后面的設(shè)備中的內(nèi)容被覆蓋。比如可以用"dir lxmxn.txt"將"dir"命令的結(jié)果輸出到"lxmxn.txt"這個(gè)文本文件中去。
② 在findstr/r中表示匹配單詞的右邊界,需要配合轉(zhuǎn)義字符\使用。
① 將其后面的文件的內(nèi)容作為其前面命令的輸入。
② 在findstr/r中表示匹配單詞的左邊界,需要配合轉(zhuǎn)義字符\使用。
=
① 賦值符號(hào),用于變量的賦值。比如"set a=windows"的意思意思是將"windows"這個(gè)字符串賦給變量"a"。
② 在set/a中表示算術(shù)運(yùn)算,比如"set /a x=5-6*5"。
\
① 這個(gè)"\"符號(hào)在有的情況下,代表的是當(dāng)前路徑的根目錄.比如當(dāng)前目錄在c:\windows\system32下,那么你"dir \"的話,就相當(dāng)與"dir c:\"。
② 在findstr/r中表示正則轉(zhuǎn)義字符。
,
① 在set /a中表示連續(xù)表達(dá)式的分割符。
② 在某些命令中分割元素。
.
① 在路徑的\后緊跟或者單獨(dú)出現(xiàn)時(shí):
一個(gè).表示當(dāng)前目錄。
兩個(gè).表示上一級(jí)目錄。
② 在路徑中的文件名中出現(xiàn)時(shí):
最后的一個(gè).表示主文件名與擴(kuò)展文件名的分隔。
?
① 在findstr/r中表示在此位置匹配一個(gè)任意字符。
② 在路徑中表示在此位置通配任意一個(gè)字符。
③ 緊跟在/后表示獲取命令的幫助文檔。
__________________________________________________________________________________________
二、多符號(hào)(符號(hào)不能分隔)
① 連接兩個(gè)命令,當(dāng)前的命令成功時(shí),才執(zhí)行后的命令。
||
① 連接兩個(gè)命令,當(dāng)||前的命令失敗時(shí),才執(zhí)行||后的命令。
① 將一個(gè)句柄的輸出寫入到另一個(gè)句柄的輸入中。
① 從一個(gè)句柄讀取輸入并將其寫入到另一個(gè)句柄輸出中。
%%
① 兩個(gè)連續(xù)的%表示在預(yù)處理中脫為一個(gè)%。
② 批處理中,在for語(yǔ)句的in子句之前,連續(xù)兩個(gè)%緊跟一個(gè)字符(可以是字母、數(shù)字和一些特定字符),表示指定一個(gè)循
環(huán)或者遍歷指標(biāo)變量。
③ 批處理中,在for語(yǔ)句中,使用與in之前指定的指標(biāo)變量相同的串,表示引用這個(gè)指標(biāo)變量。
① 命令重定向符,將其前面的命令的輸出結(jié)果追加到其后面的設(shè)備中去。
② 在set /a中的二元運(yùn)算符,表示邏輯右移。
==
① 在if命令中判斷==兩邊的元素是否相同。
① 在set /a中的二元運(yùn)算符,表示邏輯左移。
+=
① 在set /a中的二元運(yùn)算符。例如set /a a+=b表示將a加上b的結(jié)果賦值給a。
-=
① 在set /a中的二元運(yùn)算符。例如set /a a-=b表示將a減去b的結(jié)果賦值給a。
*=
① 在set /a中的二元運(yùn)算符。例如set /a a*=b表示將a乘以b的結(jié)果賦值給a。
/=
① 在set /a中的二元運(yùn)算符。例如set /a a/=b表示將a除以b的結(jié)果賦值給a。
%=
① 在set /a中的二元運(yùn)算符。例如set /a a%=b表示將a除以b的余數(shù)賦值給a。
【注:命令行可以直接用 set /a a%=b ,在批處理里面可以用 set /a a%%=b 。】
^=
① 在set /a中的二元運(yùn)算符。例如set /a a"^="b表示將a與b按位異的結(jié)果賦值給a。
【注:這里 "^=" 加引號(hào)是為了防止^被轉(zhuǎn)義,下同?!?/p>
=
① 在set /a中的二元運(yùn)算符。例如set /a a"="b表示將a與b按位與的結(jié)果賦值給a。
|=
① 在set /a中的二元運(yùn)算符。例如set /a a"|="b表示將a與b按位或的結(jié)果賦值給a。
=
① 在set /a中的二元運(yùn)算符。例如set /a a"="b表示將a按位左移b位的結(jié)果賦值給a。
=
① 在set /a中的二元運(yùn)算符。例如set /a a"="b表示將a按位右移b位的結(jié)果賦值給a。
\
① 在findstr的一般表達(dá)式中表示字的開(kāi)始處。
\
① 在findstr的一般表達(dá)式中表示字的結(jié)束處。
__________________________________________________________________________________________
三、雙符號(hào)對(duì)(兩個(gè)符號(hào)之間須指定字符串)
! !
① 當(dāng)啟用變量延遲時(shí),使用!!將變量名擴(kuò)起來(lái)表示對(duì)變量值的引用。
' '
① 在for/f中表示將它們包含的內(nèi)容當(dāng)作命令行執(zhí)行并分析其輸出。
② 在for/f "usebackq"中表示將它們包含的字符串當(dāng)作字符串分析。
( )
① 命令包含或者是具有優(yōu)先權(quán)的界定符,比如for命令要用到這個(gè)(),我們還可以在if,echo等命令中見(jiàn)到它的身影。
② 在set /a中表示表達(dá)式分組。
" "
① 界定符,在表示帶有空格的路徑時(shí)常要用""來(lái)將路徑括起來(lái),在一些命令里面也需要" "符號(hào)。
② 在for/f中將表示它們包含的內(nèi)容當(dāng)作字符串分析。
③ 在for/f "usebackq"表示它們包含的內(nèi)容當(dāng)作文件路徑并分析其文件的內(nèi)容。
④ 在其它情況下表示其中的內(nèi)容是一個(gè)完整的字符串,其中的、、、、|、空格等不再轉(zhuǎn)義。
` `
① 在for/f中表示它們所包含的內(nèi)容當(dāng)作命令行執(zhí)行并分析它的輸出。
% %
① 使用兩個(gè)單獨(dú)的%包含一個(gè)字符串表示引用以此串為名的環(huán)境變量。比如一個(gè)%time%可以擴(kuò)展到當(dāng)前的系統(tǒng)時(shí)間。
[ ]
① 在幫助文檔表示其中的開(kāi)關(guān)、選項(xiàng)或參數(shù)是可選的。
② 在findstr /r中表示按其中指定的字符集匹配。