Linux 命令行快捷键

 在 Linux 下使用命令操作的时候,光标的移动令人头痛。命令输入完了,执行之后发现缺少权限,然后不得不移动光标到行首,而命令又极长……

以下是一些每个 Linux 用户必须了解的键盘快捷键。它可以帮助我们在linux命令行下快速移动光标、编辑命令、编辑后执行历史命令、Bang(!)命令、控制命令等。使用命令行时,这些 Linux 快捷键将按照我们的需求实现光标的迅捷移动和和命令的快速操作,提升你的学习和工作效率。

############################################################################################################

Ctrl是以字段为处理单位,Alt是以单词为处理单位。

Shift + a(小写字母)= A(大写字母)

Alt + num 同时存在几个终端时,快速切换不同的终端

############################################################################################################

移动光标 (不区分大小写):

Ctrl + a (Ahead of line)假设你在终端输入了一个很长的命令或路径,并且你想要回到它的开头, 使用方向键移动光标将花费大量时间。因为你无法使用鼠标移动光标到行首。这时我们可以使用Ctrl + a 把光标跳回当前行行首,即 Home 键,它在多数文本编辑器和 Mozilla 的 URL 字段内可以使用。

Ctrl + e  (End of line)这对快捷键与 Ctrl+a 相反, Ctrl+a 送光标到行首,反之Ctrl+e 光标移动到行尾,即 End 键。 Ctrl+e把光标跳到当前行的结尾;它在多数文本编辑器和 Mozilla 的 URL 字段内都可使用。

Ctrl + b (Backward)光标往回(左)移动一个字符位置,和左箭头作用一样。

Ctrl + f  (Forward)光标向前(右)移动一个字符位置,和右箭头作用一样。

######################################################

Ctrl + ←  光标向左移动一个单词

Alt + b (Backward)光标往回移动的一个单词(到左边)

Alt + b=Ctrl + ← 光标往回移动一个单词(到左边)

Esc+b (Backward)光标往回(左)移动一个单词,移动到当前单词的开头

==============================================

Ctrl + → 光标向右移动一个单词

Alt + f (Forward) 光标向前移动的一个单词(到右边)

Alt + f=Ctrl + → 光标向前移动一个单词 (到右边)

Esc+f (Forward)光标往前(右)移动一个单词,移动到当前单词的结尾  

Ctrl + ← →  光标在单词之间来回跳转

######################################################

N++F 光标后移 N 个单词,N 为 1 时可省略 ??

N++B 光标前移 N 个单词,N 为 1 时可省略 ??

######################################################

######################################################

Bang(!)命令

history  显示命令历史。在 shell 提示中键入它来显示你所键入的被编号的前 1000 个命令。要显示较短的命令历史,键入 history 之后,空一格,在键入一个数字。例如: history 20 。

!num    执行历史命令列表(history)的第num条命令,num代指任何数字(前提是历史命令里必须存在)

!!            执行上一条命令

^abc        删除上一条命令中的abc

^abc ^bcd  将上一条命令中的第一个abc替换成为bcd

^abc^bcd^ 将上⼀条命令中所有的abc都替换为bcd

! abc         执行以abc开头的文件

! abc 这是一个例子,是执行最近的以abc开头的命令,这里的abc可以换成任何已经执行过的字符

!?abc?    执行含有abc字符串的最新命令

!abc:p       这是一个例子,是仅打印以abc开头的命令,但不执行,最后的那个“p”是命令固定字符 ️

!$      代指上一条命令的最后一个参数,与 Alt+. 和 $_ 相同。该命令常用于shell脚本中

!abc  !$  执行命令abc,并以上一条命令的参数为其参数

!*          表示上一行命令的所有参数。

!*:p        打印上一条命令的所有参数,也即 !*的内容。

!-n:p 打印上一条命令(不执行)

!-n        执行前n条命令

!-n        倒数第 n 条历史命令

