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

相关推荐
跨境数据猎手33 分钟前
跨境独立站系统技术拆解(附带源码)
服务器·前端·php
AOwhisky1 小时前
Kubernetes 学习笔记:集群管理、命名空间与 Pod 基础
linux·运维·笔记·学习·云原生·kubernetes
小龙在慢慢变强..2 小时前
目录结构(FHS 标准)
linux·运维·服务器
2035去旅行2 小时前
嵌入式开发,如何选择C标准库
linux·arm开发
刘延林.2 小时前
win11系统下通过 WSL2 安装Ubuntu 24.04 使用RTX 5080 GPU
linux·运维·ubuntu
星恒讯工业路由器2 小时前
星恒讯工业生产自动化解决方案
运维·物联网·自动化·智能路由器·信息与通信
a8a3022 小时前
Laravel9.x新特性全解析
运维·spring boot·nginx
beyond阿亮2 小时前
IEC104 Client Simulator - IEC104 主站/客户端模拟器 仿真器免费使用教程
运维·服务器·网络
(Charon)3 小时前
【C++/Qt】Qt 封装 TCP 客户端底层 Network 类:连接、收发、自动测试与错误处理
服务器·网络·qt·tcp/ip