Linux快捷键及History用法

发布时间 2023-10-12 12:17:44作者: 这是个佚名

Linux快捷键及History用法

1.bash的快捷键

Ctrl + l 清屏,相当于clear命令

Ctrl + o 执行当前命令,并重新显示本命令

Ctrl + s 阻止屏幕输出,锁定

Ctrl + q 允许屏幕输出,解锁

Ctrl + c 终止命令

Ctrl + z 挂起命令

Ctrl + a 光标移到命令行首,相当于Home
Ctrl + e 光标移到命令行尾,相当于End
Ctrl + f 光标向右移动一个字符

Ctrl + b 光标向左移动一个字符

Ctrl + xx 光标在命令行首和光标之间移动

Alt + f 光标向右移动一个单词尾

Alt + b 光标向左移动一个单词首

Ctrl + u 从光标处删除至命令行首

Ctrl + k 从光标处删除至命令行尾

Alt + r     删除当前整行

Ctrl + w 从光标处向左删除至单词首

Alt + d 从光标处向右删除至单词尾

Alt + Backspace 删除左边单词

Ctrl + d 删除光标处的一个字符

Ctrl + h 删除光标前的一个字符

Ctrl + y 将删除的字符粘贴至光标后

Alt + c 从光标处开始向右更改为首字母大写的单词

Alt + u 从光标处开始,将右边一个单词更改为大写

Alt + l 从光标处开始,将右边一个单词更改为小写

Ctrl + t 交换光标处和之前的字符位置

Alt + t 交换光标处和之前的单词位置

Alt + # 提示输入指定字符后,重复显示该字符#次

注意:Alt 组合快捷键经常和其它软件冲突
范例:xshell中启动 alt 键

2.命令行历史

利用历史命令可以重复执行命令,提高执行效率。

命令:history

history [-c] [-d offset] [n] 
history -anrw [filename] 
history -ps arg [arg...]

常用选项:

  • -c: 清空命令历史

  • -d offset: 删除历史中指定的第offset个命令

  • n: 显示最近的n条历史

  • -a: 追加本次会话新执行的命令历史列表至历史文件

  • -r: 读历史文件附加到历史列表

  • -w: 保存历史列表到指定的历史文件

  • -n: 读历史文件中未读过的行到历史列表

  • -p: 展开历史参数成多行,但不存在历史列表中

  • -s: 展开历史参数成一行,附加在历史列表后

命令历史相关环境变量

HISTSIZE:命令历史记录的条数

HISTFILE:指定历史文件,默认为~/.bash_history
HISTFILESIZE:命令历史文件记录历史的条数

HISTTIMEFORMAT="%F %T `whoami` "   显示时间和用户

HISTIGNORE="str1:str2*:…" 忽略str1命令,str2开头的历史

HISTCONTROL:控制命令历史的记录方式

ignoredups 是默认值,可忽略重复的命令,连续且相同为“重复”
ignorespace 忽略所有以空白开头的命令

ignoreboth   相当于ignoredups, ignorespace的组合

erasedups   删除重复命令

2.1、调用命令行历史

#重复前一个命令方法

重复前一个命令使用上方向键,并回车执行
按 !! 并回车执行
输入!-1 并回车执行
按 Ctrl+p 并回车执行

!:0 执行前一条命令(去除参数)

!n 执行history命令输出对应序号n的命令

!-n 执行history历史中倒数第n个命令

!string 重复前一个以“string”开头的命令

!?string 重复前一个包含string的命令

!string:p 仅打印命令历史,而不执行

!$:p 打印输出 !$ (上一条命令的最后一个参数)的内容

!*:p 打印输出 !*(上一条命令的所有参数)的内容

^string 删除上一条命令中的第一个string
^string1^string2 将上一条命令中的第一个string1替换为string2
!:gs/string1/string2 将上一条命令中所有的string1都替换为 string2

使用up(向上)和down(向下)键来上下浏览从前输入的命令

ctrl-r来在命令历史中搜索命令
(reverse-i-search)`’:

Ctrl+g:从历史搜索模式退出

#要重新调用前一个命令中最后一个参数

!$ 表示前一个命令中最后一个参数

Esc, .   点击Esc键后松开,然后点击 . 键

Alt+ .   按住Alt键的同时点击 . 键

command !^   利用上一个命令的第一个参数做command的参数

command !$   利用上一个命令的最后一个参数做command的参数

command !*   利用上一个命令的全部参数做command的参数

command !:n 利用上一个命令的第n个参数做command的参数

command !n:^ 调用第n条命令的第一个参数

command !n:$ 调用第n条命令的最后一个参数

command !n:m 调用第n条命令的第m个参数

command !n:* 调用第n条命令的所有参数

command !string:^ 从命令历史中搜索以 string 开头的命令,并获取它的第一个参数

command !string:$ 从命令历史中搜索以 string 开头的命令,并获取它的最后一个参数

command !string:n 从命令历史中搜索以 string 开头的命令,并获取它的第n个参数

command !string:* 从命令历史中搜索以 string 开头的命令,并获取它的所有参数