shell、cmd、dos和腳本語言雜談(轉(zhuǎn))
發(fā)布時(shí)間:2019-05-22
問題一:DOS與windows中cmd區(qū)別
在windows系統(tǒng)中,“開始-運(yùn)行-cmd”可以打開“cmd.exe”,進(jìn)行命令行操作。
操作系統(tǒng)可以分成核心(kernel)和Shell(外殼)兩部分,其中,Shell是操作系統(tǒng)與外部的主要接口,位于操作系統(tǒng)的外層,為用戶提供與操作系統(tǒng)核心溝通的途徑。在windows系統(tǒng)中見到的桌面即explorer.exe(資源管理器)是圖形shell,而cmd就是命令行shell。這算是cmd與dos的最大區(qū)別,一個(gè)只是接口、一個(gè)是操作系統(tǒng)。只是cmd中的某些命令和dos中的命令相似,因此很多人把二者混為一談。cmd屬于windows系統(tǒng)的一部分,dos本身就是一個(gè)系統(tǒng),在dos系統(tǒng)下可以刪除,修復(fù)windows系統(tǒng),而在cmd下則不行。
問題二:Linux下的shell是什么?
Shell俗稱殼(用來區(qū)別于核 kernel),是一種“命令解析器”。按照ABS的定義,shell是The shell is a command interpreter. More than just the insulating layer between the operating system kernel and the user, it's also a fairly powerful programming language。分為圖形界面shell和命令行shell兩大類。
Shell管理你與操作系統(tǒng)之間的交互:等待你輸入,向操作系統(tǒng)解釋你的輸入,并且處理各種各樣的操作系統(tǒng)的輸出結(jié)果。不同系統(tǒng)有不同的shell,如bash、C shell、windows power shell 等等;在linux系統(tǒng)中,通常是Bourne Again shell ( 即bash)。
問題三:windows下能用bash shell嗎?
bash是Linux和Unix下的shell,如果真的想試用,可以在MS windows下安裝Cygwin環(huán)境,然后再在其下使用。 這時(shí)需要注意,Cygwin環(huán)境下跟真實(shí)的Linux或Unix是有區(qū)別的,一些命令會(huì)運(yùn)行不正常。最直接的體驗(yàn),還是使用Linux來得貼心,幾乎可以做任何事情。如果想在MS Windows下使用Shell,建議還是使用微軟的PowerShell,它能提供給你操作MS windows的完全功能。
問題四:腳本語言和普通的編程語言有什么區(qū)別?
編程語言 “編寫-編譯-鏈接-運(yùn)行”,腳本語言是“解釋-執(zhí)行”而非編譯,腳本語言的程序代碼即使最終的可執(zhí)行文件,通過對(duì)應(yīng)的解釋器解釋執(zhí)行即可,所以更方便快捷。每種腳本語言都需要其對(duì)應(yīng)的解釋器。如Perl、Python、Ruby、JavaScript等都是腳本語言,shell也屬于一種比較特殊的腳本語言。
問題五:linux shell即bash和windows cmd區(qū)別?
shell是一個(gè)命令解釋器(也是一種應(yīng)用程序),處于內(nèi)核和用戶之間,負(fù)責(zé)把用戶的指令傳遞給內(nèi)核并且把執(zhí)行結(jié)果回顯給用戶,同時(shí),shell也可以作為一門強(qiáng)大的編程語言。在linux/unix平臺(tái)上,shell多半默認(rèn)為Bash shell。
cmd是Command shell的簡(jiǎn)寫,微軟的定義是:The command shell is a separate software program that provides direct communication between the user and the operating system. The non-graphical command shell user interface provides the environment in which you run character-based applications and utilities. The command shell executes programs and displays their output on the screen by using individual characters similar to the MS-DOS command interpreter Command.com.(CommandShell是一個(gè)獨(dú)立的應(yīng)用程序,它為用戶提供對(duì)操作系統(tǒng)直接通信的功能,它為基于字符的應(yīng)用程序和工具提供了非圖形界面的運(yùn)行環(huán)境,它執(zhí)行命令并在屏幕上回顯MS-DOS風(fēng)格的字符。)所以,可以近似地認(rèn)為linux shell=bash而windows=cmd,都是命令行解釋器,都是用戶與操作系統(tǒng)的交互接口。但是bash要比cmd強(qiáng)大很多,windows也有強(qiáng)大的shell叫windows power shell。