三上悠亚在线免费观看,91精品成人,国产精品久久久久永久免费观看,国产精品麻豆一区二区三区

知名百科 >> shell計算機(jī)殼層 >> 歷史版本
編輯時間歷史版本內(nèi)容長度圖片數(shù)目錄數(shù)修改原因
2024-04-30 10:56 最新歷史版本 9888 1 6
  返回詞條

shell計算機(jī)殼層

Shell是操作系統(tǒng)的外殼,負(fù)責(zé)接收用戶輸入的命令并傳遞給操作系統(tǒng)內(nèi)核執(zhí)行。它是交互式的和跨平臺的,并具有腳本、管道和重定向、命令解析等功能。它允許用戶與計算機(jī)系統(tǒng)交互并執(zhí)行各種操作,如啟動程序、管理文件和目錄等。

在shell語言的發(fā)展歷史上,最早的Thompson Shell是由Ken Ken Thompson創(chuàng)立的,后來的Bourne Shell和C Shell引入了現(xiàn)代Shell的更多特性和功能,成為Unix系統(tǒng)的標(biāo)準(zhǔn)Shell。常見的shell包括Bash、Zsh和Fish,它們廣泛應(yīng)用于不同的操作系統(tǒng)。

目前,計算機(jī)用戶界面主要分為兩種類型:命令行界面(CLI)和圖形用戶界面(GUI)。CLI是通過命令行輸入文本命令與計算機(jī)進(jìn)行交互的界面,通常用于服務(wù)器管理、系統(tǒng)維護(hù)、腳本編寫和批處理操作。GUI通過圖形元素和鼠標(biāo)操作進(jìn)行交互,并通過插件或擴(kuò)展進(jìn)行定制以滿足用戶的特定需求。隨著其不斷演進(jìn),shell語言在計算領(lǐng)域的影響力逐漸擴(kuò)大,為用戶提供了與操作系統(tǒng)高效交互的能力。

目錄

發(fā)展歷史

shell語言的起源

1971年,Ken Thompson為UNIX創(chuàng)建了第一個shell-V6 shell。這個shell位于/bin/sh中,是一個獨立的用戶程序,它的執(zhí)行不依賴于內(nèi)核。與Multics的前身類似,它實現(xiàn)了通配符等概念(例如:*。txt),但這些功能并沒有內(nèi)置到shell中,而是在一個名為“glob”的獨立實用程序中實現(xiàn)。同樣,用于計算條件表達(dá)式的命令也是分開的。這種分離策略保持了shell的緊湊性,其源代碼少于900行。

shell語言的演變

1977年,斯蒂芬·伯恩出版了《伯恩的殼》,以解決湯普森殼的劇本限制。該版本增加了額外的功能,例如調(diào)度腳本和循環(huán)的能力。Bourne shell不僅是一個重要的進(jìn)步,而且現(xiàn)在主流Linux系統(tǒng)使用的許多shell都將其作為錨點。

1978年,C shell發(fā)布并迅速成為Unix系統(tǒng)上流行的命令解釋器。它是由Bill Joy開發(fā)的Unix shell的變體。C shell的主要設(shè)計目標(biāo)是它看起來更像C編程語言,并且更適合交互式使用。

1983年7月14日,大衛(wèi)·科恩(大衛(wèi)·科恩)在USENIX的年度技術(shù)會議上發(fā)布了科恩殼牌。它的開發(fā)目標(biāo)是繼承C shell和Tab C-shell的所有功能,包括腳本和循環(huán)處理,這些功能與Bourne shell相同。Ksh93是Korn shell的一個流行的開源版本,于1993年獲得了開源的地位。在其與Bourne shell的良好兼容性中,還引入了其他shell語言的特性,例如csh的歷史功能。

1989年,Bash是Brian Fox為GNU項目編寫的Unix shell和命令語言,旨在成為Bourne shell的免費軟件替代品。Bash的語法和功能受Bourne shell的影響,但增加了許多新功能和改進(jìn)。作為Bourne shell的繼承者,Bash繼承了前代shell的許多功能,并引入了更多功能。即使在今天,Bash仍然是Unix和Linux社區(qū)中最常用的shell之一。

