cmd是什么
一直不明白,為什么cmd命令可以通過命令就打開軟件, 或者操控文件的產(chǎn)生或者刪除。
https://segmentfault.com/q/1010000000316935
首先說shell,shell直接翻譯就是殼,按照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是一個命令解釋器,處于內核和用戶之間,負責把用戶的指令傳遞給內核并且把執(zhí)行結果回顯給用戶,同時,shell也可以作為一門強大的編程語言。
很顯然這里的shell是命令行解釋器的意思.也有內核上的一層殼的含義。
然后我們看下CMD
CMD是Command shell的簡寫,翻譯成中文也是命令外殼我擦真的好渣的翻譯。我們看下微軟對CMD的定義: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.
照例渣英文翻譯下:?Command Shell是一個獨立的應用程序,它為用戶提供對操作系統(tǒng)直接通信的功能,它為基于字符的應用程序和工具提供了非圖形界面的運行環(huán)境,它執(zhí)行命令并在屏幕上回顯MS-DOS風格的字符。好啦我知道翻譯很渣你行你上啊
綜上,shell和CMD并沒有本質上的區(qū)別。另外,在linux/unix平臺上,shell多半默認為Bash shell,當然也有其他shell,比如C shell什么的,在Windows平臺上,shell=cmd.exe,如是而已。
都是命令行解釋器,都是一個用戶與操作系統(tǒng)的交互接口。
都是命令解釋器。提供解析命令行輸入、執(zhí)行程序、處理管道,以及完成一定的編程語言的能力,負責批處理文件的解析。(.sh?for UNIX shell,?.cmd?or?.bat?for Windows CMD)Shell和CMD都提供針對文字終端的接口能力,或者也可以不和用戶直接接口。
他倆除了用途相同之外,恐怕剩下的就全是區(qū)別了。
例如,Windows的CMD又另外承擔了圖形界面下終端模擬器的任務,Windows嘛,一切都大雜燴的爛作風。而Linux圖形界面下,終端模擬器會被lxterminal、sakura、terminator等單獨的軟件接管,不混雜,符合Unix風格。
常見的問題是將Windows的CMD認為是“DOS”。DOS和命令行絕對是兩個概念,總把DOS掛嘴邊的人真該改改觀念了。
Windows如今也不光有CMD這一個Shell了。微軟這個技術后進生在Shell上也在做改變。除了CMD是系統(tǒng)關鍵組件不動之外,又新作了一套PowerShell增強批處理等功能,去追趕Unix發(fā)展了幾十年的腳步。
如果 lz 的 shell 指的是 linux 的 bash 的話:
總結
- 上一篇: 1、NetBIOS简介
- 下一篇: 关于耦合