66大寿有什么讲究| 丙肝吃什么药效果好| 血压为什么晚上高| 我流是什么意思| 存款准备金率下调意味着什么| 张的五行属性是什么| 金银花长什么样子图片| 三个火读什么| 相招是什么意思| 实相是什么意思| 尿等待是什么症状| 我还能做什么| np文是什么意思| 手脚热吃什么药效果好| 中水是什么水| 白虎什么意思| 一什么童话| 说话快的人什么性格| 记忆力衰退吃什么药| 影像是什么意思| 芦笋不能和什么一起吃| 茜读什么| 指甲有白点是什么原因| 报应不爽什么意思| 龙和什么属相相克| 残骸是什么意思| 什么肠小道成语| 勇气是什么意思| 医生属于什么编制| 浊气是什么意思| 朝鲜韩国什么时候分开的| 硬汉是什么意思| 血脂高吃什么能降下来| 朱门是什么意思| 血糖高喝什么稀饭好| 农历八月初三是什么星座| 煦字五行属什么| 今天开什么奖| 30岁用什么眼霜比较好| 包浆是什么意思| 民营企业和私营企业有什么区别| 吝啬的意思是什么| 汗多尿少是什么原因| 买什么样的老花镜好| 吃什么对肝脏好| 火影忍者大结局是什么| 一血是什么意思| 双鱼座跟什么星座最配| 双氧水是什么东西| 奶头痛是什么原因| 什么是佣金| 什么树木| 卵巢囊肿是什么引起的| 心脏房颤吃什么药最好| 银手镯变黑是什么原因| 柠檬水什么时候喝最好| 什么能让虱子卵脱落| 开会是什么意思| 胎盘早剥是什么意思| 祖字五行属什么| 突然胃疼是什么原因| cas号是什么意思| 右乳钙化灶是什么意思| 事宜愿为是什么意思| 水瓶座与什么星座最配| 1月21日什么星座| 瞬息万变是什么意思| 什么叫撤退性出血| 手指肿胀什么原因| 蚊香对人体有什么危害| 货值是什么意思| 建档挂什么科| 走马观花是什么意思| 二氧化碳是什么气体| 早博是什么| 富三代是什么意思| 青色是什么样的颜色| 1951年属什么| 什么是闭合性跌打损伤| 什么东西可以淡化疤痕| 早餐吃什么最有营养又减肥| bzd是什么意思| 大便带血丝是什么原因| 正缘是什么| 西瓜为什么叫西瓜| 香港有什么东西值得买| 贵州有什么| tg是什么| 夏至要吃什么| 七活八不活是什么意思| hpv39阳性是什么意思| 遗精频繁是什么原因| 骨头咔咔响是什么原因| 白细胞偏高是什么意思| 哥子是什么意思| 为什么会猝死| 阳痿是什么| 肠胃炎发烧吃什么药| 一个月一个办念什么| 麻批是什么意思| 补肾吃什么好| 做梦拉屎是什么意思| 飚是什么意思| 什么长| crayons什么意思| 男人吃洋葱有什么好处| 异性缘是什么意思| 什么是被子植物| 心跳过快是什么原因引起的| hr是什么意思医学| 甲状腺手术后可以吃什么水果| 小孩掉头发是什么原因引起的| 土豆有什么营养价值| 48年属什么| 万圣节是什么时候| 贞操锁是什么| 检查妇科清洁度三是什么意思| 安厝是什么意思| 阴帝是什么| 水中加什么擦玻璃干净| 堞是什么意思| 孩子手抖是什么原因| 山楂和什么泡水喝减肥效果最好| 游手好闲是什么意思| 2月20是什么星座| 牙齿松动是什么原因| 不敢造次是什么意思| 伤口结痂为什么会痒| 男人吃生蚝补什么| 人体最大的消化腺是什么| 什么是心脑血管疾病| 黑白颠倒是什么意思| 1947年属什么生肖| 肚子不舒服挂什么科| 女人肾虚吃什么好得快| 正正得什么| 什么时候教师节| 枸杞不能和什么一起吃| 中国肤药膏有什么功效| 下眼睑肿胀是什么原因| 吃玉米有什么好处| 僵尸车是什么意思| 诱发电位是检查什么病的| 胃炎吃什么中药效果好| 1977属什么生肖| 淋巴肉是什么| 关心则乱是什么意思| 什么人不能吃香蕉| 吃什么补充dha| 小海绵的真名叫什么| 爷们儿大结局是什么| 转移酶偏高是什么原因| 甲辰年五行属什么| 蜂鸟是什么鸟| 痰多是什么问题| 田螺吃什么食物| 蜂蜜为什么不会变质| 吃什么补脾| 刀模是什么| 瘰疬是什么意思| 3月28日什么星座| 益生菌有什么功效| 汗颜是什么意思| 感冒头晕是什么原因| 龟头炎是什么症状| 什么叫方差| 知了吃什么食物| 石榴什么季节成熟| 三月十五是什么星座| 屁多不臭是什么原因| dha是什么东西| 没有润滑油用什么代替| 11月15日出生是什么星座| 为什么头晕晕乎乎的| aids是什么意思| 梦见和老公吵架是什么预兆| 梦见买苹果是什么征兆| 肺气阴两虚吃什么中成药| 及笄是什么意思| 血尿是什么颜色的| 健康管理是什么| 内脏吃多了有什么危害| 芒种是什么季节| 桃子吃了有什么好处| 儿童感冒挂什么科| 左侧头疼是什么原因| 心悸心慌吃什么药最好| 一语惊醒梦中人是什么意思| his系统是什么| 女性得了性病有什么症状| 泡泡棉是什么面料| 化疗和放疗什么区别| 蓝色加黄色等于什么颜色| 一直鼻塞是什么原因| 吃什么可以让卵泡长得快| 金牛座和什么星座不合| 血压不稳定是什么原因| 空五行属什么| 梦见捡到钱是什么意思| 三宫六院是什么意思| 梦见陌生人死了是什么意思| 恋是什么意思| 折耳根是什么东西| 第三代身份证什么时候开始办理| 晚上1点是什么时辰| 木耳和什么菜搭配好吃| 下肢浮肿是什么原因| 什么人不适合做收银员| 盛产是什么意思| 今天是什么节气24节气| 袁绍和袁术是什么关系| 女同是什么意思| 男人梦见鱼是什么征兆| 中药为什么要热着喝| 1985年属牛是什么命| 后羿属什么生肖| 不硬的原因是什么| cacao是什么意思| 什么是开光| 脚凉是什么原因造成的| 淋球菌阳性是什么病| 高字是什么结构| 乙肝表面抗原是什么意思| 痛风反复发作什么原因| 劝退是什么意思| 白头发挂什么科| 白发用什么染发最安全| 舌炎是什么症状| 三高人群适合吃什么水果| 开飞机是什么意思| 什么门不能开| 五更是什么生肖| 蚊子为什么吸血| 为什么做梦| 退位让贤是什么意思| 什么是暗物质| 绿色痰液是什么感染| 连续做噩梦是什么原因| 什么是剧烈运动| 水烟是什么| 饮食男女是什么意思| 总胆红素高是什么病| 火烈鸟为什么是红色的| 木鱼花是什么做的| 专著是什么| 婴儿蚊虫叮咬红肿用什么药| 农历六月初三是什么星座| 血小板升高是什么原因| 脸肿是什么原因引起的| 肝脏低密度灶什么意思| 湿浊中阻是什么意思| 姑妈是什么关系| 扮猪吃老虎什么意思| 阴干吃什么补雌激素| 开场白是什么意思| 老打饱嗝是什么原因| 农历10月14日是什么星座| 腠理是什么意思| 莲花代表什么象征意义| 原图是什么意思| 胡桃木色是什么颜色| 顶到子宫是什么感觉| 蛋白质阳性什么意思| 501是什么意思| 百度Jump to content

