命令分類
大多數系統,命令都有內外之分。內部命令運行在內存中,其集成在系統裏面,當系統啓動後,就可以使用,不需要下載相關程序包。外部命令則保存在磁盤中,相當於一個個的可執行文件,使用命令其實就是在執行相應的命令文件。
內部命令也叫做核心命令,一部分原因是存儲於系統中,開機就會加載到內存,另一個原因是因爲大多數內部命令對於系統的操作都非常重要,例如:linux中的cd命令,若內部命令丟失,連最基本的操作都做不到。
外部命令,顧名思義,是在系統外部的命令,並不會隨着系統的啓動而加載,而是在使用的時候纔會被執行,通常爲一個個的可執行文件。使用命令就等於間接執行命令程序。外部命令的可擴展性很強,沒有相關命令,只需要下載一個程序包,安裝即可使用。
命令行下的內外部
在windows中,對於切換目錄,查看目錄的命令也屬於內部命令,直接輸入即可執行。
C:\Users\Administrator>F: #切換盤符
F:\>dir #查看目錄
驅動器 F 中的卷是 其他
卷的序列號是 F815-DD0B
F:\ 的目錄
2019/08/05 11:23 <DIR> ACC
2019/08/03 09:08 <DIR> CloudMusic
2019/03/05 11:26 <DIR> Config
2019/12/05 21:31 <DIR> galgame
2018/12/22 09:22 <DIR> kinggsoft
2019/01/21 13:00 <DIR> Minecraft1.12.2_jdzh
2018/12/22 09:22 <DIR> MyDrivers
2019/02/27 16:51 <DIR> play game
2020/03/03 20:25 <DIR> S1+S2
2020/04/04 19:27 <DIR> 圖片
2020/01/31 13:26 <DIR> 學習文檔
2020/03/31 10:30 <DIR> 錄音
0 個文件 0 字節
12 個目錄 56,626,339,840 可用字節
我們通常使用ping命令來檢查網絡連通性,這個ping就是一個外部命令。
C:\Users\Administrator>ping www.baidu.com
正在 Ping www.a.shifen.com [39.156.66.14] 具有 32 字節的數據:
來自 39.156.66.14 的回覆: 字節=32 時間=19ms TTL=53
來自 39.156.66.14 的回覆: 字節=32 時間=19ms TTL=53
來自 39.156.66.14 的回覆: 字節=32 時間=19ms TTL=53
來自 39.156.66.14 的回覆: 字節=32 時間=20ms TTL=53
39.156.66.14 的 Ping 統計信息:
數據包: 已發送 = 4,已接收 = 4,丟失 = 0 (0% 丟失),
往返行程的估計時間(以毫秒爲單位):
最短 = 19ms,最長 = 20ms,平均 = 19ms
一般外部命令都保存在C:\Windows\System32目錄下,ping命令的執行文件就叫做PING.EXE
在windows中,對命令的大小寫限制並不嚴格,執行文件爲大寫,可使用小寫也可執行,換成大寫也是一樣。
C:\Users\Administrator>PING www.baidu.com
正在 Ping www.a.shifen.com [39.156.66.14] 具有 32 字節的數據:
來自 39.156.66.14 的回覆: 字節=32 時間=20ms TTL=53
來自 39.156.66.14 的回覆: 字節=32 時間=20ms TTL=53
來自 39.156.66.14 的回覆: 字節=32 時間=19ms TTL=53
來自 39.156.66.14 的回覆: 字節=32 時間=19ms TTL=53
若是對執行文件進行修改,調用時應用修改後的名字,就比如說把ping改爲ping2,那調用的時候需要輸入ping2。
環境變量
爲什麼外部命令可以直接調用呢?windows在環境變量中已經提前寫好了對應的命令路徑。其實和linux環境變量一樣,相當於是命令搜尋地址,使用命令其實就是在填寫的命令搜尋地址中尋找命令名對應的可執行文件。
win10中直接在搜索欄中輸入環境變量即可打開。
選擇環境變量打開
上面的是用戶變量,下面系統變量就是系統環境變量了。
點擊其中的path
其中填寫的就是命令搜索路徑,將其中項去掉將會造成命令無法找到,若非必要,不建議改動。