Shell and BASH

发布于 2020-10-17  1374 次阅读


计算机运作举例:当你要计算机传输出来『音乐』的时候,你的计算机需要什么东西?

1.硬件:当然就是需要你癿硬件有『声卡芯片』这个配备,否则怎么会有声音;

2.核心管理:操作系统的核心可以支持这个芯片组,当然还需要提供芯片的驱动程序;

这就是基本的一个输出声音所需要的步骤!也就是说,你必须要『输入』一个指令之后, 『硬件』才会透过你下达的挃令杢工作!那么硬件如何知道你下达的指令呢?那就是 kernel (核心) 的控制工作了!也就是说,我们必须要透过『 Shell 』将我们输入的指令与 Kernel 沟通,好让 Kernel 可以控制硬件来正
确无误的工作!

3.应用程序:需要使用者 (就是你) 输入发生声音的指令!

只要能够操作应用程序的接口都能够称为壳程序。狭义的壳程序指的是指
令列方面的软件,如 bash ,zsh等。

什么是BASH?

可以发现应用程序其实是在最外曾,就如同鸡蛋的外壳一样,因此这个咚咚也就被称呼为壳程序 (shell) 啰!

BASH的一点点用法:

BASH指令补全:TAB键

[Tab] 接在一串指令的第一个字的后面,则为命令补全;

[Tab] 接在一串指令的第二个字以后时,则为『档案补齐』!

如果我想要知道我的环境中,所有可以执行的指令有几个? 就直接在 bash 的提示字符后面连续挄按两次 [tab] 挄键就能够显示所有的可执行指令了。 那如果想要知道系统当中所有以 c 为开头的指令呢?就按下『 c[tab][tab] 』就好啦!

命令别名设定功能: (alias)

如:alias lm='ls -al'

如何知道这个指令是阿里自于外部指令(指的是其他非 bash 所提供的指令) 或是内建在 bash 当中的呢?利用 type 这个指令来观察即可!举例来说:

type [-tpa] name

不加任何选项与参数时,type 会显示出 name 是外部指令还是 bash 内建
指令。

-t :当加入 -t 参数时,type 会将 name 以底下这些字眼显示出他的意义:

  • file:表示为外部指令;
  • alias :表示该指令为命令别名所设定的名称;
  • builtin :表示该指令为 bash 内建的指令功能;

-p :如果后面接的 name 为外部指令时,才会显示完整文件名;

-a :会由 PATH 变量定义的路径中,将所有含name 的指令都列出来,包含
alias

注意:type 主要在找出『执行档』而不是一般档案档名喔!

长指令输入:『\+ [Enter] 』,中间没有空格

总之,当我们顺利的在终端机 (tty) 上面登入后, Linux 就会依据 /etc/passwd 档案的设定给我们一个 shell (预设是 bash),然后我们就可以依据上面的指令下达方式来操作 shell,之后,我们就可以透过 man 这个在线查询来查询指的使用方式与参数说明。