Linux高效操作-快捷键

logo.png

简书不维护了,欢迎关注我的知乎:波罗学的个人主页

一篇非常注重实践的技术文,主要关于如何在linux下实现高效快速的命令行操作, 希望大家能从中真正体悟出命令行与图形化操作的效率差异! 关于命令行与图形化的话题,网上也有很多的讨论,各执一词,不论谁对说错,主要还是场景不同, 而且有些快捷键也是特定历史时期下的产物。

下面先梳理一下大纲,看看涉及到的内容,命令行快捷键能为我们做到什么?
快捷移动, 包括单字符移动, 单词移动, 行首行尾移动等;

  • 快捷删除, 包括字符删除, 单词删除, 行删除等;
  • 快捷输入, 包括快捷粘贴, 历史查询, 大小写切换等;
  • 还有其他一些快捷操作, 如清屏, shell冻结, 解冻;
  • 还有更强大的功能, 类vi模式的操作;

为了更好的体验命令快捷键带来的便捷快感, 实践是第一位的.
所以, 首先需要新建一些用于测试的文件:
mkdir test cd test
mkdir {a,b,c,exam}_fast_operation mkdir exam_fast_input afile bfile

一 快捷移动

快捷移动, 包括单字符移动, 单词移动, 行首行尾移动等.

  1. 单字符移动
    ctrl+b 向左移动一个字符, back
    ctrl+f 向右移动一个字符, front
    字符移动快捷键, 对比方向键, 可能大家认为多此一举. 但是, 在特定历史时期, 键盘是不存在专门的方向键的, 如果大家熟悉vi, 其中的移动方向键就是由HJKL替代的;
    实例: 无

  2. 单词移动
    alt+b 提示符向左移动一个单词, back
    alt+f 提示符向右移动一个单词, front
    注: mac下面使用esc替代alt;
    单词移动, 这个功能比较实用, 对于命令较长的情况下, 可以实现快速的定位; 实例:
    查看a_fast_operation下的文件夹相关信息, 命令ls -ld a_fast_operation
    $ ls b_fast_opertion
    此时发现, a_fast_operation错写成了b_fast_operation, 使用快捷键alt+b三次, 快速跳转到b位置, alt+d向后移动一个字符删除进行修改;
    alt+f 同理;

  3. 行首行尾移动
    ctrl+a 快速移动到行首, ahead
    ctrl+e 快速移动到行尾, end
    行首行尾跳转功能我个人最常用, 快速定位行首行尾, 容易使用;
    实例:
    非root用户修改/etc/hosts文件
    vim /etc/hosts 此时对文件进行修改保存; 系统提示"readonly file"; 此时可通过ctrl+a快速移动到行尾, 加入sudo sudo vim /etc/hosts
    ctrl+e 同理;

  4. 行首移动与还原
    ctrl+x+x 快速移动到行首, 在此执行此快键键, 还原到之前位置;
    实例:
    非root用户修改/etc/hosts
    $ vim /etc/ho
    当输入到如上情况时, 发现修改hosts文件需要使用sudo权限, 此时ctrl+x+x 到行首添加sudo, 然后ctrl+x+x位置还原继续执行, 对于也可以使用ctr+a和ctrl+e的组合来实现;

二 快捷删除

快捷删除, 包括字符删除, 单词删除, 行删除等;

  1. 字符删除
    ctrl+h 提示符向前删除单个字符
    ctrl+d 提示符向后删除单个字符
    总的来说, ctrl+h与backspace基本相同, ctrl+d与delete基本相同;
    实例: 无

  2. 单词删除
    ctrl+w 删除提示符之前的单词内容;
    alt+d 删除提示符之后的单词内容;
    个人觉得这个功能挺好, 就是快捷键太过别扭;
    实例:
    查找目录c_fast_operation目录下面的内容
    $ ls exam_fast_operation
    可以发现上面内容输入有误, 此时两次执行alt+b, 再执行ctrl+w, 输入a_可以实现快速内容修改;

  3. 行内删除
    ctrl+u 删除提示符之前的行内所有内容;
    ctrl+k 删除提示符之后的行内所有内容;
    快捷键好用, 操作方便;
    实例:
    查看exam_fast_input下面的文件夹详情信息
    $ ls exam_fast_operation
    错误输入, 此时执行alt+b, 然后执行ctrl+k, 快速删除operation, 输入input;
    ctrl+u 同理;

  4. 撤销当前行编辑
    ctrl+c 撤销当前行编辑, 类似于整行删除
    实例:
    $ ls exam_fast_operation
    比如此时正在查询ls exam_fast_operation, 但是发现自己走神了, 原来我要执行的压根是另外一个命令, 执行ctrl+c, 另起一行, 开始新的命令编辑; 如果此时提示符是在命令结尾处, 可以使用ctrl+u实现整行快速删除, 而不是不断的backspace;

  5. 撤销上一次操作
    ctrl+? 撤销上一次操作, 可类比office word中的ctrl+z操作, 撤销的最长生命周期是一行命令, 切换到下一行撤销无效, 如ctrl+c取消, enter执行等操作;
    实例:
    $ mv a_fast_operation d_fast_operation
    此时你发现你的原意是将b_fast_operation重命名为e_fast_operation, 执行两次ctrl+w删除两个词, 但是其实a_fast_operation也是需要执行的操作, 此时输入两次ctrl+?就可以把前两次的删除d_fast_operation和a_fast_operation两个单词的操作, 然后执行命令;

