Linux基础知识中的Shell

描述

计算机操作系统提供的用户交互接口有:GUI和CLI,其中CLI全称为Command line interface,命令行环境,CLI解析用户输入的命令,并传到操作系统执行,并将操作系统处理的结果返回给用户。

Shell便是Linux命令行环境CLI,直观意思是“外壳”,这一点与Linux内核对应。

Linux是一个开源的操作系统,由很多个组织和个人共同建造。Linux上的Shell已演进了多个版本,如sh、bash、csh、tcsh、ash。

  • Sh:即为Bourne shell,Bourne是人名,因其开发sh,而获此命名。sh是UNIX的标配,也是第一个Shell。
  • Bash:由GNU组织开发,兼容sh,一般为Linux默认shell。GNU组织的目标是打造自由、开源的操作系统。
  • Csh:即为带有C语言语法风格的Shell。
  • Tcsh:增强了csh,提供更强大的语法支持。
  • Ash:即为轻量化的 Shell,占用资源少。

系统可用的Shell的类型都记录在/etc/shells文件中

root@linux:/etc# cat shells
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/bin/rbash
/bin/dash
/usr/bin/tmux
/usr/bin/screen

Shell是一个程序,放在/bin或者/usr/bin目录下

root@linux:/bin# ll | grep sh
-rwxr-xr-x  1 root root 1113504 Apr  5  2018 bash*
-rwxr-xr-x  1 root root  121432 Jan 25  2018 dash*
lrwxrwxrwx  1 root root       4 Apr  5  2018 rbash -> bash*
lrwxrwxrwx  1 root root       4 Apr 24  2019 sh -> dash*
lrwxrwxrwx  1 root root       4 Jan 25  2018 sh.distrib -> dash*
lrwxrwxrwx  1 root root       7 Sep 18  2020 static-sh -> busybox*

至于谁是系统默认的Shell,可通过echo $SHELL来查看:

root@linux:/# echo $SHELL
/bin/bash
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分