天天看點

溫故而知新:檢視端口占用情況以及DOS中的管道操作/重定向操作

自從進入windows時代以後,估計這玩意兒很多人都快忘光了吧,今天小小複習一下

先來看DOS指令中的重定向/管道操作符号

">" :将指令輸出結果寫入到檔案或裝置(比如列印機),而不是直接輸出在螢幕上

示例:

c:\> dir /w > dir_tree.txt

該指令将把c:\(即c盤根目錄)下的目錄和檔案名以橫向方式列出來,最終結果将生成在 c:\dir_tree.txt中

注:我通常用它來輸出項目的目錄結構

c:\> tree d:\workdir\app /f > app_dir_tree.txt

">>":與">"基本相同,差別在于不會删除檔案的原有内容(即追加文本)

c:\> dir /w >> dir_tree.txt 大家可以把這一行指令多執行幾次,然後跟">"操作符對比

注:用c#代碼同樣可以指定重定向,比如下面的代碼,示範了如何調用ping指令,并得到傳回結果,而且不彈出DOS運作視窗

"|":管道操作,通常用于連接配接二個指令,即把一個指令的輸出,當作第二個指令的輸入

c:\> help | find "VOL"

即把help的輸出,當做find的輸入,最終僅列出"VOL"指令的相關幫助資訊

檢視80端口被哪些程序給占用

netstat指令可以檢視端口使用情況,裡面有很多參數,其中有幾個非常有用的:

-a  列出所有連接配接和監聽的端口

-o  清單每個連接配接對應的程序ID

-n  以數字形式顯示所有位址和端口号

現在就可以用

c:\>netstat -a -o -n 檢視本機所有連接配接和端口,另外這三個參數還可以寫在一起

c:\>netstat -aon

再結合管道操作符号,就解決了

c:\>netstat -aon |find ":80"

這樣就能找出所有輸出結果中包含:80的連接配接資訊,如果是本機的話,要精确查詢還可以把":80"改成類似"192.168.1.200:80"