陕西交通集团商界分公司商洛东管理所“五不放松

From Wikipedia, the free encyclopedia
(Redirected from Command shell)
A graphical interface similar to one from the late 1980s, which features a graphical window for a man page, a shaped window (oclock) as well as several iconified windows. In the lower right we can see a terminal emulator running a Unix shell, in which the user can type commands as if they were sitting at a terminal.
百度 王者底蕴助恒大赢下价值连城之战,登上榜首理应感谢武里南联队文/姜诗华在刚刚结束的一场亚冠小组赛第三轮的比赛中,主场作战的广州恒大在先丢2球的不利局面下,连续打进5球,终场前济州联队打入安慰性一球,最终恒大5比3战胜济州联队,赢下亚冠小组赛首战,也是至关重要的一场胜利。

An operating system shell is a computer program that provides relatively broad and direct access to the system on which it runs. The term shell refers to how it is a relatively thin layer around an operating system.[1][2]

A shell is generally a command-line interface (CLI) program although some graphical user interface (GUI) programs are arguably classified as shells too.

Overview

[edit]

Operating systems provide various services to their users, including file management, process management (running and terminating applications), batch processing, and operating system monitoring and configuration.

Most operating system shells are not direct interfaces to the underlying kernel, even if a shell communicates with the user via peripheral devices attached to the computer directly. Shells are actually special applications that use the kernel API in just the same way as it is used by other application programs. A shell manages the user–system interaction by prompting users for input, interpreting their input, and then handling output from the underlying operating system (much like a read–eval–print loop, REPL).[3] Since the operating system shell is actually an application, it may easily be replaced with another similar application, for most operating systems.