!-n:gs/abc/bcd/   将倒数第n条命令的abc替换为bcd,并执行(若不加g,则仅替换第一个)

!-1      执行上一条命令

!-5     执行前5条命令

######################################################

######################################################

编辑命令

Ctrl + u

输入了错误的命令怎么办? 代替用退格键来丢弃当前命令,使用 linux 终端中的 Ctrl+u 快捷键。 该快捷键会剪切(擦除)从当前光标位置到行首的全部内容。剪切命令行中光标所在处之前的所有字符(不包括自身)vim 里也可

Ctrl + k

这对和 Ctrl+u 快捷键有点像。 唯一的不同在于不是行首,它剪切(擦除)的是从当前光标位置到行尾的全部内容。Ctrl+k 清除光标到行尾的字符,意思是剪切(擦除)命令行中光标右边的所有字符(包括自身) ,直到该行结束。

Ctrl + l

你怎么清空你的终端屏幕?我猜是用 clear 命令。

你可以使用 Ctrl+l 清空终端,代替输入 C+l+E+A+R。得心应手,不是吗?

这是 Ctrl+l节省时间的地方。清楚屏幕所有的内容,并开启一个新的一行,移动光标到左上角。代替clear 命令完成同样的工作。

clear=清除 shell 提示屏幕。在命令行下键入它会清除所有这个 shell 提示屏

幕中显示的数据。

Ctrl + h 删除光标所在处前面(左边的)一个字符,相当于 Backspace 退格键

Ctrl + d  删除光标所在处一个字符,即 Delete 键 (命令行若无字符,相当于 exit; 处理多行标准输入时也表示 EOF)。注意他和backspace以及ctrl+h的区别,这2个是删除光标前的字符

Ctrl+w 你刚才了解了擦除到行首和行尾的文本。 但如果你只需要删除一个单词呢?使用 Ctrl+w 快捷键,你可以擦除光标位置前的单词。 如果光标在一个单词本身上,它将擦除从光标位置到词首的全部字母。最好的方法是用它移动光标到要删除单词后的一个空格上, 然后使用 Ctrl+w 。

Ctrl + w 剪切删除从光标位置前到当前所处单词(Word)的开头,剪切删除光标左边的一个词(以空格、标点 2 等为分隔符)

Alt + Backspace 与 Ctrl + w 类似,分隔符有些差别

Alt+d 由光标位置开始,往右剪切删除光标右边的一个单词,往行尾删

Ctrl + y

这将粘贴使用 Ctrl+w,Ctrl+u 和 Ctrl+k 快捷键擦除的文本。 如果你删除了错误的文本或需要在某处使用已擦除的文本,这将派上用场。Ctrl+y 粘贴之前 Ctrl+u 或者 Ctrl+w 类命令删除的字符,是粘贴不是撤销

Ctrl+t 交换(颠倒)光标所在处及其之前的字符位置,并将光标移动到下一个字符

Alt+t 交换当前与以前单词的位置

Esc+t 交换颠倒光标所在处及其相邻单词的位置

Esc+d由光标位置开始,删除光标后(右边的)的一个单词,直到该单词结束。  

Alt+d由光标位置开始,删除光标后(右边的)的一个单词,直到该单词结束。

Esc+w 删除光标所在处之前的字符至其单词尾(以空格、标点等为分隔符)

Ctrl+(x u) 按住Ctrl的同时再先后按x和u,撤销刚才的操作

Alt+u 把当前单词光标自身及之后的字母全部转变为大写,到下一个空格结束

Alt+l 把当前单词光标自身及之后的字母全部转变为小写,到下一个空格结束

Shift + a(小写字母) = A(大写字母)

Alt+c 把当前词汇变成首字符大写  ?

Ctrl + _  回复之前的状态。撤销操作。 ?

ctrl+insert //复制命令行内容(mac系统不能使用) ?

shift+insert //粘贴命令行内容(mac系统不能使用) ?

######################################################

