培訓(xùn)啦 IT技術(shù)

linux shell是什么意思

教培參考

教育培訓(xùn)行業(yè)知識型媒體

發(fā)布時間: 2025年05月17日 17:48

2025年【IT技術(shù)】報考條件/培訓(xùn)費用/專業(yè)咨詢 >>

IT技術(shù)報考條件是什么?IT技術(shù)培訓(xùn)費用是多少?IT技術(shù)專業(yè)課程都有哪些?

點擊咨詢

linux shell是什么意思?shell是一個用戶接口?;谖谋镜膕hell也可用作命令行解釋器。在Linux中,shell是一個解釋程序,它允許我們用各種命令與Linux進行交互。只要有合適的文件權(quán)限,我們就可以在腳本文件中設(shè)置命令,需要時甚至可以在深更半夜時執(zhí)行這些腳本文件。

Linux shell可以按各種順序處理命令,這取決于我們?nèi)绾喂芾砻總€命令的輸入和輸出。每個shell對命令所做的解釋一定程度上取決于它所使用的變量和參數(shù)。

Linux中默認的shell是bash,也稱為Bourne-Again shell,但是也存在很多其他的shell,而且它們也有很多用戶。只要能安裝相應(yīng)的RPM程序包,用戶就可以啟動任何一個shell。需要時可以在/etc/passwd文件中改變每個用戶的默認shell。

1、其他shell


RHEL 7中有4種命令行shell,用戶可以選擇其中任何一種。雖然bash是默認的shell,但是長期使用Linux和Unix的用戶可能喜歡其他shell:

● bash 默認的Bourne-Again shell,它以Stephen Bourne最早開發(fā)的命令行解釋程序為基礎(chǔ)。

● ksh 即Korn shell,由貝爾實驗室的David Korn在20世紀80年代開發(fā),結(jié)合了Bourne和C shell的最佳功能。

● tcsh Unix C shell的增強版。

● zsh 一個高級shell,類似于Korn shell。

這些shell都在/bin目錄中配置。如果用戶想把其中一個作為默認的shell,則并非難事。最直接的方法是在/etc/passwd文件中修改默認shell。例如,此文件中應(yīng)用于一位作者的一個普通賬戶的一行內(nèi)容是:

例如,要把默認的shell改為ksh,只需要把/bin/bash改為/bin/ksh。另外還需要為Korn shell安裝對應(yīng)的RPM程序包。

考試提示

盡管對大多數(shù)Linux用戶來說很容易,但是RHCSA一個認證目標(biāo)的一部分是“訪問shell提示符”?,F(xiàn)在你應(yīng)該知道如何訪問不同的shell提示符窗口。

2、虛擬終端


如果能訪問RHEL系統(tǒng)的控制臺,就可以使用6個虛擬終端來打開6個獨立的登錄會話。但是,默認情況下只激活一個虛擬終端。當(dāng)切換到未使用的終端時,其他登錄提示符會動態(tài)啟動。虛擬終端由/etc/systemd目錄中的logind.conf文件定義。

觀察該文件,可看到一個名為NAutoVTs的選項,它定義了可被激活的最大虛擬終端數(shù)。虛擬終端與設(shè)備文件/dev/tty1通過/dev/tty6關(guān)聯(lián)。當(dāng)系統(tǒng)配置了一個GUI,則它使用/dev/tty1。我們可以配置更多的虛擬終端,但是受/etc/securetty文件中為root管理員用戶分配的虛擬終端數(shù)量的限制。

通常情況下,為在虛擬終端之間切換,要按下Alt和對應(yīng)終端關(guān)聯(lián)的功能鍵。例如,Alt+F2鍵可以切換到第二個控制臺。但在RHEL GUI中,Alt+Fn鍵組合用來提供其他功能,例如Alt+F2可啟動Run Application工具。因此,在GUI中需要按Ctrl+Alt+Fn才可以切換到第n個虛擬控制臺。

登錄文本控制臺時會看到如下提示信息,但是具體內(nèi)容可能會因RHEL的版本、內(nèi)核的版本號以及系統(tǒng)的主機名而稍有差異:

用圖形模式登錄時會更加直觀,如圖1所示,但需要安裝GNOME顯示管理程序(GNOME Display Manager,GDM)。

圖1 第一個UI登錄控制臺

3、GUI shell接口


登錄到GUI后,訪問bash shell就很容易。如果我們使用默認的GNOME桌面環(huán)境,則單擊Applications | Utilities | Terminal。