In addition to shells running on local systems, there are different ways to make remote systems available to local users; such approaches are usually referred to as remote access or remote administration. Initially available on multi-user mainframes, which provided text-based UIs for each active user simultaneously by means of a text terminal connected to the mainframe via serial line or modem, remote access has extended to Unix-like systems and Microsoft Windows. On Unix-like systems, Secure Shell protocol (SSH) is usually used for text-based shells, while SSH tunneling can be used for X Window System–based graphical user interfaces (GUIs). On Microsoft Windows, Remote Desktop Protocol can be used to provide GUI remote access, since Windows Vista, PowerShell Remote, since Windows 10 build 1809 SSH[4] can also be used for text-based remote access via WMI, RPC, and WS-Management.[5]

Most operating system shells fall into one of two categories – command-line and graphical. Command-line shells provide a command-line interface (CLI) to the operating system, while graphical shells provide a graphical user interface (GUI). Other possibilities, although not so common, include a voice user interface and various implementations of a text-based user interface (TUI) that are not CLI, such as text-based menu systems. The relative merits of CLI- and GUI-based shells are often debated. Many computer users use both depending on the task to be performed.

History

[edit]

Early interactive systems provided a simple command-line interpreter as part of the resident monitor. This interpreter might be called by different names, such as COMCON on DEC TOPS-10 systems.[6] The interpreter would execute one of a number of predefined commands, one of which would be to run a user program. Common commands would log the user on and off the system, allocate, free, and manipulate devices and files, and query various pieces of information about the system or a user process.[7]

The purpose of such a procedure is to create a medium of exchange into which one could activate any procedure, as if it were called from the inside of another program. Hereafter, for simplification, we shall refer to that procedure as the "SHELL".

Louis Pouzin, The SHELL: A Global Tool for Calling and Chaining Procedures in the System [8]

In 1964, for the Multics operating system, Louis Pouzin conceived the idea of "using commands somehow like a programming language," and coined the term shell to describe it.[9] In a 1965 document, the shell is defined as "a common procedure called automatically by the supervisor whenever a user types in some message at his console, at a time when he has no other process in active execution under console control. This procedure acts as an interface between console messages and subroutine [in the supervisor]."[10] This system was first implemented by Glenda Schroeder and an unnamed man from General Electric.[11]

Multics also introduced the active function, a key concept in all later shells. This is defined as

a string... which is replaced by a character string return value before the command line containing it is executed. Active functions are often used... to implement command-language macros.[12]

In 1971, Ken Thompson developed the Thompson shell in the first version of Unix. While simpler than the Multics shell, it contained some innovative features, which have been carried forward in modern shells, including the use of < and > for input and output redirection.

The graphical shell first appeared in Douglas Engelbart’s NLS system, demonstrated in December, 1968 at the Fall Joint Computer Conference in San Francisco, in what has been called The Mother of All Demos. Engelbart’s colleagues at Stanford Research Institute brought the concept to the Xerox Palo Alto Research Center (PARC), where it appeared on the Alto, introduced in 1973. From there the idea spread to Niklaus Wirth’s Lilith in 1980, and the Apple Lisa in 1983, then became ubiquitous.

Command-line shells

[edit]
Command Prompt, a CLI shell in Windows
Bash, a widely adopted Unix shell

A command-line interface (CLI) is an operating system shell that uses alphanumeric characters typed on a keyboard to provide instructions and data to the operating system, interactively. For example, a teletypewriter can send codes representing keystrokes to a command interpreter program running on the computer; the command interpreter parses the sequence of keystrokes and responds with an error message if it cannot recognize the sequence of characters, or it may carry out some other program action such as loading an application program, listing files, logging in a user and many others. Operating systems such as UNIX have a large variety of shell programs with different commands, syntax and capabilities, with the POSIX shell being a baseline. Some operating systems had only a single style of command interface; commodity operating systems such as MS-DOS came with a standard command interface (COMMAND.COM) but third-party interfaces were also often available, providing additional features or functions such as menuing or remote program execution.

