认识BASH Shell
在我们使用操作系统的过程中,我们需要通过Shell将我们输入的指令与Kernel沟通,好让Kernel可以控制硬件来准确无误的工作。
我的理解是只要是应用程序就可以称为Shell,那么其中还细分为两种,一种是狭义的应用程序,主要指指令集方面的软件,包括十分重要的Bash。广义的Shell包括带图形界面的软件,比如Ubuntu系统中我们用的Pycharm和VScode。
Bash shell的功能
/bin/bash作为Linux预设的Shell,我们需要深入的了解他。不论我们使用什么样的distribution,我们都需要学习Bash。
-
命令编修能力(history) 我们在Bash上执行过的指令都会被记录在根目录内的.bash_history。这样的好处是我们可以查询曾经做的操作。
-
命令与档案补全功能(Tab) tab键是一个很好的功能,因为至少1)可以少打很多字,2)确定输入的资料是正确的! 【Tab】接在一串指令的第一个字后面,为命令补全。 【Tab】接在一串指令的第二个字后面,则为档案补齐。 若安装bash-completion,在某些指令后使用Tab,可以进行选项-参数的补起功能。
-
命令别名设定功能(alias) 加入我们想知道目录底下的所有档案目录,我们就必须下达ls-al这样的指令。有没有更快的操作呢,哈哈,更快的操作就是用alias将命令串缩写为自订的命令。方法是: alias lm=‘ls-al’
-
变数的可变性与便利性
举例来说,我们每个帐号的邮件信箱预设是以MAIL 这个变数来进行存取的, 当dmtsai 这个使用者登入时,他便会取得MAIL 这个变数,而这个变数的内容其实就是/var/ spool/mail/dmtsai, 那如果vbird 登入呢?他取得的MAIL 这个变数的内容其实就是/var/spool/mail/vbird 。而我们使用信件读取指令mail 来读取自己的邮件信箱时,嘿嘿,这支程式可以直接读取MAIL 这个变数的内容, 就能够自动的分辨出属于自己的信箱信件啰!这样一来,设计程式的设计师就更加方便。
变数的取用:echo
操作范例:
定义变数:echo {变数名}