Bash 使用技巧大补贴
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 使用技巧大补贴相关推荐
- Bash 使用技巧大补贴(转)
http://linuxtoy.org/archives/the-best-tips-and-tricks-for-bash.html Bash 是我们经常与之打交道的 Shell 程序,本文针对其使 ...
- 简洁的 Bash Programming 技巧(三)
这是简洁的 Bash Programming 技巧系列的第三篇文章,这一系列的文章专门介绍 Bash 编程中一些简洁的技巧,帮助大家提高平时 Bash 编程的效率.有兴趣的同学可以回顾下之前的两篇文章 ...
- Shell编程:简洁的 Bash Programming 技巧(三)
这是简洁的 Bash Programming 技巧系列的第三篇文章,这一系列的文章专门介绍Bash编程中一些简洁的技巧,帮助大家提高平时 Bash 编程的效率.有兴趣的同学可以回顾下之前的两篇文章(一 ...
- Shell编程:简洁的 Bash Programming 技巧续篇
简洁的 Bash Programming 技巧系列文章专门介绍Bash编程中一些简洁的技巧,帮助大家提高平时 Bash 编程的效率.继上一篇文章发布后,收到很多读者的反响,所以我决定继续将自己学到的一 ...
- Shell编程:简洁的 Bash Programming 技巧
简洁的 Bash Programming 技巧这一系列文章专门介绍Bash编程中一些简洁的技巧,帮助大家提供 Bash 编程的效率,目前该系列已经有三篇文章,有兴趣的同学可以继续阅读其它两篇续篇(一) ...
- Bash EOF 技巧
Bash EOF 技巧 文章目录 Bash EOF 技巧 1. 命令行输出 2. 写入文本 3. 追加文本 4. 覆盖文本 5. 自定义 EOF 6. 另一种格式 7. 示例 7.1 配置文件 7.2 ...
- bash使用技巧整理
说明: 这些技巧主要来自history&read line这两个库,下文中的技巧也适用其它使用该库的应用程序. bash命令可以使用ctrl + alt + e展开,参数使用ctrl x + ...
- Bash功能与使用技巧
Bash功能与使用技巧 目录: 历史命令 命令别名 管道与重定向 常用快捷键 作业控制 花括号扩展 一个完整计算机的体系结构包括:硬件与软件,而软件又分为系统软件与应用软件,负责对硬件仅需管理与操作的 ...
- linux中bash的功能主要有,Linux系统中的Bash功能的介绍
今天小编要跟大家分享的文章是关于Linux系统中的Bash功能的介绍.一个完整计算机的体系结构包括:硬件与软件,而软件又分为系统软件与应用软件,负责对硬件仅需管理与操作的是系统软件的内核部分,用户是无 ...
最新文章
- jQuery 超屏加载
- PostgreSQL 数据访问 offset 的质变 case
- ZooKeeper的典型应用
- 解决启动springboot项目时localhost一直显示Whitelabel Error Page和@ConfigurationProperties标红
- java切入式编程显示屏_C语言嵌入式系统编程修炼之四:屏幕操作
- const 常量_条款03:尽可能使用const
- javascript实现的一个信息提示的小功能/
- delphi开发回忆录——面向对象的基础,继承
- 中文翻译英文-免费批量中文英文翻译互转软件
- Win10 触摸屏 快捷键操作
- 康托尔集合论-罗素悖论-公理化集合论-不完全性定理
- [Irving] Wpf DevexPress GridControl 获取选中行
- hhkb mac设置_HHKB 纯小白入坑指南
- 大三小学期入门课程第六课:规划
- sqlServer简单建数据库,建表操作
- 大数据系统包含哪些组件?需要过等保吗?
- ps技巧:自动选择工具的使用
- 如何在Ubuntu 20.04上安装Kvm
- The Progress, Challenges, and Perspectives of Directed Greybox Fuzzing 论文笔记
- Python进阶---python strip() split()函数实战