傳統(tǒng)上,管理員總是從控制臺控制計算機的。但在許多情況下從GUI環(huán)境訪問命令行控制臺可能會更加方便,特別當(dāng)多個控制臺并排出現(xiàn)在屏幕上時。

右擊GUI終端界面可以在不同的窗口或者選項卡中打開另外的終端窗口。需要時它還支持終端窗口之間的復(fù)制與粘貼。

4、普通用戶與管理員用戶的區(qū)別


在命令行窗口中可以執(zhí)行的命令取決于登錄賬戶所擁有的權(quán)限?,F(xiàn)在有兩個基本的提示符。下面是普通用戶登錄后看到的提示符:

注意,屏幕上出現(xiàn)了用戶名、本地系統(tǒng)的主機名、當(dāng)前目錄和$提示符。$是普通用戶的標(biāo)準(zhǔn)提示符。

與此相反,在同一個系統(tǒng)上來看看root管理員用戶的提示符。它與普通用戶的提示信息相似,除賬戶名不同外,唯一的區(qū)別是提示符:

root管理員賬戶執(zhí)行命令的顯示結(jié)果如下:

5、文本流與命令重定向


Linux使用三個基本數(shù)據(jù)流。數(shù)據(jù)輸入流、數(shù)據(jù)輸出流和向另一個方向發(fā)送的錯誤。這些流分別被稱為標(biāo)準(zhǔn)輸入(stdin)、標(biāo)準(zhǔn)輸出(stdout)和標(biāo)準(zhǔn)錯誤(stderr)。通常情況下,輸入來自鍵盤,而標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤則發(fā)送到屏幕。在下例中,當(dāng)執(zhí)行cat filename這個命令時,系統(tǒng)把文件的內(nèi)容作為標(biāo)準(zhǔn)輸出發(fā)送到屏幕(就像發(fā)送任何錯誤一樣)。

也可以把這些流重定向到文件,或從文件重定向這些流。例如,有一個名為database的程序和一個包含大量數(shù)據(jù)的數(shù)據(jù)文件。用左重定向箭頭(<)可以把此數(shù)據(jù)文件的內(nèi)容發(fā)送到這個數(shù)據(jù)庫程序。如下所示,這里的數(shù)據(jù)文件(datafile)被當(dāng)作標(biāo)準(zhǔn)輸入:

標(biāo)準(zhǔn)輸入也可以來自某個命令的左側(cè)。例如,當(dāng)我們需要翻頁瀏覽引導(dǎo)信息時,可用管道把dmesg和less兩個命令組合在一起:

這里把dmesg命令的輸出重定向為less的標(biāo)準(zhǔn)輸入。后者對前者的輸出內(nèi)容進行翻頁瀏覽,就像它是一個獨立文件一樣。標(biāo)準(zhǔn)輸出重定向也一樣容易。例如,下面的命令用右重定向符(>)把ls命令的標(biāo)準(zhǔn)輸出發(fā)送到名為filelist的文件中。

還可以用雙重定箭頭命令(如ls>>filelist)在當(dāng)前文件的末尾添加標(biāo)準(zhǔn)的輸出流。如果想將某個程序的錯誤消息保存到一個文件中,則用下面的命令重定向此程序的錯誤流:

有時候會想要丟棄所有錯誤。通過將錯誤流重定向到特殊的設(shè)備文件/dev/null可實現(xiàn)此目的:

&>是另一個有用的重定向符,它將標(biāo)準(zhǔn)輸出和錯誤發(fā)送到一個文件或設(shè)備。下面給出了一個示例:

考試提示>、 >>、 2> 和 | 等命令重定向符在RHCSA認證目標(biāo)中屬于“輸入/輸出重定向符”。

溫馨提示:
本文【linux shell是什么意思】由作者教培參考提供。該文觀點僅代表作者本人,培訓(xùn)啦系信息發(fā)布平臺,僅提供信息存儲空間服務(wù),若存在侵權(quán)問題,請及時聯(lián)系管理員或作者進行刪除。
我們采用的作品包括內(nèi)容和圖片部分來源于網(wǎng)絡(luò)用戶投稿,我們不確定投稿用戶享有完全著作權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護條例》,如果侵犯了您的權(quán)利,請聯(lián)系我站將及時刪除。
內(nèi)容侵權(quán)、違法和不良信息舉報
Copyright @ 2025 培訓(xùn)啦 All Rights Reserved 版權(quán)所有.