前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux常用shell种类

Linux常用shell种类

作者头像
黑白天安全
发布2020-04-30 18:14:17
2.5K0
发布2020-04-30 18:14:17
举报

定义:

1.shell是一个用C语言编写的程序,它是用户使用Linux的桥梁。shell既是一种命令语言,又是一种程序设计语言。 2.shell是指一种应用程序,这个程序提供一个界面,用户可以通过这个界面访问操作系统。

脚本:

代码语言:javascript
复制
shell脚本是一种为shell编写的脚本程序。我们通常所说的shell都是指shell脚本,但是shell和shell script是两个不同的概念。

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

bash

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

csh

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

ksh

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

tcsh

代码语言:javascript
复制
tcsh是csh的增强版,与C shell完全兼容。

sh

代码语言:javascript
复制
是一个快捷方式,已经被/bin/bash所取代。

nologin

代码语言:javascript
复制
指用户不能登录

zsh

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

查看服务器支持什么shell

cat /etc/shells

代码语言:javascript
复制

/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin

chsh -l

代码语言:javascript
复制
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin

查看当前的shell

代码语言:javascript
复制
# echo $SHELL
/bin/bash

改变shell

当前用户改变自己的shell(普通用户也可以执行)

代码语言:javascript
复制
[root@localhost ~]# chsh            #必变当前用户的shell
Changing shell for root.
New shell [/bin/bash]: /bin/csh     #输入新的shell地址
Shell changed.

[root@localhost ~]# chsh -s /bin/csh #改变当前用户shell,设置为 /bin/csh
Changing shell for root.
Shell not changed.

还有一种方法,需要管理员权限

代码语言:javascript
复制
# usermod -s /bin/sh xu
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 黑白天实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档