######################################################

查找历史命令

首先说说历史记录个数的 “HISTFILESIZE”>

默认情况下 HISTFILESIZE 和 HISTSIZE的值都是 500,表示可以记录 500 条命令记录。

· HISTFILESIZE 表示记录在文件中的命令条数

· HISTSIZE 表示记录在内存中的命令条数

当我们在 shell 命令行执行命令的时候,最近的 HISTSIZE 条命令被保存在内存当中可以使用上下光标或者 ctrl+p,ctrl+n 上下查找命令。

当退出 shell 时 HISTFILESIZE 条命令被保存到历史命令文件中,下次登录 shell 时会从历史命令文件中读取命令道内存历史命令道中。

当网络中断等异常时,你会发现之前的历史命令,下次登录时用上下光标找不到上次的历史命令,所以要正常退出或者发送探测包保持 shell 在线。

如果想增加历史命令保存的数量,可以在 ~/.bash_profile 中手动修改 HISTFILESIZE 和 HISTSIZE 这两个变量的值。

history  显示命令历史。在 shell 提示中键入它来显示你所键入的被编号的前 1000 个命令。要显示较短的命令历史,键入 history 之后,空一格,在键入一个数字。例如: history 20 。

上下箭头↑↓ 显示命令历史。当你使用 shell 提示时,按↑↓ 来前后查看你在当前目录下键入的命令历史。当你看到你想使用的命令时,按Enter键。

