shell
1. 重定向
在 shell 中输入命令运行程序,程序的正常输出信息(标准输出)和一些出错信息(标准错误)会通过 shell 显示在屏幕上。
有时候我们并不需要把这些输出信息(包括标准输出和标准错误)显示在屏幕上,或需要把这些输出信息保存在一个文件中,这时就需要进行输出重定向。输入重定向也是如此。
执行重定向操作的是 shell ,而不是程序。 shell 把重定向符号解释成指令,将标准输出(或标准错误)指向文件,而不是当前显示设备。输入重定向也是如此。
shell将<、>、>>解释成指令,用来把一条命令的输入或输出重定向到一个文件。
| 类型 | 操作符 | 用途 |
|---|---|---|
| 重定向标准输入 | < | 将命令中接收输入的途径由默认的键盘更改为指定的文件 |
| 重定向标准输出 | > | 以替换的方式将命令的执行结果输出到指定的文件,而不是直接显示在屏幕上 |
| - | >> | 将命令执行的结果追加输出到指定文件 |
| 重定向标准错误 | 2> | 清空指定文件的内容,并将标准错误信息保存到该文件中 |
| - | 2>> | 将标准错误信息追加输出到指定的文件中 |
| 重定向标准输出和标准错误 | &>或>& | 将标准输出、标准错误的内容全部保存到指定的文件中,而不是直接显示在屏幕上 |
2. 管道
shell在解释命令遇到 | 时会创建管道,并创建两个进程,把标准输入输出重 定向到管道,前一个进程向管道写数据,后一个进程从管道读数据。
查找名称含有gcc的文件并使用wc计数 sudo find / -name gcc | wc –l
查找名称含有ssh的进程 ps -ef | grep ssh
分页查看内容 ls –l –R /usr/share | less
排序文件 ls | sort –r
3. 脚本
4. bash快捷键
| 按键 | 含义 |
|---|---|
| ^A | 光标移到行首 |
| ^B | 光标非破坏退格 |
| ^C | 中断前台程序 |
| ^D | 退出shell |
| ^E | 光标移到行尾 |
| ^F | 光标右移 |
| ^G | |
| ^H | |
| ^I | |
| ^J | 新行 |
| ^K | 删除光标后所有字符 |
| ^L | 清屏 |
| ^U | 删除光标前所有字符 |
| ^R | 搜索历史命令,利用关键字 |
| ALT+. | 引用上一个命令的最后一个参数 |
| ESC+. | 引用上一个命令的最后一个参数 |
| !$ | 引用上一个命令的最后一个参数 |