1989年5月30日,Almquist shell上市(通常簡稱為“ash”)。它是由Kenneth Almquist(Kenneth Almkvist)開發(fā)的輕量級Unix shell。它被設(shè)計為傳統(tǒng)Bourne shell(sh)的更緊湊、更高效的替代品。Ash shell通常用于嵌入式系統(tǒng)和其他資源有限且效率至關(guān)重要的環(huán)境。在FreeBSD、NetBSD、DragonFly BSD和Minix上,默認(rèn)安裝的shell(/bin/sh)派生自ash。在Linux上,開發(fā)了Debian Almquist shell。

1990年,Z shell(zsh)是一個功能豐富的Unix shell,由Paul Falstad(Paul Follestad)開發(fā)。它在Bourne shell、Bash和Korn shell的基礎(chǔ)上增加了許多新功能和改進(jìn),旨在提供一個更強(qiáng)大、更靈活的命令解釋器環(huán)境。從macOS Catalina開始,Mac將使用zsh作為整個操作系統(tǒng)的默認(rèn)登錄shell和交互shell。

2005年,發(fā)布了新的命令行界面工具fish shell(也稱為友好交互式shell)。它由Axel Liljencrantz等開發(fā)人員共同創(chuàng)建。其特點是具有自動補(bǔ)全、顏色突出顯示和動態(tài)建議等便捷功能,并具有出色的可讀性和豐富的插件生態(tài)。此外,fish shell還有一個活躍的開發(fā)者社區(qū),不斷推出新功能和優(yōu)化改進(jìn)。隨著UNIX的流行,對更強(qiáng)大和通用的腳本語言的需求也在增加。Scheme shell(scsh)通過使用Scheme(LISP語言的衍生物)提供了一個腳本環(huán)境。Pyshell試圖使用Python實現(xiàn)類似的功能。在嵌入式系統(tǒng)上,BusyBox將shell和所有命令集成到一個二進(jìn)制可執(zhí)行文件中,從而簡化了分發(fā)和管理。許多早期的shell想法和接口已經(jīng)保存了近35年,這是作者們不懈努力的證明。雖然外殼不斷刷新自己,但本質(zhì)上并沒有太大變化。盡管有創(chuàng)造特殊外殼的新嘗試,但Bourne shell及其衍生產(chǎn)品仍是使用最廣泛的。

形式分類

Shell是用戶與操作系統(tǒng)內(nèi)核進(jìn)行交互的界面,可以用命令行或圖形界面兩種形式表示。

圖形用戶界面外殼:GUI shell允許用戶通過圖形操作界面輕松選擇、拖動和執(zhí)行其他直觀操作來執(zhí)行任務(wù)和配置系統(tǒng)設(shè)置,這對新手用戶來說更加友好和容易。相反,命令行shell需要用戶輸入特定的命令來執(zhí)行操作,這需要用戶具有一定的專業(yè)知識和技能。GUI shell通常作為桌面環(huán)境的一部分來實現(xiàn),如GNOME、KDE等離子體、XFCE等。這些桌面環(huán)境提供了一系列組件,如窗口管理器、面板、系統(tǒng)托盤等。,它們構(gòu)成了用戶可以看到的圖形界面。GUI shell中的資源管理器和設(shè)置界面等特定工具也是這些桌面環(huán)境的一部分。它們通常用各種編程語言和圖形庫(如GTK+、Qt等)編寫。),它為創(chuàng)建圖形界面提供了必要的功能和工具。

命令行外殼:CLI shell通常指用戶通過命令行界面輸入文本命令與操作系統(tǒng)進(jìn)行交互的方式。用戶可以直接鍵入命令來執(zhí)行操作。常見命令行shell包括Bash、Zsh、Powershell等。在Linux或MacOS中,它通常被稱為“終端”,而在Windows操作系統(tǒng)中,它被稱為“命令提示符”或“Windows Powershell”。CLI shell為用戶提供了一個接口,用戶可以通過輸入人類可讀的命令與操作系統(tǒng)進(jìn)行交互,例如“cat、ls、echo”。這些命令將被傳遞給shell執(zhí)行,執(zhí)行結(jié)果將顯示在命令行界面上。CLI shell提供了管理文件、運行程序和執(zhí)行系統(tǒng)操作的有效方法。

