bash 的主要优点

1、命令记忆功能

  • 记录在~/.bash_history。要注意的是,本次登录所执行的命令都被暂存在临时内存中,当你成功注销后才写入到文件。

  • 可以使用history命令查看曾经执行的命令
    !number 可以重复执行history命令(number为history命令查询出来的命令序号)

2、命令和文件补全功能([Tab]按键的好处)

  • Tab]接在一串命令的第一个后面,则为命令补全(所以如果想知道系统当中有多少以c开头的命令,可以按下"c[Tab")

  • [Tab]接在一串命令的第二个后面,则为文件补全

3、命令设置别名功能

  • 设置临时别名:alias cls='clear'

  • 设置永久别名:将上述命令保存到~/.bashrc

4、作业控制、前台、后台控制
可以实现单一登录的环境中实现多任务

5、脚本程序(shell script)
非常强大

6、通配符
除了完整的字符串之外,bash还支持许多的通配符来帮助用户查询与命令执行
例如想要知道/usr/bin下面有多少以X开头的文件:
ls -l /usr/bin/X*

变量

1、定义变量
myname=helloworld
这样子就定义好一个变量,可以通过echo $myname或echo ${myname}来打印这个变量

2、取消变量
unset myname即可取消上述设置的变量

3、设置变量的类型
可以用declare来定义变量的类型:declare [-aixr] variable
-a 数组
-i 整形
-x 功能和export一样
-r readonly

4、变量内容的删除、替代与替换

删除与替换

  • ${var#str} 若变量内容从头开始的数据符合关键字,则将符合的最短数据删除

  • ${var##str} 若变量内容从头开始的数据符合关键字,则将符合的最长数据删除

  • ${var%str} 若变量内容从尾向前的数据符合关键字,则将符合的最短数据删除

  • ${var#str} 若变量内容从尾向前的数据符合关键字,则将符合的最短数据删除

  • ${var/str/new_str} 若变量内容符合旧字符串,则将符合的第一个数据删除

  • ${var//str/new_str} 若变量内容符合旧字符串,则将符合的全部数据删除

变量的测试与替换

\1.PNG

3、变量的作用域
上面定义的变量只能在本进程中使用,父进程定义的变量无法再子进程内使用。不过可以通过export将变量变成环境变量后,就能在子进程下面应用了。

环境变量

1、可以用env查看环境变量,下面是一些环境变量的说明:

  • HOME 代表用户的主文件夹

  • SHELL 告知我们目前这个环境使用的shell是哪个程序,默认是/bin/bash

  • PATH 就是执行文件查找的路径,以":"分隔

2、可以用set同时查看环境变量和自定义变量

  • PS1 提示符的设置

  • $ 代表目前这个shell的线程代号

  • ? 关于上一个执行命令的回传码
    当我们执行某些命令时,这些命令都会回传一个执行后的代码。一般来书,如果成功执行改名了,则会回传一个0。

例如:
echo $HOME //打印 /root
echo $? //打印 0

4、终端机的环境设置
stty -a可以列出所有的按键与按键内容
bash默认的组合键:

  • ctrl + c:终止目前的命令

  • ctrl + d:输入结束,例如邮件结束的时候

  • ctrl + m:就是enter

  • ctrl + s:暂停屏幕的输出

  • ctrl + q:恢复屏幕的输出

  • ctrl + u:在命令提示符下,将整行命令删除

  • ctrl + z:暂停目前的命令


bash

登陆发表评论