Update fc.md

更新文件内容
This commit is contained in:
ZhuangZhu-74 2020-03-30 15:15:15 +08:00 committed by GitHub
parent 730a74c090
commit 8f1d96a48f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 44 additions and 21 deletions

View File

@ -1,38 +1,56 @@
fc
===
修改历史命令并执行
显示历史列表中的命令或修改指定的历史命令并执行
## 补充说明
**fc命令** 自动掉用vi编辑器修改已有历史命令当保存时立即执行修改后的命令也可以用来显示历史命令。fc命令编辑历史命令时会自动调用vi编辑器。fc保存文件后会自动执行所编辑过的命令。
### 语法
## 概要
```shell
fc [-e 编辑器名] [-lnr] [起始] [终结]
fc -s [模式=替换串] [命令]
fc [-e ename] [-lnr] [first] [last]
fc -s [pat=rep] [command]
```
### 选项
## 主要用途
- 显示历史列表中的命令。
- 编辑并重新执行历史列表的命令。
## 选项
```shell
-l显示历史命令
-n显示历史命令时不显示编号
-r反序显示历史命令。
-e ename 选择使用的编辑器,默认调用次序为环境变量`FCEDIT`、环境变量`EDITOR`、`vi`。
-l 列出而不是编辑。
-n 列出时不输出行号(需配合-l选项
-r 倒序列出命令,最近执行的先列出(需配合-l选项
-s [pat=rep] [command] command未指定时为最后执行的命令将在pat替换为rep后重新执行。
```
### 参数
## 参数
* 起始指令编号:指定要编辑的起始指令编号;
* 结尾指令编号:指定要编辑的结尾指令编号。
first可选可以是字符串以该字符串开头的最新命令、数字历史列表索引负数代表当前命令号的偏移未指定时设置为前一个命令并且偏移量为-16最近的16条命令
### 实例
last可选可以是字符串以该字符串开头的最新命令、数字历史列表索引负数代表当前命令号的偏移未指定时设置为参数first。
使用该指令显示最近使用的10条历史命令输入如下命令
## 返回值
返回成功或执行命令的状态当错误出现时返回非0值。
## 例子
替换命令参数:
```shell
[root@localhost ~]# fc -l -10 #显示10条历史命令
# 列出 ~ 目录
ls ~
# 替换 ~ 为 / ,替换后列出根目录,
fc -s ~=/
```
显示最近使用的10条历史命令
```shell
[root@localhost ~]# fc -l -10
1039 type -a grep
1040 export
1041 history 10
@ -45,13 +63,18 @@ fc -s [模式=替换串] [命令]
1048 showkey -a
```
第一列信息是历史命令的编号,第二列信息是历史命令的具体格式。若用户需要编辑第1040条历史命令时,则输入如下命令:
编辑第1040条历史命令
```shell
fc 1040 #编辑第1040条历史命令
[root@localhost ~]# fc 1040
```
命令执行成功后将自动调用vi编辑器编辑指定的命令编辑完成后保存会自动执行修改后的命令。当用户在vi编辑器中修改指令并保存后被修改的命令会被自动调用并执行。
### 注意
1. 关闭终端后,历史列表将被写入历史文件`~/.bash_history`。
2. 环境变量`FCEDIT`的值为`fc`默认的编辑器。
3. 该命令是bash内建命令相关的帮助信息请查看`help`命令。
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->