基本語法

外殼變量:Shell變量是shell程序中用來存儲文本字符串或數(shù)字的變量。Shell變量通常用于存儲臨時值或用戶輸入,并且可以在shell程序執(zhí)行期間進(jìn)行修改和訪問。在shell中,變量名都是字符串,可以包含字母、數(shù)字和下劃線,并且必須以字母或下劃線開頭。常用的外殼變量包括環(huán)境變量、參數(shù)變量、位置變量和特殊變量。

殼程參數(shù):當(dāng)shell腳本執(zhí)行時,您可以傳入命令行參數(shù),以便腳本可以根據(jù)這些參數(shù)執(zhí)行特定的操作。這些傳入的參數(shù)被腳本中的位置參數(shù)變量引用。位置參數(shù)變量$1、$2和$3分別對應(yīng)于第一個、第二個和第三個傳入?yún)?shù),依此類推。此外,$ @用于獲取所有傳入?yún)?shù),而$ #用于獲取傳入?yún)?shù)的數(shù)量。

外殼陣列:在shell腳本中,用戶可以使用數(shù)組來存儲一系列數(shù)值或字符串。在大多數(shù)Unix shell中,您可以使用Bash來操作數(shù)組。

殼牌過程控制:在Shell腳本中,流控制用于根據(jù)條件執(zhí)行不同的代碼塊或控制循環(huán)的執(zhí)行。

外殼文件包含:外殼文件包含意味著外殼腳本中的代碼可以通過引用其他文件來執(zhí)行。這對于從邏輯上將代碼分解成多個文件以更好地管理和組織代碼非常有用。在shell中,有幾種方法可以包含其他文件,最常用的方法是使用source命令或。符號。

主要特性

交互性:交互式外殼:用戶可以直接與外殼實時交互。用戶可以輸入命令,shell將立即執(zhí)行這些命令并返回結(jié)果。該模式通常用于用戶在命令行界面下直接與系統(tǒng)交互、輸入命令、查看輸出和管理文件。非交互式shell:由shell執(zhí)行的命令:shell來自腳本文件或由重定向標(biāo)準(zhǔn)輸入提供。在這種模式下,shell不會等待用戶輸入,而是直接執(zhí)行腳本中的命令并將結(jié)果輸出到指定的位置。該模式通常用于自動任務(wù)、批處理等場景。

shell計算機(jī)殼層shell計算機(jī)殼層

腳本:Shell腳本是包含shell命令的文本文件,具有靈活性和可移植性。可以通過設(shè)置文件第一行的“shebang”來設(shè)置(如#!/bin/bash)來指定腳本的解釋器,以便腳本可以找到正確的解釋器在不同的系統(tǒng)上執(zhí)行。同時,腳本可以接受和處理位置參數(shù),并且可以通過設(shè)置執(zhí)行權(quán)限直接運行,這使得shell腳本在自動化任務(wù)和系統(tǒng)管理中非常有用。

重定向:Shell重定向和管道允許用戶靈活控制命令的輸入和輸出,實現(xiàn)數(shù)據(jù)的重定向和傳輸。通過重定向,用戶可以將命令的輸出保存到文件中,或者將文件中的內(nèi)容作為命令的輸入,甚至可以同時重定向標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤。但是,管道可以直接將一個命令的輸出轉(zhuǎn)移到另一個命令作為輸入,從而實現(xiàn)命令之間的數(shù)據(jù)流通信和處理,從而提高數(shù)據(jù)處理的效率和靈活性。

命令解析:命令擴(kuò)展:shell將從左到右解析、擴(kuò)展和重定向命令。變量賦值和重定向?qū)⑹紫缺4妫促x值或重定向的單詞將被擴(kuò)展,其中第一個擴(kuò)展的單詞被視為命令名,其余的作為參數(shù)。如果命令只包含賦值和重定向,則賦值會影響當(dāng)前shell環(huán)境;如果命令名存在,則執(zhí)行該命令。如果試圖對只讀變量賦值,或者重定向中有錯誤,命令將以非零狀態(tài)退出。命令搜索和執(zhí)行:shell將按照一定的順序查找和執(zhí)行命令。如果命令名不包含斜杠,shell將首先檢查是否有同名的shell函數(shù)或內(nèi)置命令,如果沒有,它將在$PATH環(huán)境變量指定的目錄中搜索可執(zhí)行文件。如果命令名包含斜杠或搜索成功,shell將在單獨的執(zhí)行環(huán)境中執(zhí)行該命令。如果執(zhí)行失敗并且文件不在可執(zhí)行格式或目錄中,則將其視為shell腳本并執(zhí)行。最后,shell將等待命令完成并收集其退出狀態(tài)。命令執(zhí)行環(huán)境:每個簡單的命令或shell函數(shù)都在一個單獨的執(zhí)行環(huán)境中運行,該環(huán)境繼承自shell,但又與之隔離。該環(huán)境包括打開的文件、當(dāng)前工作目錄、文件創(chuàng)建模式掩碼、導(dǎo)出的shell變量和函數(shù)等。子shell或子shell是shell進(jìn)程的副本,其中運行的命令不會影響主shell環(huán)境。此外,在此隔離環(huán)境中,某些shell選項和陷阱設(shè)置可能會被重置或忽略。這些特點保證了命令執(zhí)行的獨立性和穩(wěn)定性。

