Linux shell

Linux shell

概述

Shell 是一个应用程序,它连接了用户和操作系统的内核,让用户高效,安全,低成本地使用操作系统内核

影响力最大的就是bash

[root@chz Desktop]# echo $SHELL
/bin/bash

linux中的一个terminal窗口也可以叫做TTY(teletype printer)

内部命令VS外部命令

  • 内部命令:内置在shell中命令,执行不会产生子进程

  • 外部命令:某个【可执行文件】,会产生子进程

我们可以通过whereis 命令名称来判断,某个命令是否为“外部命令”

如果某个命令能找到对应的可执行文件,就是"外部命令",反之就是“内部命令”

通配符

shell中支持wildcard(通配符),用来模糊匹配,*匹配多个字符,?匹配单一字符

[root@chz Desktop]# find test*
test
test.bak
test.ttt

特殊符号

  • ~

    当前用户的家目录

  • /

    根目录

别名/alias

为一个命令设置一个别名,当tty关闭时就会失效,可以通过配置设置为永久生效

[root@chz Desktop]# alias wm='whereis mysql'
[root@chz Desktop]# wm
mysql: /usr/lib64/mysql /usr/share/mysql

历史命令

大部分shell都会记录历史命令。可以通过键盘的【向上】方向键

自动补全

多数shell都具备自动补全

Shell VS Terminal

在linux中,Shell可以与Terminal一一对应,也可以是一个Shell的子Shell

Terminal(tty)

  • GUI软件界面,接收输入,显示输出

Shell

  • 操作计算机内核,可以理解为Terminal与kernel的代理
graph LR Terminal --> Shell --> kernel
原文地址:https://www.cnblogs.com/kikochz/p/13797055.html