Bash 是我们经常与之打交道的 Shell 程序,本文针对其使用技巧进行了搜罗。相信在你看过这些内容之后,定会在 Bash 的世界里游刃有余。

  • 从历史中执行命令 有时候,我们需要在 Bash 中重复执行先前的命令。你当然可以使用上方向键来查看之前曾经运行过的命令。但这里有一种更好的方式:你可以按 Ctrl + r 组合键进入历史搜索模式,一旦找到需要重复执行的命令,按回车键即可。
  • 重复命令参数 先来看一个例子: mkdir /path/to/exampledir cd !$ 本例中,第一行命令将创建一个目录,而第二行的命令则转到刚创建的目录。这里,“!$”的作用就是重复前一个命令的参数。事实上,不仅是命令的参数可以重复,命令的选项同样可以。另外,Esc + . 快捷键可以切换这些命令参数或选项。
  • 用于编辑的快捷键
    • Ctrl + a:将光标定位到命令的开头
    • Ctrl + e:与上一个快捷键相反,将光标定位到命令的结尾
    • Ctrl + u:剪切光标之前的内容
    • Ctrl + k:与上一个快捷键相反,剪切光标之后的内容
    • Ctrl + y:粘贴以上两个快捷键所剪切的内容
    • Ctrl + t:交换光标之前两个字符的顺序
    • Ctrl + w:删除光标左边的参数(选项)或内容
    • Ctrl + l:清屏
  • 处理作业 首先,使用 Ctrl + z 快捷键可以让正在执行的命令挂起。如果要让该进程在后台执行,那么可以执行 bg 命令。而 fg 命令则可以让该进程重新回到前台来。使用 jobs 命令能够查看到哪些进程在后台执行。 你也可以在 fg 或 bg 命令中使用作业 id,如: fg %3 又如: bg %7
  • 使用置换
    • 命令置换 先看例子: du -h -a -c $(find . -name *.conf 2>&-) 注意 $() 中的部分,这将告诉 Bash 运行 find 命令,然后把返回的结果作为 du 的参数。
    • 进程置换 仍然先看例子: diff <(ps axo comm) <(ssh user@host ps axo comm) 该命令将比较本地系统和远程系统中正在运行的进程。请注意 <() 中的部分。
    • xargs 看例: find . -name *.conf -print0 | xargs -0 grep -l -Z mem_limit | xargs -0 -i cp {} {}.bak 该命令将备份当前目录中的所有 .conf 文件。
  • 使用管道 下面是一个简单的使用管道的例子: ps aux | grep init 这里,“|”操作符将 ps aux 的输出重定向给 grep init。 下面还有两个稍微复杂点的例子: ps aux | tee filename | grep init 及: ps aux | tee -a filename | grep init
  • 将标准输出保存为文件 你可以将命令的标准输出内容保存到一个文件中,举例如下: ps aux > filename 注意其中的“>”符号。 你也可以将这些输出内容追加到一个已存在的文件中: ps aux >> filename 你还可以分割一个较长的行: command1 | command2 | ... | commandN > tempfile1 cat tempfile1 | command1 | command2 | ... | commandN > tempfile2
  • 标准流:重定向与组合 重定向流的例子: ps aux 2>&1 | grep init 这里的数字代表:
    • 0:stdin
    • 1:stdout
    • 2:sterr

    上面的命令中,“grep init”不仅搜索“ps aux”的标准输出,而且搜索 sterr 输出。

The best tips & tricks for bash, explained [Linux Tutorials Blog]

(Thanks to Rechosen!)

http://linuxtoy.org/archives/the-best-tips-and-tricks-for-bash.html