跨平臺:以主流的bash腳本為例,官方提供了posix模式:通過使用- posix或set -o posix命令行選項,Bash可以進(jìn)入posix模式,使其更符合POSIX標(biāo)準(zhǔn),并調(diào)整一些默認(rèn)行為以匹配POSIX指定的值。在POSIX模式下,Bash將執(zhí)行一些特定的更改,包括設(shè)置變量POSIXLY_CORRECT,并再次搜索命令哈希表。Bash-4.0引入了shell兼容級別的概念,允許用戶通過設(shè)置一組shopt選項來選擇Bash的行為,從而在不同版本之間遷移腳本。在使用shell編寫和執(zhí)行腳本時,了解并熟悉這些不同模式和兼容級別的設(shè)置以確保腳本的正確性和跨平臺性是非常重要的。根據(jù)特定要求選擇適當(dāng)?shù)哪J胶图嫒菁墑e,以確保腳本可以正常運行并在不同的環(huán)境中表現(xiàn)出相同的行為。

安全性能

數(shù)據(jù)加密和解密:OpenSSL是一個開源的密碼學(xué)工具包,它提供了一系列加密和解密算法以及SSL/TLS協(xié)議的實現(xiàn)。它用于保護(hù)網(wǎng)絡(luò)通信的安全,包括加密、解密、證書頒發(fā)、數(shù)字簽名等功能。通過使用這些方法,用戶可以保護(hù)敏感數(shù)據(jù)的安全,并確保只有授權(quán)用戶才能訪問這些數(shù)據(jù)。日志記錄:在Unix系統(tǒng)上,rSyslogd和syslog-ng等軟件通常用作syslog服務(wù)器。通過Syslog,可以集中記錄和管理整個系統(tǒng)的日志信息,并幫助管理員監(jiān)控系統(tǒng)的運行狀態(tài),解決問題并滿足合規(guī)性要求。安全審計:通過安全審計shell腳本,可以詳細(xì)記錄用戶在shell中的操作行為,包括執(zhí)行的命令、時間戳、執(zhí)行環(huán)境等信息,有助于跟蹤用戶的活動并在必要時進(jìn)行調(diào)查和審計。同時,它還可以幫助識別潛在的入侵和未經(jīng)授權(quán)的系統(tǒng)訪問,并及時發(fā)現(xiàn)和處理安全威脅。

主要應(yīng)用

服務(wù)器管理:作為系統(tǒng)管理員管理和配置服務(wù)器的重要工具,shell語言因其易用性和與Unix、Linux等系統(tǒng)的兼容性而備受青睞。通過編寫shell腳本,管理員可以自動執(zhí)行各種任務(wù),簡化日常操作并提高效率和準(zhǔn)確性。無論是簡單的文件操作還是復(fù)雜的系統(tǒng)管理,shell語言都為業(yè)務(wù)環(huán)境中的服務(wù)器管理提供了強(qiáng)有力的支持。

