linux shell 类型,常见的shell有哪几种

大家好,如果您还对linux shell 类型不太了解,没有关系,今天就由本站为大家分享linux shell 类型的知识,包括常见的shell有哪几种的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

Linux中shell 的类型有哪些。

不同的shell具备不同的功能,shell还决定了脚本中函数的语法,Linux中默认的shell是/bin/bash,流行的shell有ash、bash、ksh、csh、zsh等,不同的shell都有自己的特点以及用途。

bash

大多数Linux系统默认使用的shell,bash shell是 Bourne shell的一个免费版本,它是最早的 Unix shell,bash还有一个特点,可以通过help命令来查看帮助。包含的功能几乎可以涵盖shell所具有的功能,所以一般的shell脚本都会指定它为执行路径。

csh

C shell使用的是“类C”语法,csh是具有C语言风格的一种shell,其内部命令有52个,较为庞大。目前使用的并不多,已经被/bin/tcsh所取代。

ksh

Korn shell的语法与 Bourne shell相同,同时具备了 C shell的易用特点。许多安装脚本都使用 ksh,ksh有42条内部命令,与bash相比有一定的限制性。

tcsh

tcsh是csh的增强版,与 C shell完全兼容。

sh

是一个快捷方式,已经被/bin/bash所取代。

nologin

指用户不能登录

zsh

目前Linux里最庞大的一种shell:zsh。它有84个内部命令,使用起来也比较复杂。一般情况下,不会使用该shell。

linux有几种shell

1、Bourne shell

Bourne shell是一个交换式的命令解释器和命令编程语言。

Bourne shell是标准的UNIX shell,以前常被用来做为管理系统之用。大部分的系统管理命令文件,例如rc start、stop与shutdown都是Bourne shell的命令档,且在单一使用者模式下以root签入时它常被系统管理者使用。Bourne shell是由AT$T发展的,以简洁、快速著名,Bourne shell提示符号的默认值是$。

2、C shell

C shell是一种比Bourne shell更适合的变种shell,使用的是类C语言,csh是具有C语言风格的一种shell,其内部命令有52个,比较庞大。

C shell是柏克莱大学所开发的,且加入了一些新特性,如命令列历程、别名、内建算术、档名完成和工作控制。对于常在交谈模式下执行shell的使用者而言,他们较喜欢用C shell;但对于系统管理者而言,则较偏好以Bourne shell来做命令档,因为Bourne shell命令档比C shell命令档来的简单及快速。C shell提示符号的默认值是%。

3、korn shell

korn shell是一个Unix shell,它由贝尔实验室的David Korn在二十世纪八十年代早期编写。它完全向上兼容Bourne shell并包含了c shell的很多特性,例如贝尔实验室用户需要的命令编辑。

Korn shell是Bourne shell的超集,由AT&T的David korn所开发。它增加了一些特色,比C shell更为先进。Korn shell的特色包括了可编辑的历程、别名、函式、正则表达式万用字符、内建算术、工作控制、共作处理和特殊的除错功能。Korn shell提示符号的默认值也是$。

Linux账户如何修改默认Shell类型

具体内容如下:

1,使用usermod修改

usermod是一个工具用于修改用户账号的信息,这些信息存储在“/etc/passwd”中,下面我们通过 -s 或者 --shell选项来改变用户的shell。

[sharplee@sharplee test ]# grep sharplee/etc/passwd

[sharplee@sharplee ]# sudo usermod--shell/bin/sh sharplee

[sharplee@sharplee ]# grep sharplee/etc/passwd

下面来检验一下用户的shell是否被修改了。

2,使用chsh命令进行修改

chsh是一个命令行实用程序,使用-s或–shell选项更改登录 shell,如下所示。

[root@sharplee creatfile]# grep sharplee/etc/passwd

[root@sharplee creatfile]# sudo chsh--shell/bin/bash sharplee

[root@sharplee creatfile]# grep sharplee/etc/passwd

下面通过重新登录一下sharplee用户来看一下shell改变了没。

3,通过修改/etc/passwd文件实现

下面通过文本编辑工具,来修改/etc/passwd文件,实现改变用户的shell。

阅读剩余
THE END