优秀是一种习惯
分类: Python/Ruby
2012-10-03 11:11:49
shell的作用
shell实用程序用来解释用户输入或者从shell脚本文件中读取的命令.执行脚本的时候不用编译而是直接被解释.shell读取脚本中的每一行,然后在系统中查找这些命令并执行.如果一个程序被编译成系统可执行的文件,那么这个文件也可以在脚本中使用.
除了向内核中传送命令,shell的另一个主要作用是提供一个用户环境,各自的用户环境可以使用shell的源文件进行配置.
shell的类型
就像世界上有很多种语言或者方言一样,在unix和unix-like系统中提供了很多种shell:
sh或者 Bourne shell:这种shell仍然在unix系统中使用.它是一个最基本的shell,有很少 的特征.虽然现在已经不是默认的shell,但是仍在linux可用,去兼容unix程序.
csh或者C shell:语法和c语言非常的类似.编程不方便.
tcsh或者TENEX C shell:是对csh进行扩展的一种shell,使用起来更方便,速度更快.
ksh或者Korn shell:与bsh向后兼容.
bash或者Bourne Again shell:标准的GNU shell,直观、灵活。非常适合初学者使用,同时 也是高级和专业人士的有力工具。在linux中,bash是标准的shell。向后兼容sh。也有 很多的插件和增强功能。
linux系统中的/etc/shells文件中显示了当前系统中可用的shell
[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/ksh
[root@localhost ~]#
当然也不只这些shell可以使用,如果随后安装了其他的shell,也可以使用:
[root@localhost ~]# yum -y install zsh
Loaded plugins: rhnplugin, security
This system is not registered with RHN.
RHN support will be disabled.
Cluster | 1.3 kB 00:00
ClusterStorage | 1.3 kB 00:00
Server | 1.3 kB 00:00
VT | 1.3 kB 00:00
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package zsh.i386 0:4.2.6-3.el5 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
zsh i386 4.2.6-3.el5 Server 1.7 M
Transaction Summary
================================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 1.7 M
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : zsh 1/1
Installed:
zsh.i386 0:4.2.6-3.el5
Complete!
[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/ksh
/bin/zsh