Linux 命令(242)—— fc 命令(builtin)
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
文章目录
1.命令简介
fcFix Command可以列出、编辑、重新执行历史命令。
fc 可以用来查看历史命令也可以利用使用指定的编辑器编辑并运行最近输入的命令而不需要重新输入整个命令。
使用 Linux 的过程中在处理很长的并且包含复杂语法的命令时如果不小心犯了一点小错误需要重新输入整个命令以及参数直到命令执行成功为止。另一种选择是使用 fc 命令编辑并重新运行前一个命令而无需重新输入整个命令以及参数。
2.命令格式
fc [-e ename] [-lnr] [first] [last]
fc -s [pat=rep] [cmd]
单独执行 fc 将打开默认编辑器 vim 编辑最近一条命令后然后运行。
3.参数说明
first 可选可以是字符串以该字符串开头的最新命令、数字历史列表索引用负数代表当前命令号的偏移。未指定时设置为前一个命令用于编辑设置为-16最近的16条命令用于列出。
last 可选可以是字符串以该字符串开头的最新命令、数字历史列表索引用负数代表当前命令号的偏移未指定时设置为前一个命令用于列出其他情况等于 first。
4.选项说明
-e <ename>
选择使用的编辑器默认调用次序为环境变量 $FCEDIT、$EDITOR 和编辑器 vi。
-l
列出而不是编辑。
-n
列出时不输出行号需配合-l选项。
-r
倒序列出命令最近执行的先列出需配合-l选项。
-s [pat=rep] [cmd]
命令 cmd未指定时为最后执行的命令将在 pat 替换为 rep 后重新执行。cmd 可以是字符串也可以是历史命令的序号。
5.常用示例
1使用默认编辑器编辑最近一条命令保存后立即执行。
fc
2显示历史命令列表。
默认显示最近 16 条历史命令。
fc -l
2966 echo $?
2967 cksum
2968 man cksum
2969 tput sc
2970 tput setb 6
2971 tput setf 4
2972 man tput
2973 reset
2974 man tput
2975 man terminfo
2976 man apropos
2977 hist
2978 history
2979 history 6
2980 history 6
2981 fc -l
3显示 10 条历史命令列表。
fc -l -10
# 或
fc -l -10 -1
4显示历史命令列表但不显示命令序号。
fc -ln
fc -lr
fc -lr -10
fc -lr -3
5反序显示所有历史命令
fc -lr -3
2995 fc -lr -10
2994 fc -lr
2993 fc -ln
6从历史命令中往前找到 ls 命令并执行。
fc -s ls
ls -l /usr/bin/vim
-rwxr-xr-x 1 root root 2337208 Dec 16 2020 /usr/bin/vim
7编辑指定序号的命令并且执行。
fc 2992
ls -lh /usr/bin/vim
-rwxr-xr-x 1 root root 2.3M Dec 16 2020 /usr/bin/vim
8执行指定序号的命令。
fc -s 2992
-rwxr-xr-x 1 root root 2337208 Dec 16 2020 /usr/bin/vim
参考文献
fc(1) - Linux manual page - linux.org
fc(1p) - Linux manual page - man7.org