終端命令列的理解

2021-09-27 08:16:23 字數 1770 閱讀 6981

**只是一種邏輯的安排, 是一種對於計算機二進位制操作的安排. 以c++這種程式語言為例: 我們接受它的語法規則, 寫出符合它語法規則的一些語句(只有這樣才能通過c++編譯系統的處理), 然後通過它提供的轉化工具(一套編譯系統: 將我們寫的原始碼轉換成os可載入到記憶體執行的二進位制程式, 這時, 編譯時的處理規則與我們接受的c++語法其實是』相同的』), 在cpu(或gpu)上, 將程式跑出來.

總的流程就是: 符合c++語法的原始碼 => c++編譯系統轉換成系統中可執行的檔案 => 程式的執行.

那麼, 又怎麼理解linux或mac(終端)以及windows系統中的命令列工具呢?! 其實它們對應的都是早期的真實』終端』: 上世紀7/80年代甚至更早的時候, 計算機從單程式執行的機器演變成了一種分時的系統(time-sharing, 就是能駐留很多程式在計算機中, 需要執行某個程式時就切換一下, 就和現在我們使用的計算機一樣), 此種演變, 使得當時很貴的計算機能為多個使用者所使用, 那麼就需要多個能連線乙個主機的多個終端(螢幕+鍵盤)咯. 隨著個人計算機的普及(拜賈伯斯和比爾蓋茨等計算機從業者所賜), 計算機的使用成本下降了(每個人都能買得起), 使得這種終端變得不那麼重要了, 但程式設計需要還在啊, 而且圖形介面是給普通消費者使用的社會生產工具/商業驅動的結果, 那麼就有了現在計算機中軟體模擬的終端了: 使用它們, 我們在os的關懷之下, 讓計算機執行一些』直接的』命令程式(如rm text.txt, 刪除乙個檔案), 而不是通過滑鼠』右鍵-刪除』這樣的操作.

所以,軟體終端是對以前的硬體終端的模擬, 以前硬體終端對於計算機的操作, 現在在軟體終端上都還在實現著: 比如』輸入命令讓計算機執行程式並返回結果』這個模式, 只不過gui作為視覺利器, 一直蒙蔽了一部分的想法.

1.為什麼命令總有引數

終端命令列是什麼? 是系統中的乙個軟體, 負責將使用者的輸入(命令)轉交給os讓它排程執行.

c語言是怎麼來的? ritchie為了開發乙個更好的作業系統(即後來的unix)而發明的一種語言, 所以, unix的基礎還是c語言.

終端命令是什麼? 是c語言程式, 由使用者輸入, 由終端負責向系統請求執行這個命令/程式.

命令的引數去了**? unix系統的底是c語言, 可執行程式的底更是c語言, 引數由系統打包傳遞給了int main()函式.

2.怎麼理解命令列的管道符號(』|』)

首先, 得有如下的理解: 現在的軟體模擬的終端是乙個』輕量級』的指令碼直譯器: 一方面, 它不像python直譯器那樣專門執行某種語言**, 另一方面, 它解釋的程式是一行一行來執行的(但也有跨行的if...fi條件語句), 再一方面, 它每行的命令是有對應的二進位制程式的. 終端這個指令碼直譯器就是乙個使用者與系統核心中間地帶, 系統啟動執行它, 它負責將使用者輸入的文字(即, 命令及引數)傳遞給並引起系統呼叫(執行命令程式), 這一切最終的源頭, 則是系統的第乙個程序init.

有了終端是指令碼直譯器的理解, 則好理解管道符號了(可參考段後例子): 終端首先將管道符號前的一段命令交予系統執行, 將返回的結果轉遞給管道符號後面的命令(作為其輸入), 如果還有更多的管道符號, 也以此類推. 至於這個返回的結果在**, 終端並不顯示出來, 它在記憶體中駐留, 我們看不見, 而引數』打包』轉遞的過程, 本身也是任何直譯器』應該』完成的一種任務.

# 解釋: 結束所有由vim編輯器啟動的程序.

ps -ef |

grep vim |

awk''

|xargs

kill -9

常見終端命令列

1 cd 進入當前目錄 2 ls 檢視當前目錄的內容 3 mkdir 建立乙個目錄 4 pwd 顯示當前目錄的路徑名 5 rm 刪除檔案或目錄 6 sudo s 獲取root許可權 7 vim 進入檔案 8 wq 儲存修改的檔案 9 q 退出 q 強制退出 10 cp 複製檔案或目錄 平時用的比較多...

git 終端命令列

檢視本地 pod倉庫 pod repo 新增本地 pod私有庫 pod repo add myprojectspec 刪除本地 pod庫 pod repo remove maxwellspec 搜尋pod 檔案 pod search afnetworking 本地cocoa 目錄命令列 rm lib...

Terminus for mac 命令列終端

terminus for mac是mac平台上的一款命令列終端開發軟體。terminus mac版為使用者提供了乙個強大 現代化的命令列執行環境,支援自定義字型 配色方案 背景顏色等引數。此軟體測試環境為10.14.4系統!terminus mac免費版軟體介紹 terminus是乙個高度可配置的終...