溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么在CMD命令行中使用管道命令

發(fā)布時(shí)間:2021-03-20 15:52:52 來源:億速云 閱讀:739 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章為大家展示了怎么在CMD命令行中使用管道命令,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

一、什么是管道命令

  管道命令能夠?qū)⒁粋€(gè)命令的執(zhí)行結(jié)果經(jīng)過篩選,只保留我們需要的信息。
  如 dir 命令會(huì)顯示目錄下所有文件夾和文件,可以使用管道命令| findstr "" 將dir的結(jié)果進(jìn)行篩選,只保留需要的信息

怎么在CMD命令行中使用管道命令

| 命令管道符

格式:第一條命令 | 第二條命令 [| 第三條命令...]
將第一條命令的結(jié)果作為第二條命令的參數(shù)來使用,記得在unix 中這種方式很常見。

例如:

dir c:\|find "txt"

以上命令是:查找C:\所有,并發(fā)現(xiàn)TXT 字符串。

FIND 的功能請(qǐng)用 FIND /? 自行查看

在不使format 的自動(dòng)格式化參數(shù)時(shí),我是這樣來自動(dòng)格式化A 盤的
echo y|format a: /s /q /v:system
用過format 的都知道,再格盤時(shí)要輸入y 來確認(rèn)是否格盤,這個(gè)命令前加上echo y 并用|字符來將echo y
的結(jié)果傳給format 命令
從而達(dá)到自動(dòng)輸入y 的目的
(這條命令有危害性,測(cè)試時(shí)請(qǐng)慎重)

最常用的輸出y給后面的語句

echo y|delete *.txt /s

二、管道命令的使用

1、Windows netstat 查看端口、進(jìn)程占用

// 假如我們需要確定誰占用了我們的9050端口

C:/>netstat -aon|findstr "9050"
TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2016
// 看到了嗎,端口被進(jìn)程號(hào)為2016的進(jìn)程占用,繼續(xù)執(zhí)行下面命令:
C:/>tasklist|findstr "2016"
tor.exe 2016 Console 0 16,064 K
// 很清楚吧,tor.exe 占用了你的端口

2、查看文件夾目錄結(jié)構(gòu)

tree > list.txt

tree /f >list.txt

3、輸入輸出重定向

echo -c // -c:不換行,linux下則是-n

輸入輸出重定向:
    每執(zhí)行一個(gè)命名,都會(huì)有3個(gè)與之相關(guān)的文件.標(biāo)準(zhǔn)輸入文件,標(biāo)準(zhǔn)輸出文件,錯(cuò)誤輸出文件.
    因?yàn)閡nix/linux下把任何一個(gè)設(shè)備都當(dāng)作文件看待,所有實(shí)際上標(biāo)準(zhǔn)輸入文件是鍵盤,
    標(biāo)準(zhǔn)輸出和錯(cuò)誤輸出文件是屏幕.
>      輸出重定向
<      輸入重定向
<<   輸入追加
>>   輸入追加
文件描述符:
    每一個(gè)文件可以用文件描述符來描述,系統(tǒng)提供12個(gè),3-9可以任意定義.0-2系統(tǒng)定義如下:
0  標(biāo)準(zhǔn)輸入  鍵盤
1  標(biāo)準(zhǔn)輸出  顯示器
2  錯(cuò)誤輸出  顯示器
即可以用0-2代表上面的3個(gè)文件.
例如:cmd>file     //cmd的輸出重定向到file文件
     cmd>>file    //cmd的輸出追加到file中,無則創(chuàng)建
     cmd 1>file   //把運(yùn)行cmd的shell的標(biāo)準(zhǔn)輸出重定向到file中,1代表標(biāo)準(zhǔn)輸出
     cmd>file 2>&1  //把cmd的輸出重定向到file,同時(shí)把2(錯(cuò)誤輸出)重定向到1(標(biāo)準(zhǔn)輸出).
                                   2 > 1 則會(huì)把1當(dāng)成文件,所有把錯(cuò)誤定向到1必須使用&1.
     cmd 2>file    //把錯(cuò)誤輸出定向到file中
     cmd>>file 2>&1  //把錯(cuò)誤和cmd輸出追加到file中,cmd>>file,追加;2>&1,錯(cuò)誤定向到
                                       標(biāo)準(zhǔn)輸出,標(biāo)準(zhǔn)輸入又追加到file中,所以錯(cuò)誤和cmd輸出都追加到file
     cmd 1>>file 2>&1  //可以把此命令等效于上一個(gè)命令
     cmdfile2   //cmd的輸入是file1,結(jié)果輸出到file2
     cmd<<END          //cmd使用標(biāo)準(zhǔn)輸入,直到遇到END則退出.END可為任意一個(gè)字符
                                 理解:cmd使用默認(rèn)的標(biāo)準(zhǔn)輸入,運(yùn)行,碰到END,則追加,但是標(biāo)準(zhǔn)輸入輸出
                                 不能追加,于是出錯(cuò)退出.
                            注:經(jīng)試驗(yàn)理解不對(duì),據(jù)linux shell編程25章的說法,
                           這是shell定的語法.可以直接理解成END為分隔符.
     cmd<&m          //把文件描述符m作為cmd的輸入
     cmd>&m          //把文件描述符m作為cmd的輸出
     cmd<&-          //關(guān)閉標(biāo)準(zhǔn)輸入.
!!!注意:
1. 輸入輸出定向符前面不要加空格,否則容易出意想不到的問題
2. 0 1 2不能使用>>或<<定向符,例: 2>>&1 出錯(cuò)

使用管道符來自動(dòng)輸入y/n

在工作中有時(shí)候調(diào)用cmd命令會(huì)出現(xiàn)提示信息,譬如使用pscp的時(shí)候會(huì)出現(xiàn)提示信息如下:
Store key in cache?(y/n)
每次都需要輸入y或者n,如果是java或者python等調(diào)用cmd命令的時(shí)候,則會(huì)出現(xiàn)無法執(zhí)行下去的情況,那么怎么辦呢,可以使用管道符號(hào)來進(jìn)行,譬如還是命令pscp,使用如下方法即可自動(dòng)填入y:

echo y |pscp ......

上述內(nèi)容就是怎么在CMD命令行中使用管道命令,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

cmd
AI