殼層

Multi tool use
Multi tool use
























「殼層」的各地常用別名
中国大陸
shell
港臺
殼層

Linux系统的大致结构,其中包括Shell

在電腦科學中,殼層英语:shell)指「為使用者提供使用者介面」的軟體,通常指的是命令行界面的解析器。一般來說,這個詞是指作業系統中提供存取内核所提供之服務的程式。Shell也用于泛指所有为用户提供操作界面的程序,也就是程序和用户交互的层面。因此与之相对的是内核(英语:Kernel),内核不提供和用户的交互功能。


不過這個詞也拿來指應用軟體,或是任何在特定元件外圍的軟體,例如瀏覽器或電子郵件軟體是HTML排版引擎的shell。Shell這個詞是來自於作業系統(核心)與使用者介面的外層介面。


通常將shell分為兩類:命令列與圖形介面。命令列殼層提供一個命令行界面(CLI);而圖形殼層提供一個圖形使用者介面(GUI)。




目录






  • 1 歷史


  • 2 殼層列表


    • 2.1 图形用户界面(GUI)殼層


    • 2.2 命令行界面(CLI)殼層


      • 2.2.1 Unix或類似作業系統下的殼層


      • 2.2.2 非Unix作業系統的殼層






  • 3 參考文獻


  • 4 外部連結


  • 5 參見





歷史


殼層(shell)這個說法起源於路易斯·普贊(Louis Pouzin),他在1964年至1965年間首次提出,隨後在Multics(MULTiplexed Information and Computing System)計畫中首次被實作出來。[1]


Unix上的第一個Unix殼層(Unix shell)是肯·湯普遜(Ken Thompson)以Multics上的shell為範本,所寫出的Thompson shell。[2][3]


在微软的Windows操作系统也提供了命令行殼層的功能,它们是Windows 95 / 98下的command.com、Windows NT内核下的cmd.exe以及PowerShell;而图形界面壳层即为explorer.exe。



殼層列表



图形用户界面(GUI)殼層


GUI通常會建構在視窗系統上。例如X Window System中,有獨立的X窗口管理器以及依靠窗口管理器的完整桌面環境。



  • AmigaOS環境:


    • Workbench(從AmigaOS 2.0之後增加了GUI殼)


    • Ambient(MorphOS)

    • Directory Opus

    • ScalOS


    • Wanderer(AROS.)




  • DOS Shell

  • Macintosh Finder



  • Microsoft Windows環境:

    • Aston shell

    • BB4Win

    • Emerge Desktop

    • Geoshell

    • Litestep

    • Program Manager

    • Secure Desktop

    • SharpE

    • Windows Explorer


    • UserShell [4]




  • X Window System環境(主要用於類Unix作業系統):

    • 獨立的X窗口管理器,例如Blackbox與Fluxbox

    • 完整的桌面環境,例如:

      • CDE

      • GNOME


      • Unity(以GNOME作核心)

      • KDE

      • XFCE






命令行界面(CLI)殼層



Unix或類似作業系統下的殼層


常見或歷史上知名的Unix殼層有:




  • Bourne shell(sh) /*'man sh'*/


    • Almquist shell(ash) /*'man ash'*/

      • Debian Almquist shell(dash) /*'man dash'*/



    • Bourne-Again shell(bash) /*'man bash'*/


    • Korn shell(ksh) /*'man ksh'*/


    • Z shell(zsh) /*'man zsh'*/




  • C shell(csh) /*'man csh'*/

    • TENEX C shell(tcsh) /*'man tcsh'*/



  • EMACS shell (eshell)


  • Es shell(es)


  • esh (Unix) – Easy Shell


  • friendly interactive shell(fish) /*'man fish'*/


  • rc shell(rc)– shell for Plan 9 from Bell Labs and Unix


  • scsh(Scheme Shell)


  • Stand-alone Shell(sash)


  • BeanShell(bsh,bsh.Interpreter , bsh.Console) /*'man bsh'[永久失效連結]*/


  • Rhino JavaScript殼層(org.mozilla.javascript.tools.shell.Main) /*'man rhino'*/


以及linux系統上的:'/etc/shells'



非Unix作業系統的殼層




  • 4DOS, 4OS2, 4NT – JP Software公司可在在DOS, OS/2,及Windows NT下使用的殼層。Take Command英语Take Command (command line interpreter)程式則是GUI方式的相容程式。


  • Amiga CLI/Amiga殼層是稱為Workbench的AmigaOS圖形介面的另一選擇。


  • BASIC-PLUS – RSTS/E


  • Beemos(BEEMos)–在Windows XP上執行的一個小型專案,提供設定、應用程式等功能,感覺起來像是在另一個作業系統下。


  • CANDE MCS– MCP作業系統的指令行殼曾與文字編輯器


  • CCP – CP/M作業系統的主控台指令處理器


  • cmd.exe –基於OS/2、Windows CE、Windows NT系列作業系統的命令提示字元殼層


  • COMMAND.COM – DOS的殼層


  • Commodore DOS Wedge – Commodore 64上BASIC 2.0的延伸功能,包括常用磁碟操作的簡略指令


  • DCL – OpenVMS的標準殼層,衍生自早期的迪吉多(DEC)作業系統


  • DDT – 迪吉多(DEC)PDP-10 偵錯工具,麻省理工學院Incompatible Timesharing System的指令殼層


  • DROS – 智能手机上基於Java ME平台的類DOS殼層


  • EFI-SHELL –可擴展韌體介面(Extensible Firmware Interface,EFI)指令殼層,它是開放原始碼的


  • Google Shell –基於瀏覽器的Google Search前端介面


  • iSeries QSHELL – IBM OS/400上的Unix風格殼層


  • Macintosh Programmer's Workshop –古典Mac OS軟體開發用的老式指令行環境


  • Microsoft BASIC –一些古老8位元電腦上的主要作業環境


  • Rexx – IBM的脚本语言(scripting language)


  • Singularity shell – Singularity的標準殼層


  • Windows PowerShell –命令提示字元的新一代物件導向後繼者(舊稱Monad或Microsoft Shell (MSH))


  • Windows修復主控台– Windows 2000、Windows XP、Windows 2003作業系統的一項功能


  • YouShell –用於YouOS,基於JavaScript的指令處理器



參考文獻





  1. ^ Louis Pouzin, The Origin of the Shell


  2. ^ http://v6shell.org/history/


  3. ^ http://www.multicians.org/unix.html


  4. ^ UserShell Software Complex. 




外部連結



  • 命令殼層概觀,Microsoft Technet

  • The Unix Shell: Introduction



參見




  • 電腦殼的比較


  • 殼帳號(Shell Account)


  • 殼腳本(Shell Script)

  • 批次檔

  • Unix shell

  • DOS殼

  • Internet Explorer殼




nqgjdWrLK9Ac3FPCbISo2f,qi7CA0AQRlnqS E3vkae7dg8F7VCs8x0hvsvXdXrvo,L,YSj5n,WJDGsPwjB7Bxzq7fSZ4
Wyd2xDzeFWRTvNRz6dw,88BwtuYdS nXnOH6Deu6R6E4HPwcxek8m PyDmk8 b

Popular posts from this blog

How to pass form data using jquery Ajax to insert data in database?

Guess what letter conforming each word

Run scheduled task as local user group (not BUILTIN)