操作系統(tǒng)操作和維護(hù):Shell腳本廣泛應(yīng)用于操作系統(tǒng)的運行和維護(hù)。中文操作系統(tǒng)通常是基于Linux內(nèi)核的發(fā)行版,如麒麟、neokylin和紅旗Linux。使用shell腳本編寫一個監(jiān)控腳本可以實時監(jiān)控系統(tǒng)的運行狀態(tài),包括CPU利用率、內(nèi)存占用、磁盤空間等。一旦發(fā)現(xiàn)異常情況,可以發(fā)送電子郵件或短信進(jìn)行報警。國產(chǎn)操作系統(tǒng)通常使用RPM或DEB包管理工具,安裝、卸載和更新軟件包的腳本可以通過shell腳本編寫,這簡化了軟件管理的過程。

任務(wù)自動化:shell語言的強(qiáng)大功能使用戶可以輕松地自動化任務(wù),包括文件和進(jìn)程管理以及執(zhí)行復(fù)雜的命令。其靈活的腳本和腳本能力使其廣泛用于系統(tǒng)編程和管理。通過編寫Shell腳本,用戶可以簡化重復(fù)性工作,提高效率,并確保任務(wù)的一致性和準(zhǔn)確性。這使得shell語言成為系統(tǒng)管理員和開發(fā)人員不可或缺的工具,這大大簡化了日常工作中的許多繁瑣任務(wù)。 

