linux 终端高效快捷键,bash快捷组合

ctrl + e  跳到命令行最末端

ctrl + a  跳到命令行首端

ctrl + l  清屏

alt + n(n 为数字) 切换到terminal相应的tab

mv xxx{,.bak} 等同于mv xxx xxx.bak

esc + . 能填充之前命令的最后一个字段


vim编辑文件后发现需要root权限, 

:w | sudo tee % 。(w:表示vim的修改操作,这个命令的输出更改后的文件到“标准输出”  !sudo tee % :执行 一个 shell 命令, % 表示当前打开的这个文件的名字。  整个命令就是 将w的输出传给 tee,tee 在root 权限下 把更改的内容存在文件当中。)


sudo !!用sudo执行上条命令

!!全部的上一条命令

!*上一条的全部命令

!$ 上一行命令的 最后一个参数

 

$()和${}的用法:

在 bash shell 中,$( ) 与 ` ` (反引号) 都是用来做命令替换用(command substitution)的。而 $( ) 并不见的每一种 shell 都能使用,若你用 bash2 的话,肯定没问题...

 

看 ${ } 吧... 它其实就是用来作变量替换用的啦。一般情况下,$var 与 ${var} 并没有啥不一样。但是用 ${ } 会比较精确的界定变量名称的范围

 

${#var} 可计算出变量值的长度。 var="/bin/bash", echo ${#var}, 结果显示是:9

 

我这里再用一些例子加以说明 ${ } 的一些特异功能:

假设我们定义了一个变量为:

file=/home/yhsd/dir/my.file.txt

我们可以用 ${ } 分别替换获得不同的值:

${file#*/}:拿掉第一条 / 及其左边的字符串:home/yhsd/dir/my.file.txt

${file##*/}:拿掉最后一条 / 及其左边的字符串:my.file.txt

${file#*.}:拿掉第一个 . 及其左边的字符串:file.txt

${file##*.}:拿掉最后一个 . 及其左边的字符串:txt

${file%/*}:拿掉最后条 / 及其右边的字符串:/home/yhsd/dir

${file%%/*}:拿掉第一条 / 及其右边的字符串:(空值)

${file%.*}:拿掉最后一个 . 及其右边的字符串:/home/yhsd/dir/my.file

${file%%.*}:拿掉第一个 . 及其右边的字符串:/home/yhsd/dirmy

记忆的方法为:

# 是去掉左边(在鉴盘上 # 在 $ 之左边)

% 是去掉右边(在鉴盘上 % 在 $ 之右边)

 

$(())的用途:它是用来作整数运算的,例如:echo $(( a + b*c))

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章