Application programs may also implement a command-line interface. For example, in Unix-like systems, the telnet program has a number of commands for controlling a link to a remote computer system. Since the commands to the program are made of the same keystrokes as the data being sent to a remote computer, some means of distinguishing the two are required. An escape sequence can be defined, using either a special local keystroke that is never passed on but always interpreted by the local system. The program becomes modal, switching between interpreting commands from the keyboard or passing keystrokes on as data to be processed.

A feature of many command-line shells is the ability to save sequences of commands for re-use. A data file can contain sequences of commands which the CLI can be made to follow as if typed in by a user. Special features in the CLI may apply when it is carrying out these stored instructions. Such batch files (script files) can be used repeatedly to automate routine operations such as initializing a set of programs when a system is restarted. Batch mode use of shells usually involves structures, conditionals, variables, and other elements of programming languages; some have the bare essentials needed for such a purpose, others are very sophisticated programming languages in and of themselves. Conversely, some programming languages can be used interactively from an operating system shell or in a purpose-built program.

Several command-line shells, such as Nushell, Xonsh, Bash (Unix shell), and Z shell, offer command-line completion, enabling the interpreter to expand commands based on a few characters input by the user.[13]

A command-line interpreter may offer a history function, so that the user can recall earlier commands issued to the system and repeat them, possibly with some editing. Since all commands to the operating system had to be typed by the user, short command names and compact systems for representing program options were common. Short names were sometimes hard for a user to recall, and early systems lacked the storage resources to provide a detailed on-line user instruction guide.

Graphical shells

[edit]

A graphical user interface (GUI) provides means for manipulating programs graphically, by allowing for operations such as opening, closing, moving and resizing windows, as well as switching focus between windows. Graphical shells may be included with desktop environments or come separately, even as a set of loosely coupled utilities.

Most graphical user interfaces develop the metaphor of an "electronic desktop", where data files are represented as if they were paper documents on a desk, and application programs similarly have graphical representations instead of being invoked by command names.

Unix-like systems

[edit]
Drag and drop operation performed on a group of files between KDesktop and Konqueror in KDE

Graphical shells typically build on top of a windowing system. In the case of X Window System or Wayland, the shell consists of an X window manager or a Wayland compositor, respectively, as well as of one or multiple programs providing the functionality to start installed applications, to manage open windows and virtual desktops, and often to support a widget engine.

In the case of macOS, Quartz Compositor acts as the windowing system, and the shell consists of the Finder,[14] the Dock,[14] SystemUIServer,[14] and Mission Control.[15]

Microsoft Windows

[edit]

Modern versions of the Microsoft Windows operating system use the Windows shell as their shell. Windows Shell provides desktop environment, start menu, and task bar, as well as a graphical user interface for accessing the file management functions of the operating system. Older versions also include Program Manager, which was the shell for the 3.x series of Microsoft Windows, and which in fact shipped with later versions of Windows of both the 95 and NT types at least through Windows XP. The interfaces of Windows versions 1 and 2 were markedly different.

Desktop applications are also considered shells, as long as they use a third-party engine. Likewise, many individuals and developers dissatisfied with the interface of Windows Explorer have developed software that either alters the functioning and appearance of the shell or replaces it entirely. WindowBlinds by StarDock is a good example of the former sort of application. LiteStep and Emerge Desktop are good examples of the latter.

Interoperability programmes and purpose-designed software lets Windows users use equivalents of many of the various Unix-based GUIs discussed below, as well as Macintosh. An equivalent of the OS/2 Presentation Manager for version 3.0 can run some OS/2 programmes under some conditions using the OS/2 environmental subsystem in versions of Windows NT.

Invocation from a program

[edit]

A shell can usually also be invoked from within a program through standard system functions like system(), popen() and exec() without any user interface being involved.

Beyond these standard functions, Windows for example provides the "Windows Shell API" which exposes a set of functions that programs can use to interact with the Windows shell. These shell functions are provided in DLL's (like shell32.dll and shlwapi.dll) and do not need the default Windows shell GUI i.e. explorer.exe to be running. Explorer.exe and its replacements generally make use of the Windows Shell API to provide users with a Windows shell GUI without having to implement themselves the Windows shell core functionalities (which are implemented and provided by shell32.dll and shlwapi.dll). But programs can use the Windows Shell API for other purposes and without providing users with a shell user interface.

Other uses

[edit]

"Shell" is also used loosely to describe application software that is "built around" a particular component, such as web browsers and email clients, in analogy to the shells found in nature. Indeed, the (command-line) shell encapsulates the operating system kernel. These are also sometimes referred to as "wrappers".[2]

