Linux常用shell种类
不同的shell具备不同的功能,shell还决定了Linux中默认的shell是/bin/bash,流行的shell有ash、bash、ksh、csh、zsh等,不同的shell都有自己的特点以及用途。
查看自己的服务器支持什么shell
# cat /etc/shells /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bin/bash /usr/sbin/nologin
# chsh -l /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bin/bash /usr/sbin/nologin
查看当前的shell
# echo $SHELL /bin/bash
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相比有一定的限制性。
看看相应的目录中有无ksh # ls /bin/ksh 如果命令安装就成了。 # yum install ksh
查看
# ll /bin/ksh
lrwxrwxrwx 1 root root 21 May 8 09:26 /bin/ksh -> /etc/alternatives/ksh
tcsh
tcsh是csh的增强版,与C shell完全兼容。
sh
是一个快捷方式,已经被/bin/bash所取代。
nologin
指用户不能登录
zsh
目前Linux里最庞大的一种shell:zsh。它有84个内部命令,使用起来也比较复杂。一般情况下,不会使用
该shell。
改变shell
当前用户改变自己的shell(普通用户也可以执行)
[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.
还有一种方法,需要管理员权限
# usermod -s /bin/sh xu
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!