您的位置:首页 > 运维架构 > Shell

BASH命令和SHELL脚本总结(13)BASH中的快捷键和简写

2013-02-16 11:27 639 查看
1. 常用快捷键列表

1

Alt + .

上一条命令的最后一个参数

7

Ctr + e

移动光标到行尾

2

Ctr + f

向前(Forward)移动一个字符

8

Ctr + d

向前删一个单词

3

Ctr + b

向后(Backward)移动一个字符

9

Ctr + k

删除当前光标到行尾的字符

4

Alt + f

向前移动一个单词

10

Ctr + u

删除当前光标到行首的字符

5

Alt + b

向后移动一个单词

11

tab

补齐

6

Ctr + a

移动光标到行首

2 使用Alt + .来代替上一条命令的参数

mkdir –p abc1/abc2/abc3
cd –p abc1/abc2/abc3


可以简写为

mkdir –p abc1/abc2/abc3
cd Alt + .


3 组合使用通配符*和tab来补齐参数

假设当前目录下有个文件夹叫做StringUtil,我现在想进入这个文件夹但是敲打完整的名字太麻烦。那么可以使用通配*和tab来简化。

cd *tringU*

然后按住Tab,屏幕提示将自动变化为

cd StringUtil/


4 组合使用通配符和引号表示多个文件

现在想用脚本a.sh来处理多个文件,他们分别是

/data2/ data_log_20130115.1200
/data2/ data_log_20130115.1205
/data2/ data_log_20130115.1210

…

/data2/ data_log_20130115.1245
/data2/ data_log_20130115.1250
/data2/ data_log_20130115.1255


可以在引号中使用通配符,将参数传入脚本。这样引号内的变量会自动展开:

sh a.sh "/data2/ data_log_20130115.12*"


5使用进程替换(ProcessSubstitution)

比较两个目录dir1和dir2中的文件的不同,常见方法是,

ls dir1 > 1.txt
ls dir2 > 2.txt
diff 1.txt 2.txt


这个方法可以简写为

diff  <(ls dir1)  <(ls dir2)

语法<(command)代表进程替换。 <(command)表示把command的输出生成一个临时文件,并把这个文件名作为另外一个命令的参数。对于上面的命令, 就是把”ls dir1″命令的输出生成一个临时文件, 并把临时文件名做为diff命令的第一个参数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: