電腦概念-shell

來源:互聯網
上載者:User

標籤:

shell 與windows下的cmd區別   http://segmentfault.com/q/1010000000316935

 

首先說shell,shell直接翻譯就是,按照ABS的定義,shellThe 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命令列解譯器的意思.也有核心上的一層殼的含義。

然後我們看下CMD

CMDCommand 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是一個獨立的應用程式,它為使用者提供對作業系統直接通訊的功能,它為基於字元的應用程式和工具提供了非圖形介面的運行環境,它執行命令並在螢幕上回顯MS-DOS風格的字元。好啦我知道翻譯很渣你行你上啊

綜上,shellCMD並沒有本質上的區別。另外,在linux/unix平台上,shell多半預設為Bash shell,當然也有其他shell,比如C shell什麼的,在Windows平台上,shell=cmd.exe,如是而已。

都是命令列解譯器,都是一個使用者與作業系統的互動介面

 

都是命令直譯器。提供解析命令列輸入、執行程式、處理管道,以及完成一定的程式設計語言的能力,負責批次檔的解析。(.sh for UNIX shell, .cmd or .bat for Windows CMD)Shell和CMD都提供針對文字終端的介面能力,或者也可以不和使用者直接介面。

他倆除了用途相同之外,恐怕剩下的就全是區別了。

例如,Windows的CMD又另外承擔了圖形介面下終端模擬器的任務,Windows嘛,一切都大雜燴的爛作風。而Linux圖形介面下,終端模擬器會被lxterminalsakuraterminator等單獨的軟體接管,不混雜,符合Unix風格。

常見的問題是將Windows的CMD認為是“DOS”。DOS和命令列絕對是兩個概念,總把DOS掛嘴邊的人真該改改觀念了。

Windows如今也不光有CMD這一個Shell了。微軟這個技術後進生在Shell上也在做改變。除了CMD是系統關鍵組件不動之外,又新作了一套PowerShell增強批處理等功能,去追趕Unix發展了幾十年的腳步。

 

使用方法:

  1. 路徑分隔字元,cmd 是 "\" ,bash 是 "/"
  2. 逸出字元,cmd 是 ^ 和雙引號,bash 有雙引號,單引號和 "\"
  3. 順序執行兩個命令,cmd 是 cmd1 && cmd1 而 bash 是 cmd1 ; cmd2
  4. and 執行兩個命令,cmd 是 cmd1 & cmd2 而 bash 是 cmd1 && cmd2
  5. 萬用字元實現原理不同,比如 cmd 中使用 dir *.dll 的這個“*.dll”的萬用字元是 dir 自己實現的,但是在 bash 中 ls *.txt 萬用字元是 bash 實現的,也就是說傳入 ls 命令的實際參數相當於 1.txt 2.txt ... 這樣子
  6. PATH 的分隔字元, cmd 是分號,bash 是冒號
  7. 雖然 echo 都是內建命令,但是功能有一些差異
  8. 放在後台執行,bash 是 & ,而 cmd 是 start 命令
  9. bash 的很多功能,比如 alias ,cmd 沒有對應物

 

電腦概念-shell

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.