Ctrl+r 搜索历史命令,输入Ctrl+r,命令行会显示(reverse-i-search)`’:

在:后输入若干字符,开始向上搜索包含该字符的命令,终端会会显示包含该字符的一条命令。继续按Ctrl+r,搜索上一条匹配的命令,这时在命令行按Enter键则执行选择命令;按ESC键则在命令行显示而不执行匹配命令。

Ctrl+s 与Ctrl+r类似,只是正向检索  ?

Ctrl+g 从ctrl+r的搜索历史命令模式中退出

Ctrl+p 调出(显示)命令历史中的前一条(Previous)命令,相当于通常的上箭头↑。(与 history连用) 。Ctrl+p你可以使用该快捷键来查看上一个命令。 你可以反复按该键来返回到历史命令。 在很多终端里,使用 PgUp 键来实现相同的功能。

你可以结合 Ctrl+p 使用该快捷键。

Ctrl+n 显示下一个命令。 如果使用 Ctrl+p 查看上一条命令,你可以使用 Ctrl+n 来回导航。 许多终端都把此快捷键映射到 PgDn 键。

up-arrow 开始历史命令搜索。

Alt+<历史列表第一项

Alt+>历史列表最后一项

Alt + . 使用上⼀条命令的最后⼀个参数(会直接在当前光标位置显示)

esc+. 注意那个” .“ 意思是获取上一条命令的(以空格为分隔符)最后的部分?

exit=注销。在 shell 提示中键入它会注销当前的用户或根用户账号。

reset=刷新 shell 提示屏幕。如果字符不清晰或乱码的话,在 shell 提示下键

入这个命令会刷新屏幕。

重复执行操作动作

·Esc + 操作次数 操作动作  –指定操作次数,重复执行指定的操作。

######################################################

######################################################

控制命令

Tab=命令行自动补全

这是你不能没有的 Linux 快捷键。它将节省你 Linux 命令行中的大量时间。只需要输入一个命令,文件名,目录名甚至是命令选项的开头,并敲击 tab 键。 它将自动完成你输入的内容,或为你显示全部可能的结果。如果你只记一个快捷键,这将是必选的一个。

[Tab] 使用 shell 提示时可使用这一命令。键入命令或文件名的前几个字符,然后按 [Tab] 键,它会自动补全命令或显示匹配你键入字符的所有命令。

[鼠标中间键] = 粘贴突出显示的文本。使用鼠标左键来突出显示文本。把光标指向你想粘贴文本的地方。点击鼠标中间键来粘贴它。在两键鼠标系统中,如果你把鼠标配置成模拟第三键,你可以同时点击鼠标的左右两键来执行粘贴。

Alt+Tab=在图形化桌面环境中切换任务。如果你同时打开了不止一个应用程

序,你可以使用 Alt+Tab 来在打开的任务和应用程序切换 比如在word 和终端中切换

Ctrl+Alt+Backspace 杀死你当前的 X 会话。杀死图形化桌面会话,把你返回 到登录屏幕。如果正常退出步骤不起作用,你可以使这种方法。

Ctrl+Alt+Delete=关机和重新引导 Red Hat Linux。关闭你当前的会话然后

重新引导 OS。只有在正常关机步骤不起作用时才使用这方法。

Ctrl+Alt+Del:挂起或者重新启动系统,这三个 Linux 命令行按键在 Linux 下可以轻松地修改成关机的操作,这对于单用户的朋友还是很方便的

Ctrl+Alt+Fn=切换屏幕。

Ctrl+Alt+功能键之一 (F1 到 F7)会显示一个新屏幕。根据默认设置,从 F1

到 F6 是 shell 提示屏幕,F7 是图化屏幕。

[Ctrl] + [Alt] + 功能键之一会显示一个新屏幕。根据默认设置,从 [F1] 到 [F6] 是 shell 提示屏幕, [F7] 是图形化屏幕。

Shell ^S、^Q、^C、^Z 是由终端设备处理的,可用 stty 命令设置

Ctrl + d

这对键盘快捷键将使你退出当前终端。如果你使用 ssh 连接,它将会关闭。使用该快捷键,你就不必键入 exit 或 logout。如果是切换过来的用户,则执行这个命令回退到原用户。如果你直接使用一个终端,该应用将会立刻关闭。把它当成“退出”命令。

[ctrl+d ( 退出当前shell命令行,如果您正在使用 shell 的话)(从 shell 提示中注销(并关闭)]

Ctrl + c

这些是为了在终端上中断命令或进程该按的键。它将立刻终止运行的程序。如果你想要停止使用一个正在后台运行的程序,只需按下这对组合键。

Ctrl + c  取消当前行输入的命令;杀死当前进程;中断终端正在执行的任务并开启一个新的一行;终止当前正在运行的程序;相当于Ctrl + Break

Ctrl+o 执行当前命令,并选择上⼀条命令

Ctrl + z

该快捷键将正在运行的程序送到后台。 通常,你可以在使用 & 选项运行程序前之完成该操作, 但是如果你忘记使用选项运行程序,就使用这对组合键。

Ctrl+z 把当前进程转到后台运行,使用fg命令恢复。比如top -d1 然后Ctrl+z 到后台,然后fg,重新恢复

Ctrl+z 暂停在终端运行的任务,挂起命令,把当前进程转到后台运行使用”fg”命令可以使暂停恢复

Ctrl+s

锁定终端,使之任何人无法输入

屏蔽回显:停止向屏幕输出;阻止屏幕输出(当前正在执行的命令不在打印信息)

挂 起当前 shell

Ctrl+s 命令后,可以⽤Ctrl+q 恢复

Ctrl+r 类似,只是正向检索

Ctrl+q

解锁Ctrl+s的锁定状态

重新激活向屏幕输出,允许屏幕输出

重新启用挂起的shell

Ctrl+v

输入控制字符 如 Ctrl+v,会输入^M

插入特殊字符,如 Ctrl+v+Tab :加入 Tab 字符键输入 TAB 而不是扩展命令行。

############################################################################################################Left-click-and-drag mouse:选择并且拷贝到剪贴板。

Click middle mouse button:使用剪贴板的内容粘贴。

Meta-key(Emacs terminology)传统的是使用 Left-Alt-key

    原文作者:LostAmor
    原文地址: https://blog.csdn.net/m0_69467866/article/details/125195338
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