Ⅰ linux 怎麼看當前用的是什麼shell
查看所有可以使用的shell可以cat /etc/shells ,查看當前登錄系統的所使用的shell可以 echo $SHELL ,這是系統環境中的一個變數。
Ⅱ shell命令和linux命令一樣么
當然不一樣!
shell翻譯為殼的意思,它是包裹在linux內核外層的,一個可通過一系列的linux命令對操作系統發出相關指令的人機界面,shell可以通過其條件語句和循環語句等,把一系列linux命令結合在一起,形成一個相當於面向過程的程序,即shell
script,從而實現一些復雜的功能。
shell可以說是linux命令集的旅仿概稱,屬於命令行的人機界面,拆悶纖shell是一個用C語言編寫的程序,它是用戶使用linux的橋梁,shell既是一個命令語言,也是一個程序設計語言,其次,shell也指一種應用程序,這個應用程序提供了一個界面,用戶通過這個界面訪問操作系統內核的服務。
由此可見,shell相當於經過裝飾的命令行,它與命令行一樣,都能操作Linux;但是shell是面向過程的,相當於有了一定的邏輯和過程,而命令行只是單一的操作。
linux命令是對Linux系統進行管理的命令。對於Linux系統來說,無論是中央處理器、內存、磁碟驅動器、鍵盤、滑鼠,還是用戶等都是文件,Linux系統管理的命令是它正常運行的核心,與之前的DOS命罩橘令類似。linux命令在系統中有兩種類型:內置Shell命令和Linux命令。
shell與linux命令的區別:
1、直接在命令行執行,就是在當前的shell環境下執行,比如涉及到一些環境變數的時候,必須在當前shell環境里執行。
2、在腳本執行的話,會fork一個子進程,所有操作都在子進程中進行。如果涉及到一些在腳本里設置環境變數的東西,腳本結束了,環境變數就消失了,如果是修改環境變數的話,需要特別注意。
3、shell可以重復或批量地進行一些命令,你也可以把自己要重復執行的命令寫到腳本裡面執行,而命令行的話就需要一個一個的輸入命令,比較麻煩。
Ⅲ linux 怎麼進入shell編程模式
1、連接上相應的linux主機,進入到等待輸入shell指令的linux命令行狀態下。
Ⅳ 什麼是Linux的登錄shell與非登錄shell
Linux的登錄shell與非登錄shell的含義及區別:
1、含義:登錄shell,指的是當用戶登錄系統時所取的那個shell,登錄shell屬於互動式shell。
登錄shell將查找4個不同的啟動文件來處理其中的命令,用戶登錄後,在終端上輸入命令,shell立即執行灶蠢用戶提交的命令,當用戶退出後,shell也終止了。
非互動式:即shell與用戶不存在交互,而是以shellscript的方式執行的,shell讀取存放在文件中的命令,並且執行它們。當它讀到文件的結尾EOF,shell也就終止了。
2、完整度不同:如果啟動了一個bash shell而沒有登入系統(如在CLI提示符中鍵入bash),則啟動了一個互動式非登錄shell。
互動式非登錄shell執行/bashrc文件中的命令,在每次執行shell腳拆攜本時,都會重新讀取這個文件,所以是最完整的。
3、使用情況不同:登錄shell的初始化文件(比如.bash_profile)通常會運行這個文件。這樣,登錄shell和非登錄shell都可以使用.bashrc中的命令。
4、登陸方式不同:登錄 shell 需要用戶名、密碼登錄後進入的 shell,或者通過--login選項生成的 shell 。
非登錄 shell 是指不需要輸入用戶名和密碼即可打開的 shell,比如輸入命令bash或者sh就能進入一個全新的非登錄 shell,在 Gnome 或 KDE 中打開一個 「terminal」 窗口,也是一個非登錄 shell。
5、數值不同:
查看$0的值,登錄shell返隱御陪回-bash,而非登錄shell返回的是bash。
需要注意的是:執行exit命令,退出的shell可以是登錄或者非登錄shell;執行logout命令,則只能退出登錄shell,不能退出非登錄shell。
(4)linux當前shell擴展閱讀:
登陸shell通常指的是:
1、用戶通過輸入用戶名/密碼(或證書認證)後啟動的shell;
2、通過帶有-l|--login參數的bash命令啟動的shell。
例如,系統啟動、遠程登錄、使用su-切換用戶、通過bash--login命令啟動bash等。
而其他情況啟動的shell基本上就都是「非登陸shell」了。
例如,從圖形界面啟動終端、使用su切換用戶、通過bash命令啟動bash等。
Ⅳ linux在當前目錄運行shell腳本文件test.sh的命令是
假如一個臘肆文件名為test.sh的shell腳本,cd切換到該文件襲局神的目錄,然後輸入命令:在文件名前面加「./拍虧」。另外...
Ⅵ linux shell 重啟命令
#把重啟次數保存到文件:如:/tmp/reboot.txt
#!/bin/sh
sleep45
#文件file:保存重啟次數
file="/tmp/reboot.txt"
if[-f$file]
then
num=`cat$file`
else
num=0
fi
#重啟次數累加
((num+=1))
#固化到文件
echo$num>$file
reboot
#end
希望能夠幫助到你,你的好評是我前進的動力,謝謝!
Ⅶ linux常用的shell有哪些
最常用的當然是bash這個shell了,不需要多說,因為大部分Linux發行版都默認是這回個shell;還有C shell用戶也很多,答因為它的語法和C語言有點像;還有一個ash,念做A Shell,在智能路由器系統OpenWrt、LEDE上作為默認shell,話說玩路由器Linux系統OpenWrt的也不少啊,好多硬體論壇上都知道這個系統,所以ash也算是常用的Linux shell吧。
Ⅷ Linux Shell 教程——想玩轉linux就請一直看下去
Shell 是一個用 C 語言編寫的程序,它是用戶使用 Linux 的橋梁。Shell 既是一種命令語言,又是一種程序設計語言。
Shell 是指一種應用程序,這個應用程序提供了一個界面,用戶通過這個界面訪問操作系統內核的服務。
Ken Thompson 的 sh 是第一種 Unix Shell,Windows Explorer 是一個典型的圖形界面 Shell。
Shell 在線工具
Shell 腳本(shell script),是一種為 shell 編寫的腳本程序。
業界所說的 shell 通常都是指 shell 腳本,但讀者朋友要知道,shell 和 shell script 是兩個不同的概念。
由於習慣的原因,簡潔起見,本文出現的 "shell編程" 都是指 shell 腳本編程,不是指開發 shell 自身。
Shell 編程跟 JavaScript、php 編程一樣,只要有一個能編寫代碼的文本編輯器和一個能解釋執行的腳本解釋器就可以了。
Linux 的 Shell 種類眾多,常見的有:
在一般情況下,人們並不區分 Bourne Shell 和 Bourne Again Shell,所以,像 #!/bin/sh ,它同樣也可以改為 #!/bin/bash 。
#! 告訴系統其後路徑所指定的程序即是解釋此腳本文件的 Shell 程序。
打開文本編輯器(可以使用 vi/vim 命令來創建文件),新建一個文件 test.sh,擴展名為 sh(sh代表shell),擴展名並不影響腳本執行,見名知意就好,如果你用 php 寫 shell 腳本,擴展名就用 php 好了。
輸入一些代碼,第一行一般是這樣:
#!/bin/bash
echo "Hello World !"
運行實例 »
#! 是一個約定的標記,它告訴系統這個腳本需要什麼解釋器來執行,即使用哪一種 Shell。
echo 命令用於向窗口輸出文本。
1、作為可執行程序
將上面的代碼保存為 test.sh,並 cd 到相應目錄:
注意,一定要寫成 ./test.sh ,而不是 test.sh ,運行其它二進制的程序也一樣,直接寫 test.sh,linux 系統會去 PATH 里尋找有沒有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的當前目錄通常不在 PATH 里,所以寫成 test.sh 是會找不到命令的,要用 ./test.sh 告訴系統說,就在當前目錄找。
2、作為解釋器參數
這種運行方式是,直接運行解釋器,其參數就是 shell 腳本的文件名,如:
這種方式運行的腳本,不需要在第一行指定解釋器信息,寫了也沒用。