In expert systems, a shell is a piece of software that is an "empty" expert system without the knowledge base for any particular application.[16]

See also

[edit]

References

[edit]
  1. ^ "The Internet's fifth man", Brain scan, The Economist, London: Economist Group, December 13, 2013, Mr Pouzin created a program called RUNCOM that helped users automate tedious and repetitive commands. That program, which he described as a "shell" around the computer's whirring innards, gave inspiration—and a name—to an entire class of software tools, called command-line shells, that still lurk below the surface of modern operating systems.
  2. ^ a b Raymond, Eric S. (ed.). "shell". The Jargon File.
  3. ^ "Operating system shells". AIX 6.1 Information Center. IBM Corp. Retrieved September 16, 2012.
  4. ^ teocci. "How to SSH into Windows 10 or 11?". GitHub Gist. Retrieved 2025-08-06.
  5. ^ Wheeler, Sean (14 October 2018). "Running Remote Commands". Microsoft Docs. Microsoft. Retrieved 30 June 2019. You can run commands on one or hundreds of computers with a single PowerShell command. Windows PowerShell supports remote computing by using various technologies, including WMI, RPC, and WS-Management.
  6. ^ Digital Equipment Corporation (Nov 1980). TOPS-10 MONITOR INTERNALS (PDF). pp. CMND-1 – CMND-16. Retrieved Mar 29, 2022.
  7. ^ Digital Equipment Corporation (Aug 1977). DECSystem 10 Operating System Commands Manual (PDF). Retrieved Mar 29, 2022.
  8. ^ Poizin, Louis. "The SHELL: A Global Tool for Calling and Chaining Procedures in the System" (PDF).
  9. ^ Pouzin, Louis. "The Origin of the Shell". multicians.org. Retrieved Mar 29, 2022.
  10. ^ Pouzin, Louis. "The SHELL: A Global Tool for Calling and Chaining Procedures in the System" (PDF). MIT.edu. Retrieved Mar 29, 2022.
  11. ^ Pouzin, Louis. "The Origin of the Shell". multicians.org. Retrieved Feb 12, 2024.
  12. ^ Honeywell, inc. (Feb 1983). Multics Common Commands (PDF). pp. 1-1 – 1-2. Retrieved Mar 29, 2022.
  13. ^ Xonsh Official Website
  14. ^ a b c "The Life Cycle of a Daemon". Apple Inc.
  15. ^ "Restart Mission Control in OS X Lion". OSXDaily. Nov 23, 2011.
  16. ^ British Computer Society: The BCS glossary of ICT and computing terms. Pearson Education. 2005. p. 135. ISBN 978-0-13-147957-9.
阳痿早泄是什么意思 爆肝是什么意思 知柏地黄丸有什么作用 有什么菜好吃 空调抽真空是什么意思
眼睛红是什么病的前兆 捡到狗狗代表什么预兆 津液亏虚吃什么中成药 ooxx是什么意思 近视是什么原因造成的
半月板后角变性什么意思 俄罗斯什么东西值得买 微信拉黑和删除有什么区别 儿童c反应蛋白高说明什么 开车穿什么鞋最好
nt值代表什么 双子座和什么座最配 隋朝之前是什么朝代 终而复始什么意思 不想吃油腻的东西是什么原因
七夕节是什么节日hcv8jop4ns7r.cn 什么是子宫憩室hcv8jop7ns1r.cn 尿黄尿臭是什么原因hcv8jop9ns5r.cn 主动脉夹层是什么原因引起的creativexi.com 狗狗吃胡萝卜有什么好处hcv9jop6ns1r.cn
皮肤自愈能力差缺什么hcv8jop0ns0r.cn 梦见床代表什么预兆liaochangning.com 梦见好多肉是什么意思hcv9jop6ns9r.cn 疤痕憩室是什么意思hcv9jop1ns1r.cn 卵巢筛查要做什么检查hcv9jop1ns7r.cn
心脏肥大吃什么药好hcv7jop5ns2r.cn 青云志3什么时候上映hcv9jop5ns3r.cn 氯低是什么原因baiqunet.com 六味地黄丸吃多了有什么副作用96micro.com os是什么意思hcv7jop6ns7r.cn
硌脚是什么意思hcv9jop0ns4r.cn loa胎位是什么意思hcv7jop6ns4r.cn 村支部书记是什么级别hcv9jop8ns1r.cn 皮肚是什么hcv9jop2ns1r.cn 腺肌症是什么症状hcv8jop2ns6r.cn
百度