BASH基础
2018-12-05 本文已影响0人
yousiku
操作技巧
命令与文件补全
使用[Tab]
键可以实现命令或文件名补全:
- 在输入指令的第一个单词时按下
[Tab]
为命令补全,会显示出以当前输入字母开头的所有指令:
命令补全.gif - 从输入指令的第二个单词及以后时按下
[Tab]
为文件补全,若当前目录下有以刚输入的字母开头的文件,则将该文件名补全。如,当目录下有fristfile, secondfile, thirdfile三个文件时:
文件补全.gif
指令的快速编辑
使用\[Enter]
键换行
我们知道在命令行中敲[Enter]
回车键是执行指令的意思,但是如果指令过长想要分多行输入指令怎么半?在敲回车键之前输入\
实现:
快速修改/编辑指令
如果我们在输入了一长串指令后发现指令开头的地方有个字母写错了,这个时候怎么办?比较笨的办法就是将光标一直向前移到写错的位置修改,但是其实我们可以使用组合按键辅助移动光标或修改指令:
-
[Ctrl]+a
将光标移到指令最前面 -
[Ctrl]+e
将光标移到指令最后面 -
[Ctrl]+u
删除光标位置之前的指令 -
[Ctrl]+k
删除光标位置之后的指令
常用指令
echo, unset
echo
指令用于读取变量,unset
指令用于取消设置的变量
使用echo $变量名
或echo ${变量名}
读取变量:
[yousiku@localhost ~]$ echo $HOME
/home/yousiku
读取一个不存在的变量默认为空:
[yousiku@localhost ~]$ echo $myname
[yousiku@localhost ~]$
使用变量名=变量值
设置变量,其中变量名只能是英文字母与数字,且开头不能是数字。须注意=
两边不能有空格:
[yousiku@localhost ~]$ myname=yzj
[yousiku@localhost ~]$ echo $myname
yzj
设置变量时若变量值中含有空格须用单引号或双印号括起来:
[yousiku@localhost ~]$ myname=y z j
bash: z: 未找到命令
[yousiku@localhost ~]$ myname="y z j"
[yousiku@localhost ~]$ echo $myname
y z j
若变量值中有特殊字符如$
,用双引号时会保留特殊字符原有的特性:
[yousiku@localhost ~]$ mynewname="yzj$myname"
[yousiku@localhost ~]$ echo $mynewname
yzjy z j
若想在变量值中保留特殊字符则应使用单引号:
[yousiku@localhost ~]$ mynewname='yzj$myname'
[yousiku@localhost ~]$ echo $mynewname
yzj$myname
使用unset 变量名
取消变量设置
[yousiku@localhost ~]$ unset myname
[yousiku@localhost ~]$ echo $myname
[yousiku@localhost ~]$
env, export
env
指令列出当前的所有环境变量,而通过export 变量名
可以将局部变量变为环境变量,export 变量名=变量值
设置环境变量
history
列出历史指令列表,常用参数:
-
数字
: 列出最近指定数字的指令条数 -
-c
: 清除所有指令记录
[yousiku@localhost ~]$ history 5
446 mynewname='yzj$myname'
447 echo $mynewname
448 env
449 history
450 history 5
[yousiku@localhost ~]$ history -c
[yousiku@localhost ~]$ history 5
1 history 5