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+. 引用上一个命令的最后一个参数
!$ 引用上一个命令的最后一个参数