BASH基础

操作技巧

命令与文件补全

使用[Tab]键可以实现命令或文件名补全:

  • 在输入指令的第一个单词时按下[Tab]为命令补全,会显示出以当前输入字母开头的所有指令:
    BASH基础_第1张图片
    命令补全.gif
  • 从输入指令的第二个单词及以后时按下[Tab]为文件补全,若当前目录下有以刚输入的字母开头的文件,则将该文件名补全。如,当目录下有fristfile, secondfile, thirdfile三个文件时:
    BASH基础_第2张图片
    文件补全.gif

指令的快速编辑

使用\[Enter]键换行

我们知道在命令行中敲[Enter]回车键是执行指令的意思,但是如果指令过长想要分多行输入指令怎么半?在敲回车键之前输入\实现:

BASH基础_第3张图片
指令换行.gif

快速修改/编辑指令

如果我们在输入了一长串指令后发现指令开头的地方有个字母写错了,这个时候怎么办?比较笨的办法就是将光标一直向前移到写错的位置修改,但是其实我们可以使用组合按键辅助移动光标或修改指令:

  • [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

你可能感兴趣的:(BASH基础)