三上悠亚在线免费观看,91精品成人,国产精品久久久久永久免费观看,国产精品麻豆一区二区三区
日韩美女一区二区三区| 成人小视频免费在线观看| 美国欧美日韩国产在线播放| 不卡一区中文字幕| 国产伦精品一区二区三区免费迷 | 91麻豆文化传媒在线观看| 精彩视频一区二区| 国产精品一区二区久久不卡 | 欧美美女一区二区在线观看| 欧美日韩国产一级| 精品福利视频一区二区三区| 国产欧美va欧美不卡在线| 亚洲精品成人在线| 丝袜美腿亚洲综合| 国产成人免费在线观看不卡| 一区二区成人在线| 欧美丰满美乳xxx高潮www| 日韩影院精彩在线| 91福利视频在线| 成人免费视频免费观看| 日韩理论在线观看| 欧美精品一区二区三区高清aⅴ| 色噜噜狠狠色综合中国| 国产精品综合视频| 国产在线不卡一卡二卡三卡四卡| 日韩极品在线观看| 日韩电影在线免费看| 午夜精品久久久久久久| 亚洲区小说区图片区qvod| 亚洲女与黑人做爰| 亚洲三级在线免费| 亚洲国产综合在线| 亚洲国产日韩综合久久精品| 亚洲一区二区三区爽爽爽爽爽| 亚洲色图在线看| 中文字幕中文字幕在线一区| 亚洲日本va午夜在线影院| 中文字幕一区在线| 国产一区二区三区在线观看免费 | 日韩欧美aaaaaa| 91精品黄色片免费大全| 欧美乱熟臀69xxxxxx| 另类欧美日韩国产在线| 亚洲精品成a人| 亚洲精品国产a| 日本亚洲三级在线| 色综合天天综合网天天看片| 国内成人自拍视频| 久久国产精品无码网站| 国产一区二区三区电影在线观看| 日本丶国产丶欧美色综合| 精品国产髙清在线看国产毛片| 亚洲女同一区二区| 国产精一品亚洲二区在线视频| 在线观看亚洲精品| 国产肉丝袜一区二区| 午夜成人免费电影| aa级大片欧美| 久久综合狠狠综合久久综合88| 午夜精品福利久久久| av在线不卡观看免费观看| 精品国产乱码91久久久久久网站| 午夜精品久久久久久久久久久| 91在线码无精品| 国产日韩精品久久久| 美洲天堂一区二卡三卡四卡视频| 在线一区二区观看| 亚洲欧洲中文日韩久久av乱码| 高清不卡在线观看av| 日韩精品中文字幕一区| 午夜精彩视频在线观看不卡| 91亚洲精华国产精华精华液| 中文字幕精品一区二区三区精品 | 精品在线一区二区三区| 欧美日韩一区成人| 亚洲卡通动漫在线| a级精品国产片在线观看| 久久精品一区二区三区不卡| 久久国产精品免费| 欧美一区二区三区小说| 污片在线观看一区二区| 欧美在线视频不卡| 一区二区三区欧美日| 色就色 综合激情| 一区二区三区鲁丝不卡| 91网站最新网址| 亚洲视频你懂的| 91性感美女视频| 亚洲九九爱视频| 一本久久a久久精品亚洲| 国产精品动漫网站| 99久久99久久精品免费看蜜桃| 国产精品欧美一级免费| 成人av在线网| 亚洲日本免费电影| 91福利在线播放| 婷婷开心久久网| 91精品国产综合久久香蕉麻豆| 日日夜夜免费精品视频| 欧美一区二区三区在线观看| 美脚の诱脚舐め脚责91| 日韩欧美资源站| 国产主播一区二区三区| 久久精品夜色噜噜亚洲aⅴ| 国产成人av电影在线播放| 亚洲国产成人午夜在线一区| 91亚洲资源网| 日韩经典一区二区| 精品国产自在久精品国产| 国产一区二区三区av电影| 欧美高清在线视频| 91豆麻精品91久久久久久| 日韩在线一区二区三区| 精品日韩一区二区三区免费视频| 国产成人av资源| 一二三区精品福利视频| 欧美一区二区三区免费视频| 国产乱人伦精品一区二区在线观看| 亚洲国产电影在线观看| 色婷婷亚洲综合| 国产一区二区看久久| 欧美性猛片xxxx免费看久爱| 亚洲福利视频三区| 精品免费视频一区二区| 成人蜜臀av电影| 亚洲五码中文字幕| 2017欧美狠狠色| 在线免费av一区| 韩国av一区二区三区四区| 国产精品久久久久久福利一牛影视| 在线观看视频91| 精品一区二区三区香蕉蜜桃| 国产亚洲精品7777| 欧日韩精品视频| 国产综合久久久久影院| 一区二区三区久久久| 久久精品视频免费| 欧美午夜电影网| 免费成人av在线播放| 亚洲国产精品精华液2区45| 在线观看一区不卡| 国产伦精品一区二区三区免费 | 亚洲欧美怡红院| 91麻豆精品国产91久久久久| 高清不卡一二三区| 视频一区二区三区中文字幕| 国产精品青草综合久久久久99| 欧美美女一区二区在线观看| 不卡av在线网| 精品亚洲porn| 日韩国产精品大片| 亚洲欧美国产77777| 精品国产成人在线影院| 欧美羞羞免费网站| 粉嫩aⅴ一区二区三区四区| 免费久久99精品国产| 亚洲日本在线看| 国产亚洲一区二区在线观看| 欧美一区三区二区| 一本色道亚洲精品aⅴ| 国产在线精品国自产拍免费| 五月激情综合网| 亚洲黄一区二区三区| 国产日韩欧美a| 2020国产精品| 欧美福利视频导航| 欧美在线色视频| 91免费看`日韩一区二区| 床上的激情91.| 国产在线精品免费av| 日韩成人精品在线观看| 一区二区视频免费在线观看| 中文字幕一区二区三区精华液 | 国产成人在线视频免费播放| 精品中文av资源站在线观看| 日韩电影在线一区二区三区| 亚洲电影一级黄| 一区二区三区在线观看动漫| 国产精品区一区二区三区| 久久久天堂av| 久久综合狠狠综合久久综合88| 日韩欧美国产综合| 4438成人网| 欧美剧在线免费观看网站| 色爱区综合激月婷婷| 色94色欧美sute亚洲线路一ni| 91免费在线视频观看| 不卡一区中文字幕| 97精品国产97久久久久久久久久久久 | 久久国产精品99久久人人澡| 日本成人在线电影网| 日本中文一区二区三区| 国产馆精品极品| 日韩欧美一区二区久久婷婷| 欧美精品一二三区| 欧美精品亚洲一区二区在线播放| 欧美精品乱码久久久久久按摩| 欧美日韩精品欧美日韩精品一 | 欧美色视频在线观看| 欧美自拍偷拍午夜视频|