Bash技巧和窍门
嘻嘻发布于2020-08-09
最后更新于2020年8月2日
浏览文章目录
在大多数现代Linux发行版中,bash(Bourne Again Shell)是默认的shell。bash内置了许多功能和选项,可帮助您提高命令行效率。Bash技巧和窍门有很多,这里只列举常见的用法,提高生产效率。
快捷键绑定
鼠标的发明提高了用户效率,但仅在图形用户界面中有效。在终端上,键盘快捷键为王。Bash有许多键盘快捷键(按键绑定),可用于轻松高效地在终端上移动。如果您习惯于使用这些绑定,您会注意到您的生产率飞速增长。
要列出所有键绑定,请使用带有-P选项的bind命令。
$ bind -P
"\C-g": abort
"\C-x\C-g": abort
"\e\C-g": abort
"\C-j": accept-line
"\C-m": accept-line
# alias-expand-line (not bound)
# arrow-key-prefix (not bound)
# backward-byte (not bound)
"\C-b": backward-char
"\eOD": backward-char
"\e[D": backward-char
"\C-h": backward-delete-char
"\C-?": backward-delete-char
"\C-x\C-?": backward-kill-line
"\e\C-h": backward-kill-word
"\e\C-?": backward-kill-word
移动光标
CTRL + A =将光标移至行的开头
CTRL + E =将光标移至行的末尾
ALT + F =向前移动一个单词
ALT + B =向后移动一个单词
文字编辑
CTRL + L =清除屏幕(不会清除当前命令)
ALT + U =光标后大写字母
ALT + L = 光标后小写字母
进程控制
CTRL + C =中断当前正在运行的进程
CTRL + S =停止输出到屏幕
CTRL + Q =恢复输出到屏幕
CTRL + Z =暂停当前进程,使用“ fg”返回到当前进程。
历史命令
Bash会保留您输入的每个命令的运行记录。此bash历史记录可让您重复或重用旧的命令或参数
重复上一条命令
如果要重复上一个命令,只需使用!!代号。
bash-3.2$ ls
a.out
bash-3.2$ !!
ls
a.out
重复以特定字符串开头的最后一个命令
您可以使用!
bash-3.2$ echo "data"
data
bash-3.2$ !ec
echo "data"
data
bash-3.2$
重用最后一个命令的参数
您可以使用!$或!!:1指示符从最后一个命令中检索自变量。
bash-3.2$ ls a.php
a.php
bash-3.2$ cat !$
cat a.php
<?php
$a = 10;
?>
bash-3.2$
使用命令别名
使用alias命令可以定义命令快捷方式。这些快捷方式可以指向带有您喜欢的参数的单个命令,也可以指向一长串命令。
alias ll="ls -al"
指令替换
通过命令替换,您可以在另一个命令内部使用命令的输出.
$ today=$(date +%m-%d-%Y)
$ echo $today
快捷导航文件系统
返回主目录
cd ~
返回上一个目录
cd -