![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/2c9b081bbb574bb68afd0999ce5c4e67.png)
1. Shell 概念
- Shell是一种命令解释器,提供用户和计算机之间的交互接口,同时也是命令的运行环境。在Linux系统中,Shell是用户与操作系统内核之间的桥梁,通过Shell,用户可以输入命令来操作系统和执行程序。
2. Shell的主要功能
- 提供用户与操作系统进行交互操作的接口,方便用户使用系统中的软硬件资源。例如,用户可以通过Shell命令访问文件系统、启动应用程序以及管理系统进程。
- 提供脚本语言编程环境,方便用户完成简单到复杂的任务调度。Shell脚本是一种简单的编程语言,用户可以编写脚本来自动执行一系列命令,实现自动化任务。
3. Shell的种类
- 常见的Shell种类包括:
- Bourne Shell (sh)
- C Shell (csh)
- Korn Shell (ksh)
- Bourne-Again Shell (bash)
- Z Shell (zsh)
- 每种Shell提供不同的特性和功能,例如,Bash是最常用的Shell,具有强大的命令行编辑功能和丰富的脚本编写能力。
常见的Shell种类及详细解释
1. Bourne Shell (sh)
2. C Shell (csh)
3. Korn Shell (ksh)
4. Bourne-Again Shell (bash)
5. Z Shell (zsh)
详细示例和列支
Bourne Shell (sh) 脚本示例:
#!/bin/sh
echo "Hello, World!"
- 运行方法:在CentOS系统中,可以保存为
hello.sh
并通过命令sh hello.sh
运行。
C Shell (csh) 脚本示例:
#!/bin/csh
# This is a simple script that prints "Hello, World!"
echo "Hello, World!"
- 运行方法:保存为
hello.csh
并通过命令csh hello.csh
运行。
Korn Shell (ksh) 脚本示例:
#!/bin/ksh
# This is a simple script that prints "Hello, World!"
echo "Hello, World!"
- 运行方法:保存为
hello.ksh
并通过命令ksh hello.ksh
运行。
Bourne-Again Shell (bash) 脚本示例:
#!/bin/bash
echo "Hello, World!"
- 运行方法:保存为
hello.sh
并通过命令bash hello.sh
运行。
Z Shell (zsh) 脚本示例:
#!/bin/zsh
# This is a simple script that prints "Hello, World!"
echo "Hello, World!"
- 运行方法:保存为
hello.zsh
并通过命令zsh hello.zsh
运行。
查看系统中的Shell环境
- 可以通过命令
echo $SHELL
查看当前使用的Shell环境。在CentOS系统中,这个命令通常会输出 /bin/bash
,表示当前使用的是Bash Shell。 - 当用户进入命令行界面时,系统会自动运行一个默认的Shell程序,为用户提供交互式命令执行环境。
1. Shell的基本功能
- 命令补全:用户输入命令后,按Tab键可以自动补全命令名称,节省输入时间。例如,在CentOS中,输入
ls
后按Tab键,系统会补全 ls
命令。 - 文件名补全:输入文件名前几个字符后按Tab键,系统会自动补全文件名。例如,输入
myfile
后按Tab键,系统会补全为 myfile.txt
,如果文件存在的话。 - 命令联想:如果记不住完整命令,可以输入命令开头几个字母,按Tab键系统会列出所有匹配的命令。例如,输入
net
后按Tab键,系统会显示 netstat
、networkctl
等命令。
2. Shell命令行操作界面——环境变量
- 常用的环境变量及其功能包括:
PATH
:决定了Shell到哪些目录中寻找命令或程序。HOME
:当前用户的主目录,通常是 /home/username
。HISTSIZE
:历史记录数,表示Shell记录的命令历史条数。LOGNAME
:当前用户的登录名。HOSTNAME
:主机名,可以通过 hostname
命令查看或修改。PS1
:当前命令提示符,可以通过修改该变量自定义命令提示符。SHELL
:用户当前使用的Shell,例如 /bin/bash
。LANGUAGE
:语言相关的环境变量,可以设置系统的语言和区域。MAIL
:当前用户的邮件存放目录。