Bash 使用技巧大补贴相关推荐

  1. Bash 使用技巧大补贴(转)

    http://linuxtoy.org/archives/the-best-tips-and-tricks-for-bash.html Bash 是我们经常与之打交道的 Shell 程序,本文针对其使 ...

  2. 简洁的 Bash Programming 技巧(三)

    这是简洁的 Bash Programming 技巧系列的第三篇文章,这一系列的文章专门介绍 Bash 编程中一些简洁的技巧,帮助大家提高平时 Bash 编程的效率.有兴趣的同学可以回顾下之前的两篇文章 ...

  3. Shell编程:简洁的 Bash Programming 技巧(三)

    这是简洁的 Bash Programming 技巧系列的第三篇文章,这一系列的文章专门介绍Bash编程中一些简洁的技巧,帮助大家提高平时 Bash 编程的效率.有兴趣的同学可以回顾下之前的两篇文章(一 ...

  4. Shell编程:简洁的 Bash Programming 技巧续篇

    简洁的 Bash Programming 技巧系列文章专门介绍Bash编程中一些简洁的技巧,帮助大家提高平时 Bash 编程的效率.继上一篇文章发布后,收到很多读者的反响,所以我决定继续将自己学到的一 ...

  5. Shell编程:简洁的 Bash Programming 技巧

    简洁的 Bash Programming 技巧这一系列文章专门介绍Bash编程中一些简洁的技巧,帮助大家提供 Bash 编程的效率,目前该系列已经有三篇文章,有兴趣的同学可以继续阅读其它两篇续篇(一) ...

  6. Bash EOF 技巧

    Bash EOF 技巧 文章目录 Bash EOF 技巧 1. 命令行输出 2. 写入文本 3. 追加文本 4. 覆盖文本 5. 自定义 EOF 6. 另一种格式 7. 示例 7.1 配置文件 7.2 ...

  7. bash使用技巧整理

    说明: 这些技巧主要来自history&read line这两个库,下文中的技巧也适用其它使用该库的应用程序. bash命令可以使用ctrl + alt + e展开,参数使用ctrl x + ...

  8. Bash功能与使用技巧

    Bash功能与使用技巧 目录: 历史命令 命令别名 管道与重定向 常用快捷键 作业控制 花括号扩展 一个完整计算机的体系结构包括:硬件与软件,而软件又分为系统软件与应用软件,负责对硬件仅需管理与操作的 ...

  9. linux中bash的功能主要有,Linux系统中的Bash功能的介绍

    今天小编要跟大家分享的文章是关于Linux系统中的Bash功能的介绍.一个完整计算机的体系结构包括:硬件与软件,而软件又分为系统软件与应用软件,负责对硬件仅需管理与操作的是系统软件的内核部分,用户是无 ...

最新文章

  1. jQuery 超屏加载
  2. PostgreSQL 数据访问 offset 的质变 case
  3. ZooKeeper的典型应用
  4. 解决启动springboot项目时localhost一直显示Whitelabel Error Page和@ConfigurationProperties标红
  5. java切入式编程显示屏_C语言嵌入式系统编程修炼之四:屏幕操作
  6. const 常量_条款03:尽可能使用const
  7. javascript实现的一个信息提示的小功能/
  8. delphi开发回忆录——面向对象的基础,继承
  9. 中文翻译英文-免费批量中文英文翻译互转软件
  10. Win10 触摸屏 快捷键操作
  11. 康托尔集合论-罗素悖论-公理化集合论-不完全性定理
  12. [Irving] Wpf DevexPress GridControl 获取选中行
  13. hhkb mac设置_HHKB 纯小白入坑指南
  14. 大三小学期入门课程第六课:规划
  15. sqlServer简单建数据库,建表操作
  16. 大数据系统包含哪些组件?需要过等保吗?
  17. ps技巧:自动选择工具的使用
  18. 如何在Ubuntu 20.04上安装Kvm
  19. The Progress, Challenges, and Perspectives of Directed Greybox Fuzzing 论文笔记
  20. Python进阶---python strip() split()函数实战

热门文章

  1. 作者:熊赟,博士,复旦大学计算机科学技术学院副教授。
  2. 【Java】浅析八种基本类型
  3. 【Java】《Java编程的逻辑》第3章 类的基础 笔记+感悟分享
  4. 4.1 卷积神经网络调参-adagrad_adam
  5. jenkins即将重启问题
  6. 阿里云的羊毛如何薅?创业者看过来!
  7. Android RenderScript 关于Compute 的使用
  8. 打印机共享无法正常打印的处理思路
  9. 还要让你的家人等多久?五年后,你在做什么?
  10. C/C++编程笔记:经典游戏植物大战僵尸游戏辅助,源码送上