Linux命令:Fc

来自WordPress中文文档
跳转至: 导航搜索
Accept atq bg Bunzip2 Bzip2 Bzip2recover Cal Col Colcrt Colrm Cut Factor Fc Fg Fgrep Fmt Fold Fuser
Gencat Halt Jobs Join Ldd Lex Link Look Man Mcd Mkdir Newgrp Nfsstat Nl Paste Pathchk Pr Pstree
Ptx Reject Sudo Tc Tee Time Timeconfig Tput Tree Tty Uniq Unzip Uptime Users View Whereis Yes Ypcat
echo ping ps type telnet


fc命令在linux系统中用来处理命令历史列表。



使用权限

所有用户 </pre>

语法格式

打开一个编辑器去修改或重新执行以前输入的命令 fc [ -r ] [ -e Editor ] [ First [ Last ] ] 生成一个以前输入的命令的列表 fc -l [ -n ] [ -r ] [ First [ Last ] ] 生成带执行时间的以前输入的命令的列表 fc -t [ -n ] [ -r ] [ First [ Last ] ] 重新执行以前输入的命令 fc -s [ Old= New ] [ First ] </pre>

使用说明

fc 命令显示了历史命令文件内容或调用一个编辑器去修改并重新执行以前在 shell 中输入的命令。 以下环境变量会影响 fc 命令的执行: EXTENDED_HISTORY 用来控制历史文件中命令执行时间的记录。如果变量设置为 ON,则记录时间,否则不记录时间。 FCEDIT 当 shell 扩展该环境变量时,该变量确定了 -e editor 变量的缺省值。

       如果环境变量 FCEDIT 为空值或没有被设置,则缺省使用 ed 编辑器。 

HISTDATEFMT 它用于控制 fc –t 命令显示的时间格式。

            例如,如果 HISTDATEFMT=%Y,则 fc -t 将显示执行命令的年份。格式与 date 命令所做的相似。 

HISTFILE 确定历史命令文件的路径名。 如果环境变量 HISTFILE 没有被设置,则 shell 可能会尝试访问或创建在用户主目录中的 .sh_history 文件。 HISTSIZE 确定一个十进制数值,该数值表示了可以访问的以前输入的命令的数量限值。

         如果没有设置该变量,则使用缺省值 128。 

</pre>

主要参数

-e Editor 使用指定的编辑器编辑命令。 Editor 参数应是一个命令名称。该命令用 PATH 环境变量指定位置。

  当没有指定 -e 标志时,环境变量 FCEDIT 中的值被用作缺省值。
  如果环境变量 FCEDIT 是空值或没有设置,则使用 ed 编辑器。 

-l (L 的小写)列出了历史文件中的命令。不调用编辑器去修改它们。

 按照 First 和 Last 参数所指定的顺序写命令,就象 -r 标志所作用的,在每一个命令的前面有一个命令编号。 

-n 当与 -l 标志一起使用时,隐藏命令编号。 -r 逆转所列出命令的顺序(当使用 -l 标志)或者逆转所编辑的命令顺序(当没有指定 -l 标志时)。 -s 不调用编辑器重新执行一个命令。如果也没有指定 First 参数,则 -s 标志重新执行前一个命令。 -t 在历史文件中列出命令及其执行时间。工作过程与 -l 标志类似,但是还显示命令的执行时间。 First or Last 选择要列出或编辑的命令。HISTSIZE 环境变量值确定了能够访问到的以前所输入命令的数量。 First 参数和 Last 参数必须具有以下数值中的一个: [+] Number 表示一个特定的命令编号。-l 标志可以显示命令编号。缺省值为一个 +(加符号)字符。 -Number 表示一个以前执行的命令,由存储在历史列表中的命令编号指定。例如,-1 指出了前一个刚执行过的命令。 String 指出了最近所输入的命令,该命令以指定的字符串开头。 如果指定了 Old=New 参数但没有指定 -s 标志,则来自 First 参数的字符串中不能包含一个嵌入的 =(等于符号)。 当使用 -s 标志时,省略 First 参数将导致使用前一个命令。

</pre>

应用实例

  • 要对最近所使用的命令调用环境变量 FCEDIT 所定义的编辑器(缺省的编辑器是 /usr/bin/ed),请输入:


fc 当完成编辑之后,执行该命令。 </pre>

  • 要列出执行过的前两个命令,请输入:


fc -l -2 </pre>

  • 要找到以 cc 字符开始的命令,且将 foo 更改为 bar,并显示和执行该命令,请输入:


fc -s foo=bar cc </pre>

  • 要列出先前执行的命令及其执行时间,请输入:


fc –t </pre>




参考资料

相关资料