这是我参与【第六届青训营】伴读笔记创作活动的第3天
首先,我们看下下面的这张图:
shell的基本概念: 是一个计算机程序,用来与操作系统内核进行交互并管理用户与计算机之间的输入输出。它提供了一个命令行界面(CLI),让用户能够通过键盘输入命令并获得结果。在许多 Linux 和 macOS 系统中,默认的 Shell 是 Bash,但也有其他的 Shell,如 Zsh和 Fish等。
Shell 支持各种命令用以执行不同的任务。以下是一些常见的 Shell 命令:
- cd:改变当前工作目录。
- pwd:显示当前所在的工作目录的路径。
- ls:显示当前目录中的文件和目录。
- cp:复制文件或目录。
- mv:移动或重命名文件或目录。
- rm:删除文件或目录。
- mkdir:创建一个新的目录。
- rmdir:删除一个空的目录。
- touch:创建一个新文件或更新一个已有文件的时间戳。
- cat:连接文件并打印到标准输出。
- echo:打印字符串或变量的值到标准输出。
- ps:列出当前运行的进程。
- kill:发送信号给进程,关闭它或者操作它。
- top:监视系统资源和进程。
- ping:测试网络连接。
- curl:从 URL 下载数据。
- ssh:通过 SSH 协议远程登录到另一台计算机系统。
- grep:在文件中搜索匹配的文本。
以上是一些最常使用的 Shell 命令,但 Shell 支持的命令远不止这些。Shell 中的命令可以使用 man、info、help 等工具来获取帮助信息。
接下来,我们来看下,shell的命令和语法:
shell的变量有以下三种:
自定义变量,环境变量,系统环境变量;
上图里面我们可以看到,当变量为自定义变量的时候,作用域是只能在当前的shell里面,只有在变量为环境变量或者是系统环境变量的时候,我们当前的shell就是父进程,当我们的父进程准备开启执行一个程序的时候,我们的父进程就会开启一个子进程去执行,执行完毕就放回给父进程,然后父进程才会执行下一个程序;
那么自定义变量怎么定义呢,我们可以看下下面的图片:
自定义变量:可以用来存储各种值,如字符串、数字、文件名、目录名等。Shell 变量名可以由字母、数字、下划线组成,但不能以数字开头;
- 直接赋值
通过直接给变量名赋值的方式来创建变量。赋值语句中变量名不需要加上 $ 符号。
示例代码:
MY_VAR="Hello, world!"
- 使用 read 命令
通过执行 read 命令并让用户输入变量的值来创建变量。read 命令会将用户输入的值存储到变量中。
示例代码:
read -p "Enter your name: " NAME
echo "Hello, $NAME!"
- 使用 export 命令
通过 export 命令来将一个本地变量变成环境变量。环境变量可以被子进程继承并使用。
示例代码:
MY_VAR="Hello, world!"
export MY_VAR
在 Shell 中获取变量的值需要使用 $ 符号。例如:
echo $MY_VAR
这将输出变量 MY_VAR 的值。
需要注意的是,在 Shell 中变量名不区分大小写,但最好还是按照惯例使用大写字母来表示环境变量,小写字母来表示本地变量。
接下来是我们的环境变量: