应用程序在最外面,就如同鸡蛋的外壳一样,因此被称呼为shell(壳程序)。其实壳程序的功能只是提供操作系统的一个接口。
应用程序
↓
操作系统(系统呼叫+核心)
↓
硬件
linux预设的shell就是bash
“Tab“:接在一串指令的第一个字的后面,则为命令补全
接在一串指令的第二个字以后时,则为档案补齐
命令别名设定功能:(alias)
查看所有档案(包含隐藏档)及所有的文件属性:ls -al
设置别名命令:alias lm=‘ls -al’
可以在指令列输入alias就可以知道目前的命名别名有哪些。
type [-tpa] name
:1、不加任何选项与参数时,type会显示出name是外部指令还是bash内建指令
2、“-t” :type会将name以底下这些字眼显示出他的意义:
file:表示为外部指令
alias:表示该指令为命令别名所设定的名称
builtin:表示giant指令为bash内建的指令
“-p”:后接name为外部指令时,才会显示完整文件名
“-a”:会由PATH变量定义的路径中,将所有含name的指令都列出来,包含alias
变量的读取与设定:echo unset
利用echo来读取变量,变量在被读取时,前面必须要加上“$” 格式:echo $variable或者echo ${var}
设定和修改变量的内容:格式 :var=内容
如:echo $myname //不显示任何数据,因为这个变量尚未被设定,是空值
myname=Vbird //myname 设定值
echo $myname //显示VBird
注意:在bash当中,当一个变量名称尚未被设定时,预设的内容是“空”
变量设定规则:
1.变量与变量内容以一个等号“=”来连接,且等号两边不能直接接空格符
2.变量名称只能是英文字母与数字,但开头字符不能是数字
3.变量内容若有空格符可使用双引号【“】或者单引号【‘】将变量内容结合起来,但
双引号内的特殊字符如$等,可以保留原来的特性。如[var="lang is $LANG"]则[echo $var]可得[lang is en_US]
单引号内的特殊字符则仅仅为一般字符(纯文本),如[var='lang is $LANG']则[echo $var]可得[lang is $LANG]
4.可用跳脱字符"\"将特殊符号([enter],$,\,空格符,等)变成一般字符
5.在一串指令中,若需借由其他的指令提供的信息,可使用反单引号【`指令`】或【$(指令)】。注:`是键盘上方1左边那个按键,而不是单引号。
【var=$(uname -r)】再【echo $var】可得【2.6.18-128.el5】
6.若该变量为扩增变量内容时,则可用“$变量名称”或${变量}累加内容。如【PATH=“PATH”:/home/bin】
7.若该变量需在其他子程序中执行,则需要以export来使变量变成环境变量:【export PATH】
8.取消变量unset,【unset变量名称】
例:unset myname