chsh命令用於修改你的登入shell

2022-03-20 09:04:44 字數 1543 閱讀 1433

1 我想知道我機器安裝了哪些shell?

兩種方法可以檢視:

第一種:

[rocrocket@wupengchong ~]$ chsh -l

/bin/sh

/bin/bash

/sbin/nologin

/bin/zsh

第二種:

[rocrocket@wupengchong ~]$ cat /etc/shells

/bin/sh

/bin/bash

/sbin/nologin

/bin/zsh

其實chsh -l也是來檢視這個檔案。

2 我想知道我當前正在使用的shell是哪個阿?

[rocrocket@wupengchong ~]$ echo $shell

/bin/bash

注意shell一定要是大寫。可以看到,我目前使用的shell是/bin/bash

3 執行了zsh之後,我檢視當前shell型別仍然是/bin/bash呢?

請注意,我們雖然執行了zsh,但是所謂「當前的shell」是乙個大環境的概念,是針對乙個已登入的使用者而言的。而我們執行zsh只是啟動了乙個zsh的直譯器程式而已,並沒有改變大環境。如果想改變「當前的shell」,那麼還是要使用chsh才可以。

4 我想把我的shell改成zsh!

[rocrocket@wupengchong ~]$ chsh -s /bin/zsh

changing shell for rocrocket.

password:

shell changed.

[rocrocket@wupengchong ~]$

使用chsh加選項-s就可以修改登入的shell了!

你會發現你現在執行echo $shell後仍然輸出為/bin/bash,這是因為你需要重啟你的shell才完全投入到zsh懷抱中去。

5 chsh -s到底是修改了**?

秘密告訴你吧。chsh -s其實修改的就是/etc/passwd檔案裡和你的使用者名稱相對應的那一行。現在我來檢視下:

[rocrocket@wupengchong ~]$ cat /etc/passwd|grep ^rocrocket

rocrocket:x:500:500:rocrocket,china:/rocrocket/psb/home:/bin/zsh

看!你可以發現輸出內容的最後部分已經變成了/bin/zsh了!下次你重啟的時候,linux就會讀取這一命令來啟動你的shell了!

好了,我要恢復正常工作,把shell修改會我熟悉的/bin/bash了!

[rocrocket@wupengchong ~]$ chsh -s /bin/bash

changing shell for rocrocket.

password:

shell changed.

over~

使用ksh,只要鍵入:ksh 即可。

修改XP自動登入的命令

一 命令 執行 rundll32 netplwiz.dll,usersrundll 注意大小寫 或者 control userpasswords2能夠開啟乙個名為 使用者賬戶 的視窗,這裡提供了乙個簡易的賬戶管理介面,不但可以新增 刪除賬戶,它還提供了非常有用的獨特功能 選中登入賬戶,取消勾選 要使...

ADB Monkey(用於測試的命令)

logcat v time process c log aa.txt 列印日誌並儲存到本機 adb s 裝置名稱 logcat w v time process c log aa.txt 指定裝置進行列印 adb s 裝置名稱 logcat v time process c log aa.txt 指...

linux 用於分析統計的命令

1 統計檔案中的重複行,重複的內容可以是行,也可以是行的某個位置的值。cat mpsp.log awk uniq c sort k 1 n2 讀取檔案中的每行,然後從另外的檔案中過濾這些內容。test.sh bin sh for i in cat test.temp do echo i grep i...