Linux——终端

一、终端

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 开头的指令,以供你选择:

相关推荐
JanelSirry1 分钟前
DevOps是什么,有什么作用,一般用来干嘛
linux·运维·devops
---学无止境---14 分钟前
Linux中控制台初始化console_init函数的实现
linux
老坛程序员21 分钟前
Coze 与 n8n 深度对比:AI智能体平台与工作流自动化的核心博弈
运维·人工智能·自动化
爱上妖精的尾巴21 分钟前
5-22 WPS JS宏reduce数组的归并迭代应用(实例:提取最大最小值的记录)
服务器·前端·javascript·笔记·wps·js宏
望获linux21 分钟前
【实时Linux实战系列】FPGA 与实时 Linux 的协同设计
大数据·linux·服务器·网络·数据库·fpga开发·操作系统
Zz_waiting.25 分钟前
多机部署,负载均衡
运维·负载均衡
武文斌7736 分钟前
复习总结最终版:计算机网络
linux·开发语言·学习·计算机网络
Mr.456737 分钟前
Linux CentOS 7 安装配置HAProxy完整指南:实现高可用负载均衡
linux·centos·负载均衡
TG_yunshuguoji3 小时前
启动模板创建AWS EC2 Auto Scaling指南
服务器·云计算·aws
小糖学代码3 小时前
Linux:11.线程概念与控制
linux·服务器·c语言·开发语言·c++