10.1.4:Bash shell的功能
- 命令别名设定功能:(
alias
)
例如我们可以将ls -al
设置别名alias lm = 'ls -al'
就可以使用lm
来取代ls -al
了
10.1.5:查询指令是否为Bash shell的内建命令:type
10.1.6 指令的下达与快速编辑按钮
10.2:Shell的变量功能
10.2.2:变量的取用与设定:echo
,变量设定规则,unset
- 使用
echo $变量名
或者echo ${变量名}
输出变量内容 - 变量内容若有空格可使用双引号【"】或单引号【’】将变量内容结合起来,但1: 双引号内的特殊字符如$等,可以保有原本的特性,如
var="lang is $LANG"
则echo $var
输出lang is en_US.UTF-8
,2: 单引号内的特殊字符则仅为一般字符(纯文本) - 取消变量的方法为使用
unset 变量名称
- 若该变量为扩增变量内容时,则可以使用“
$变量名称
”累加内容,如PATH=$PATH:/home/dmtsai/bin
- 如果你有个常去的工作目录很长,这个时候使用变量名设定,然后使用
cd $变量名
进入即可
10.2.3:环境变量的功能
- 用
env
观察环境变量 - 用set观察所有变量(含所环境变量与自定义变量)
?
:(关于上个指令的回传值)使用echo $?
回传回上个指令的执行情况,0为成功export
:自定义变量转成环境变量(子程序仅继承父程序的环境变量,子程序不会继承父程序的自定义变量),如果想将自定义变量转成环境变量就使用export 变量名称
10.2.4:影响显示结果的语系变量(locale)
10.2.5:变量的有效范围
10.2.6:变量键盘读取,数组与宣告:read,array,declare
read
declare/typeset
10.2.7:与文件系统及程序的限制关系:ulimit
bash
是可以【限制用户的某些系统资源】的,包括可以开启的文件数量,可以使用的CPU时间,可以使用的的内存总量
10.2.8:变量内容的删除、取代与替换
从前面往后面删除
10.3:命令别名与历史命令
10.3.1 命令别名设定:alias
,unalias
10.3.2 历史命令:history
history命令带有的参数含义
同一账号多次登入的history:最后注销的那个bash才会是最后写入的数据
10.4:Bash Shell的操作环境
10.4.3:bash的环境配置文件
- source:读入环境配置文件的指令:利用
.
或者source
都可以将配置文件的内容读进目前的shell环境中
10.4.4, 终端机的环境设定:stty,set
10.5:数据流重导向
/dev/null
垃圾桶黑洞装置与特殊写法- standard input:
<
与<<
为将原本需要由键盘输入的数据,改为由文件内容分来取代的意思,其中<<
代表是【结束的输入字符】的意思
10.5.2 命令执行的判断依据:;,&&,||
$?
(指令回传值)与&&
或||
10.6 管线命令(pipe)
- 管线命令
|
仅能处理经由前面一个指令传来的正确信息,也及时standart output的信息,对于standard error并没有直接处理的能力。 - 管线命令必须要能够接收来自前一个指令的数据成为standard input继续处理才行
10.6.1 撷取命令:cut
,grep
cut
是将一行讯息当中,取出某部分我们想要的
grep
是分析一行讯息,若当中有我们所需要的信息,就将该行拿出来
10.6.2 排序命令:sort
,wc
,uniq
sort
uniq
wc
用于统计文件里面有多少字,多少行,多少字符
10.6.3 双向重导向:tee
tee会同时将数据流分送到文件与屏幕
10.6.4 字符转换命令:tr
,col
,join
,paste
,expand
tr
可以用来删除一段讯息中的文字,或者是进行文字讯息的替换
col
将【tab】按键取代为空格键
join
:两个文件当中,有相同数据的那一行,才将他加在一起
paste
:将两行贴在一起,且中间以【tab】键隔开
expand
:将【tab】按键转成空格键
10.6.5 分区命令:split
10.6.6 参数代换:xargs
- 产生某个指令的参数的意思