shell基础介绍

1. shell介绍

shell 是Linux内核和用户交互的一个界面 ,作为用户与操作系统内核的中间媒介而存在 。当我们登录Linux,打开终端,第一眼看到的就是shell界面。最早的第一个shell版本是Bourne shell(为纪念这个版本的资助者:Steven Bourne),简称:sh。其后,有伯克利的 C shell,简称:csh(这个版本现被 tcsh代替)。贝尔实验室的ksh,以及基于ksh发展出来功能更强大的zsh。无论哪个版本的shell其功能都相似,差别在于一些语法上的不同。


2. 查看可用shell和当前shell

要查看当前系统可用shell版本有哪些,可以查看 /etc/shells 文件(某些版本可能是/etc/shell 文件,笔者使用Ubuntu 12.04):

~$ cat /etc/shells
可能显示的结果是:

/bin/sh
/bin/dash
/bin/bash
/bin/rbash
Ubuntu默认的shell是 dash,root用户是bash。那如何知道当前shell是哪个版本呢?可查看 $SHELL变量:

~$ echo $SHELL
/bin/bash
如果不是dash,可使用:sudo dpkg-reconfigure dash 命令恢复。


3. 安装其他版本的shell

上面查看/etc/shells文件时,没有显示tcsh, zsh,如果你想用这些版本的shell,在Ubuntu下是很简单的,只要install一下:

~$ sudo atp-get install tcsh

~$ sudo apt-get install zsh

查看/etc/shells文件就可知道安装的shell版本有没有成功:

/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/bin/zsh
/usr/bin/zsh
/bin/tcsh


4. 切换shell版本

如果当前shell版本是dash,想换成tcsh,可以使用 chsh命令:

~$ chsh -s /bin/tcsh
如果不是root用户,需要输入当前用户密码。现在我们来看下,是否切换成功:

~$ echo $SHELL
/bin/bash

发现$SHELL变量显示的还是bash,而不是tcsh。是上面操作没成功吗?其实不是的,shell版本是切换成功了,只是$SHELL变量值修改后,需要当前用户注销后,再次登录才会生效。所以,如果你重新登录后,再查看$SHELL变量,显示的就是 /bin/tcsh。

或者,可以这样:

~$ chsh jeff
输入密码后,显示:

Changing the login shell for jeff
Enter the new value, or press ENTER for the default
        Login Shell [/bin/tcsh]:

上面让你输入一个新的shell版本值,或者按回车不做修改。但我们看到,现在Login Shell 的版本是:/bin/tcsh。说明我们在执行:chsh -s /bin/tcsh 时,将shell版本换成了tcsh。

好了,shell的一些基本情况就先介绍这些。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值