三, 快捷输入

快捷输入, 包括快捷粘贴, 历史查询, 大小写切换等;

  1. 快捷粘贴
    ctrl+y 快速粘贴之前删除的内容(通过ctrl+w, ctrl+u, ctrl+k删除可用)
    实例:
    拷贝文件exam_fast_operation为command
    $ cp -rf comand exam_fast_operation
    上述命令输入错误, 源文件和目标文件位置颠倒, 三次alt+b向左移动, 执行ctrl+w删除command, ctrl+e移到尾部, 执行ctrl+y粘贴command;

  2. 命令历史查询
    ctrl+r 查询命令历史, 最近包含该字符的命令;
    实例:
    刚刚执行过cp -rf exam_fast_operation command操作, 此时ctrl+r, 然后输入需要查询的命令历史, 如exam_fast, 此时就会把最近的包含exam_fast的命令查询出来;
    关于更多历史命令的内容, 之后的文章中,有更多系统的介绍;

  3. 大小写切换
    alt+u 提示符之后的单词切换为大写;
    alt+l 提示符之后的单词切换为小写;
    alt+c 提示符之后的单词首字母大写;
    实例: 无

  4. 单词快速交换
    alt+t 提示符所在位置单词与前一个单词位置互换;
    实例:
    $ mv cfile afile
    命令原意为afile重名为cfile, 发现两者位置错误, 执行alt+t, 实现位置快速互换;

  5. 快速粘贴上次命令参数
    esc+. 快速上次命令的最后一个参数
    实例:
    ls command mv esc+. fast_operation
    如上所示, 首先执行ls command, 下一行命令在需要引用command的时候, 输入esc+. ;
    其实不至于引用最后一个参数, 上次命令中的任意参数都可以应用, 可以自己查询资料;

  6. 添加特殊字符
    ctrl+v 输入此快捷键之后, 可以输入特殊字符, 如tab, 默认tab为自动补全, 非tab字符;

  7. 滚动历史命令
    ctrl+p 向上滚动历史命令;
    ctrl+n 向下滚动历史命令;

四, 其他

其他一些快捷操作, 如清屏, shell冻结, 解冻等

  1. ctrl+l 快速清屏, 与clear命令效果基本相同;
  2. ctrl+s 锁屏, 效果是输入任何内容都不会修改, 不能进行任何的操作, 有些人第一次遇到命令行被锁会以为是电脑死机等情况;
  3. ctrl+q 退出锁屏, 重新开始输入;
  4. ctrl+o 执行命令, 相等于enter;
  5. ctrl+i 类似tab功能, 自动补全;

五, vi模式

最后简要提一下vi模式, 执行命令set -o vi可进入vi模式, 执行esc便可以使用vi的常用操作. vi模式主要面向的是对vi对比较熟悉的人使用的, 个人感觉自己对vi相对熟悉, 但是在命令行使用vi进行操作, 确会感觉不太灵活. 可能是先入为主, 亦或是命令行本身内容简单的特性不需要vi这样高级的文本编辑特性, 有点杀鸡使用宰牛刀的感觉;

此篇仅仅是关于linux操作系统通常的一些快捷键的使用. 关于linux的高效操作还有很多技巧, 如vim的使用, 命令历史记录, 环境变量, 管理的常用命令, sh脚本等等一些列技巧. 希望有机会可以一一总结出来, 与大家分享;

如发现此篇文章有些快捷命令不兼容, 请帮忙指正, 谢谢!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容