BASH特性以及使用技巧

前端之家收集整理的这篇文章主要介绍了BASH特性以及使用技巧前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

BASH是系统提供给用户操作设备的程序,BASH本身也是程序。

用户登录系统之后,systemed会为用户打开bash程序。

用户在BASH界面还可以打开子BASH

[root@bobo'machine/etc/etc]$bash
[root@bobo'machine/etc/etc]$


通过pstree可以很容易的发现两个bash之间的关系

[root@bobo'machine/etc/etc]$pstree|grepbash-A1-B1
|`-smbd-notifyd
|-sshd---sshd---bash---bash-+-grep
|`-pstree
[root@bobo'machine/etc/etc]$

子BASH会初始化环境变量

子BASH无法感知的父BASH的存在,也就是说,子BASH和父BASH做的操作互相没有影响


命令行的快速编辑

命令行光标快速跳转

ctrl+a:跳到命令行首

ctrl+e:跳到行尾

ctrl+u:删除光标至命令行首内容

ctrl+k:删除光标至命令行尾内容

ctrl+左右箭头,一次跳一个单词

ctrl+L清屏幕


命令历史的使用技巧

!n:执行命令历史中的第n条命令

!-n:执行命令历史中倒数第n条命令

!!:执行上一条命令

!char:执行命令历史中最近一个给定字符开始的命令

!$:引用上一个命令的最后一个参数

esc,.(esc松开再按.):显示上一个命令的最后一个参数

Alt+.显示上一个命令最后一个参数(改操作只有在terminal下有效)


命令别名:

用法:alias CMALIANS=‘COMMAD [OPTION] [AGRUMENTS]’

unalias撤销别名

在shell中定义的别名只在当前shell的生命周期内有效,别名的有效范围为当前shell进程,可以把alias别名写到/root/.bashrc文件下,让该别名对root用户一直有效

[root@bobo'machine/etc/etc]$cat/root/.bashrc|grepali
#Userspecificaliasesandfunctions
aliasrm='rm-i'
aliascp='cp-i'
aliasmv='mv-i'
[root@bobo'machine/etc/etc]$


命令替换:把命令中的某个字符替换成其执行结果的过程

比如我想用echo 在屏幕上打印出如下内容:我当前所在的路径是XXX

由于XXX是变量,我们可以如下操作

[root@bobo'machine/etc/etc]$echo"mycurrentdirctoryis$(pwd)"
mycurrentdirctoryis/etc

猜你在找的Bash相关文章