我個人比較喜歡csh
所以一般情況下就是在安裝好系統后把用戶的shells換為csh
下面就來給大家介紹一下:
1)如何查看當前shells
2)如何查看系統所有的shells
3)如何修改當前用戶的shells
4)如何載入當前用戶的.cshrc 讓它生效
下面就開始吧
在更換shells之前 當然你可以先查看一下你所使用的shells到底是不是你想要的
[root@test2 ~]# echo $0
-bash
可以發現我的CentOS 6 32bit默認的shells是bash 而我想用的並不是這個
而系統里目前到底有哪些shells呢?
[root@test2 ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
你會發現其實並沒有很多 但我們常見的sh bash csh tcsh默認都有了 必須要再另外安裝 而上面的nologin其實就是用來創建不允許登錄ssh的帳號時用的
現在就可以更改當前用戶的shells了
[root@test2 ~]# chsh
Changing shell for root.
New shell [/bin/bash]:
輸入chsh后 系統會讓你自己輸入你想用的shells
這時剛才的查詢就有用了 我要用的是csh 輸入后的結果就是下面這樣
[root@test2 ~]# chsh
Changing shell for root.
New shell [/bin/bash]: /bin/csh
Shell changed.
更換后必須下次登錄才有效 所以我們先退出當前的ssh連接
[root@test2 ~]# exit
必須注意的是 直接關閉ssh連接工具諸如putty 其實不會關掉該ssh連接
意思就是你關掉了putty 但是ssh連接其實還是存在的
所以建議使用exit來主動退出
重新連接后可以查看到shells已經是csh了
[root@test2 ~]# echo $0
-csh
然後就可以自己編寫.cshrc 或是直接使用別人的配置文件(比如我的)
下面我就直接wget我的常用配置文件包my.zip 裏面包含csh、screen和vim的配置文件
[root@test2 ~]# wget https://www.guyusoftware.com/sh/my.zip
–2014-08-26 12:14:32– https://www.guyusoftware.com/sh/my.zip
Resolving www.guyusoftware.com… 198.71.86.144
Connecting to www.guyusoftware.com|198.71.86.144|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 1456 (1.4K) [application/zip]
Saving to: “my.zip”100%[======================================>] 1,456 –.-K/s in 0s
2014-08-26 12:14:32 (121 MB/s) – “my.zip” saved [1456/1456]
下載完畢後解壓my.zip檔案
[root@test2 ~]# unzip my.zip
Archive: my.zip
replace .cshrc? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
inflating: .cshrc
inflating: .screenrc
inflating: .vimrc
然後就可以載入配置文件了
[root@test2 ~]# source .cshrc
root@test2:/root#
而載入后你會發現shells的前綴出現了當前目錄完整路徑 這樣是不是方便多了?哈哈
你也可以自行修改.cshrc來滿足你的個人需求
我裏面已經定義了一些簡單的alias 比如vi自動用vim打開 rm需要確認提示等等
使用了我的配置文件后 你也會發現你的csh、vim、screen充滿了色彩
誰說ssh就必須那麼單調?哈哈
備註:如果目錄下存在.tcshrc 下次啟動時就會優先載入.tcshrc 因為所以建議刪除此檔案
rm -f .tcshrc
原文:
A login shell begins by executing commands from the system files
/etc/csh.cshrc and /etc/csh.login. It then executes commands from
files in the user’s home directory: first ~/.tcshrc (+) or, if
~/.tcshrc is not found, ~/.cshrc, then ~/.history (or the value of the
histfile shell variable), then ~/.login, and finally ~/.cshdirs (or the
value of the dirsfile shell variable) (+). The shell may read
/etc/csh.login before instead of after /etc/csh.cshrc, and ~/.login
before instead of after ~/.tcshrc or ~/.cshrc and ~/.history, if so
compiled; see the version shell variable. (+)