应用程序标准输入输出、Shell、程序界面的关系
發(fā)展史
計(jì)算機(jī)在發(fā)展初期,電腦上的軟件是沒有窗口的,只有一個(gè)命令行,這個(gè)軟件叫Shell,中文的意思是外殼。Shell是一個(gè)統(tǒng)一的叫法,實(shí)際在不同的系統(tǒng)中,又有很多種Shell軟件,如下表所示:
| Windows | Cmd.exe、PowerShell.exe,它們的區(qū)別見官方文檔:https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/windows-commands | 
| linux | sh、/bin/bash、csh、ash、tcsh、ksh、zsh,可以參考文章:http://c.biancheng.net/view/732.html | 
用戶和系統(tǒng)及應(yīng)用軟件的交互過(guò)程是,通過(guò)將命令以文本的形式輸入到Shell,Shell讀取并解析輸入的命令,最后通過(guò)標(biāo)準(zhǔn)輸出、標(biāo)準(zhǔn)錯(cuò)誤輸出來(lái)輸出結(jié)果。
標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤輸出是一種獨(dú)立的邏輯概念,在實(shí)現(xiàn)上是一些數(shù)據(jù)結(jié)構(gòu)對(duì)象,它們可以和不同的物理輸出位置綁定,如可以輸出到屏幕,也可以輸出到文件或其他設(shè)備。
后來(lái),圖形用戶界面逐漸取代了命令行式的交互方式。但是,程序的輸入輸出系統(tǒng)工作方式不變。
圖解
軟件輸入輸出工作方式:
命令行軟件工作方式:
 此種工作方式下,主要的輸入設(shè)備是鍵盤。
圖形化軟件工作方式:
 此種工作方式下,主要的輸入設(shè)備是鼠標(biāo)和鍵盤。其中鼠標(biāo)操作取代了大部分的命令輸入,但是需要軟件處理的數(shù)據(jù)可能仍然需要鍵盤輸入。
當(dāng)我們習(xí)慣了圖形化界面操作時(shí),再去學(xué)習(xí)命令行輸入,會(huì)感覺是在倒退。但是命令行有其強(qiáng)大之處,一般只有專業(yè)的人員才會(huì)使用命令行工具。
EasyCmd是本人閑暇寫的一個(gè)圖形化命令行工具,可以用于命令行學(xué)習(xí)工具或日常使用。github地址:https://github.com/doasyourself/EasyCmd。歡迎使用和參與到項(xiàng)目中來(lái)。
完
總結(jié)
以上是生活随笔為你收集整理的应用程序标准输入输出、Shell、程序界面的关系的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: 苹果M1成了!一家吃掉90%的市场
- 下一篇: 申请大额信用卡为什么被拒绝
