一、终端
1、终端是什么
终端最初是指终端设备(Terminal),它是一种用户与计算机系统进行交互的硬件设备。在早期的计算机系统中,终端通常是一台带有键盘和显示器的电脑,用户通过它输入命令,计算机在执行命令后将结果显示在终端的屏幕上。随着技术发展,"终端"的概念也经历了一定的演变。
现代操作系统中的"终端"一词通常指的是终端仿真器(Terminal Emulator),它是一种软件,模拟了传统硬件终端的功能,允许用户通过图形界面与系统的命令行接口进行交互。用户可以在终端仿真器中输入命令,由操作系统执行,并在同一界面中显示输出结果。
Linux终端是Linux操作系统中的一个终端仿真器。Linux终端提供了一个文本界面,用户可以通过它访问Linux的shell。Shell是一个命令行界面,用于与操作系统内核进行通信,执行用户的命令。Linux终端允许用户执行各种操作,包括文件管理、软件安装和运行、系统配置和管理等。
2、shell是什么
1)shell是什么
Shell确实是一种命令行解释器。它为用户提供了一个界面,用于向操作系统输入命令。操作系统接收这些命令后,Shell会解释并执行它们,然后将结果返回给用户。Shell既是命令语言的解释器,也是一个提供用户与操作系统交互能力的程序。
在不同的操作系统中,Shell可能指代不同的东西,但在Unix和类Unix系统(如Linux)中,它特指那些提供用户命令行接口的程序。这些程序允许用户通过键入命令来管理文件系统、运行程序、以及访问操作系统的核心功能。
2)shell工作原理
简单地来说,在我们输入某个指令并回车后,shell就会解析这个指令,然后寻找与这个命令同名的可执行文件,运行它,然后就会打印返回结果。
3)Linux有哪些shell
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/tcsh
/bin/csh
Ksh (Korn Shell):是Bourne Shell的扩展,提供了许多高级特性和脚本编程功能。
Zsh (Z Shell):基于ksh发展出来的,提供了许多用户友好的特性,如主题和插件支持,因此在开发者中非常受欢迎。
这里详细介绍一下 Bash :
"Bash" 的名称其实是 "Bourne Again SHell" 的缩写。一种俏皮的命名方式,意味着这是对原始 Bourne shell (sh
) 的一个增强版。或者说是一种双关( Bourne again / born again )。 Bash 是一个为 GNU 项目编写的免费软件替代品,Bash是基于先前的Bourne Shell(sh)设计的,但加入了许多新特性和改进,使其更加强大和易用。Bash 随着 GNU 项目的推广而广泛流行,成为了许多Linux发行版以及macOS的默认命令行接口。
4)查看当前操作系统中的shell有哪些
当前操作系统有的 shell 一般列在 /etc/shells 文件中,可以用 cat 指令查看:
5)查看当前使用的shell
使用 echo $SHELL 指令返回当前使用的 shell :
二、命令
1、使用 tab 键对命令进行补全
比如要使用 echo 命令,我们可以输入 ech ,这时只有 echo 这一个指令是以 ech 开头的,然后按 tab 键,就可以补全指令:
如果只输入 ec ,然后按 tab 键,就不会补全,因为以 ec 开头的指令有多个,这时再按一次 tab 键就会列出所有以 ec 开头的指令,以供你选择: