LINUX学习笔记整理一 Shell基础及工具篇-Shelle的

Shell基础及其工具都是很重要的LINUX基础,在此之前,我曾经无数次扫过这些知识点,总是觉得不着急,以后慢慢来,可是最近在学习C语言高级编程和ROS控制系统以及单片机时不得不转回对LINUX的精准学习研究中去。既然学了,就认认真真记下笔记和大家交流分享。如果有不足和黑洞,希望大家能够提出意见。

Shell基础和其工具

Shell究竟是什么?

Shell,抽象上理解是用户与操作系统之间的沟通桥梁;具体而言,Shell不过是UNIX/LINUX系统上的一种用来控制和操作其系统和内核的工具
后来,随着时间的发展,Shell进化成了一种解释型编程语言。用户使用这种语言,可以实现变量定义,条件判断,循环控制,函数调用等功能。很多时候,经过学习和理解,Shell也能够被用来实现很复杂的业务逻辑。
在Ubuntu系统上,我们打开终端,在终端中输入的命令,就是Shell命令。这种命令有上千个,完全背下来的困难当然不亚于四六级词汇满分的难度。
但是Shell高手表示,小意思,而且这种交互式Shell完全不能满足他们的日常需要,于是,Shell脚本被发明来满足他们的“自动化工作”需要。
实现Shell脚本并不难,就是把多个Shell命令按照一定的逻辑写到一个文件中去,稍后,这个文件会被重命名为Shell脚本。执行这个文件,既可以实现部分工作自动化。
Shell不像C语言一样只有一种,它有多个版本,我们可以根据兴趣去了解下pdksh,scsh,psh,mksh等。但是我们一定要精通的Shell是bash和zsh,因为前者是主流的Shell,后者是被无数大佬集体称赞为史上最强大的Shell。
但是作为初级Shell学习者,我对自己的定位是掌握主流Shell——bash。因为学习它的收益性最大。
下面,我们打开终端,用

cat /etc/shells

查看下你的操作系统中的Shell有哪些类型吧
在我的Ubuntu系统里,显示的是

# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/screen

说明我的系统里面有sh,dash,bash,rbash
那么我们当前使用的是哪种Shell那,我们可以用如下命令来查看

echo $SHELL

不出意外,我的系统里出现的语句如下

/bin/bash

这说明我的Shell是普及度最高的bash,即Bourne Again Shell。
想体验下zsh怎么办?
请大佬们收下这份链接来探索吧。
https://blog.csdn.net/weixin_40128991/article/details/79006329

你可能感兴趣的:(LINUX学习)