bash的快捷键、特殊参数、历史命令、相关文件

时间:2023-03-09 01:18:57
bash的快捷键、特殊参数、历史命令、相关文件

bash快捷键

Emacs风格

ctrl+p: 方向键 上 ↑ 
ctrl+n: 方向键下 ↓ 
ctrl+b: 方向键 ← 
alt+f: 光标右移一个单词 
ctrl+f :方向键 → 
alt+b: 光标左移一个单词 
ctrl+a:光标移到行首 
ctrl+e:光标移到行尾 
ctrl+k:清除光标后至行尾的内容。 
ctrl+d: 删除光标所在字母;注意和backspace以及ctrl+h的区别,这2个是删除光标前的字符 
ctrl+r:搜索之前打过的命令。会有一个提示,根据你输入的关键字进行搜索bash的history 
ctrl+m : 输入回车 
ctrl+i : 输入tab 
ctrl+[ : 输入esc

其它 
ctrl+h:删除光标前一个字符,同 backspace 键相同。 
alt + p 非增量方式反向搜索历史 
alt + > 历史命令列表中的最后一行命令开始向前 
ctrl+u: 清除光标前至行首间的所有内容。 
ctrl+w: 移除光标前的一个单词 
ctrl+t: 交换光标位置前的两个字符 
ctrl+y: 粘贴或者恢复上次的删除 
ctrl+l:清屏,相当于clear。 
ctrl + xx 光标在行头与行尾进行跳转 
alt+r 撤销当前行的所有内容 
ctrl+z : 把当前进程转到后台运行 
ctrl+s : 锁住屏幕 
ctrl+q : 恢复屏幕 
ctrl+v key: 输入特殊字符 
alt + l 将当前光标处之后的字母转化成小写字母 
alt + u 将当前光标处之后的字母转化成大写字母 
ctrl + Alt + e 扩展命令行的内容(例如:ls  =>  ls  -l  --color=tty) 
ctrl+c:杀死当前进程, 输入模式下,中断输入的命令。 
ctrl+d:退出当前 Shell 
esc + . 快捷键可以轮询历史命令的参数或选项。 
esc + t 快捷键可以 置换前两个单词。 
输入重复字母 Esc {100} e 可以输入100个e字符

按多次{esc}可以补全 
{esc}{~}可以补全本机上的用户名 
{esc}{/}可以补全文件名 
{esc}{@}可以补全主机名,localhost可以方便地用 lo补全.

特殊参数

1) $*: 代表所有参数,其间隔为IFS内定参数的第一个字元 
2) $@: 与*星号类同。不同之处在於不参照IFS 
3) $#: 代表参数数量 
4) $?: 执行上一个指令的返回值 
5) $-: 最近执行的foreground pipeline的选项参数 
6) $$: 本身的Process ID 
7) $!: 执行上一个背景指令的PID 
8) $_: 显示出最後一个执行的命令

Bang Bang 历史命令

!!    重新执行上一条命令 
!N  重新执行第N条命令。比如 !3 
!-N 重新执行倒数第N条命令。!-3 
!string  重新执行以字符串打头的命令。 比如 !vim 
!?string?  重新执行包含字符串的命令。 比如 !?test.cpp? 
!?string?%  替换为: 最近包含这个字符串的命令的参数。比如:   vim !?test.cpp?% 
!$   替换为:上一条命令的最后一个参数。比如 vim !$ 
!!string  在上一条命令的后面追加 string ,并执行。 
!Nstring  在第N条指令后面追加string,并执行。 
^old^new^  对上一条指令进行替换 
修饰

:s/old/new/  对第N条指令中第一次出现的new替换为old。 比如 vim !?test.cpp?:s/cpp/c/ 
:gs/old/new/  全部替换 
:wn  w为数字, 取指令的第w个参数. 
:p 回显命令而不是执行, 比如 !ls:p  。 这个很有用, 你可以先查看你选的命令对不对,要执行时再使用!!

Bash相关文件

/etc/profile 设置环境变量(所有用户) 
     ~/.bash_profile 设置环境变量(当前用户) 
     ~/.bashrc 
     ~/.bash_history 
     ~/.bash_logout