列出历史命令_Linux 下如何使用 fc 命令
使用Linux的过程中,在处理很长的并且包含复杂的语法的命令时,如果不小心范了一点小错误,需要重新输入整个命令以及参数,直到命令执行成功为止。另一种选择是使用 fc 命令编辑并重新运行前一个命令,而无需重新输入整个命令以及参数。
fc简介
fc 命令是 fix command 的缩写,是一个内建命令,它能列出、编辑、重新执行最近在交互shell中输入的命令,你可以使用指定的编辑器编辑并运行最近输入的命令,而不需要重新输入整个命令。
fc命令的语法如下:
[root@ecs-centos-7 ~]# fc --hfc: usage: fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [command]
-e 选项
使用指定的编辑器编辑,默认是 vi 编辑器, 在下面的例子中 ls /home/tt 命令在 vi 中编辑,把 ls 改成 cd,在保存退出的时候会执行 cd /home/tt 命令, 具体的结果如下:
[root@ecs-centos-7 ~]# fc -l657 ls /home/tt658 fc -l[root@ecs-centos-7 ~]# fc -e vi 657ls /home/tt"/tmp/bash-fc-27929723442" 1L, 12C writtencd /home/tt[root@ecs-centos-7 tt]# pwd/home/tt[root@ecs-centos-7 tt]#
-l 选项
列出最近的历史命令,默认是16条
- 不带参数,默认显示最近的16条命令
[root@ecs-centos-7 ~]# fc -l1 date2 cd ~3 fc -l4 fc -lr5 ls /home/tt6 chage -l
- 显示最近的指定行数,下面的命令显示最近的3行
[root@ecs-centos-7 ~]# fc -l -34 fc -lr5 ls /home/tt6 chage -l[root@ecs-centos-7 ~]#
- 指定起始行号,显示从指定行号到末尾行的命令,下面的命令显示行号为530到末尾行的命令
[root@ecs-centos-7 wl]# fc -l 530530 date531 chage -l tt532 chage -h533 chage -l root534 fc -l
- 指定起始行号以及结束行号,显示指定行号区间的命令,下面的命令显示行号从531-534的命令
[root@ecs-centos-7 wl]# fc -l 531 534531 chage -l tt532 chage -h533 chage -l root534 fc -l
-r 选项
逆序显示历史命令,一般都是跟 -l 参数一起使用,下面是使用 -r 选项的例子。fc -l 选项显示的是从1到2行的命令。执行 fc -lr 显示的命令行数要包括前面 fc -l 的命令,所以结果会比前面多一行,执行逆序之后的行数是从3到1行, 具体的结果如下:
[root@ecs-centos-7 ~]# fc -l1 date2 cd ~[root@ecs-centos-7 ~]# fc -lr3 fc -l2 cd ~1 date[root@ecs-centos-7 ~]#
-n 选项
显示历史命令时不显示行号,一般都是跟-l参数一起使用, 下面的例子中没有显示行号
[root@ecs-centos-7 tt]# fc -l1 date2 chage -l tt[root@ecs-centos-7 tt]# fc -ln date chage -l tt fc -l[root@ecs-centos-7 tt]#
-s 选项
-s [pat=rep] [command] 把 pat 命令替换成 rep 命令并执行,下面的例子把 ls /home/tt 替换成 cd /home/tt命令,执行成功之后,当前目录变成了 /home/tt 命令执行结果如下:
[root@ecs-centos-7 tt]# fc -l1 date2 ls /home/tt[root@ecs-centos-7 tt]# fc -s cd=ls 2ls /home/tt[root@ecs-centos-7 tt]# pwd/home/tt[root@ecs-centos-7 tt]#
小技巧
一个有用的小技巧, 使用 fc -s 'pre' 可以自动运行最近一个以 'pre' 开头的命令,输入 fc -s 命令 可以再次执行这个命令。
[root@ecs-centos-7 ~]# fc -l1 ls /home/tt2 chage -l3 date
上面是历史命令列表,执行 fc -s 'da' 命令会执行最近一个以 'da' 开头的命令,下面是具体的执行结果
[root@ecs-centos-7 ~]# fc -s 'da'dateMon Jun 29 20:26:33 CST 2020[root@ecs-centos-7 ~]# fc -s 'l'ls /home/tt[root@ecs-centos-7 ~]# fc -sls /home/tt
从上面的结果来看,执行 fc -s 'da'会执行最近一条以 'da' 开头的命令,也即 date 命令。
执行 fc -s 'l' 命令会执行最近一条以 'l' 开头的命令,也即 ls /home/tt 命令,紧接着执行 fc -s命令,会再次执行一次 ls /home/tt 命令
列出历史命令_Linux 下如何使用 fc 命令相关推荐
- linux下打开配置文件命令_Linux下用户权限相关命令
09.Linux下用户权限相关命令 用户权限的基本概念: 用户 是Linux 系统工作中重要的一环,用户管理包括 用户 与 组 管理 在Linux系统中,不论是由本机或是远程登陆系统,每个系统都必须拥 ...
- oracle 查看监听命令_linux下使用Oracle常用命令
进入Oracle用户 1 su - oracle 以dba身份进入sql语句 1 sqlplus / as sysdba 启动数据库相关命令 启动数据库 1 startup 启动监听(关闭监听的命令l ...
- java sftp命令_linux下如何使用sftp命令
from: http://www.cnblogs.com/chen1987lei/archive/2010/11/26/1888391.html 36351 sftp 是一个交互式文件传输程式.它 ...
- 在CMD命令行下关闭进程的命令
[重要]在CMD命令行下关闭进程的命令 ━━━━━━━━━━━━━━━━━━━━━━━━━━ 方法一: 在"运行"中输入:ntsd -c q -pn 程序名字(在MS-Dos中的作 ...
- linux查代替命令,Linux下查/删/替 命令(转)
▪查看某目录下所有文件的个数: [root@localhost1 opt]# ls -l |grep "^-"|wc -l ▪查看某目录下所有文件的个数,包括子目录里面的: [ro ...
- linux 测试串口命令,Linux 下测试串口的命令microcom
昨天应为要测试主板上的串口,查了一下,可以使用microcom 这条命令进行测试. 命令使用方法很简单: Usage: microcom [-d DELAY] [-t TIMEOUT] [-s SPE ...
- Node.js 在命令行下执行Console.log()命令时,第二行会打印undefined的原因
转载:http://blog.csdn.net/chy555chy/article 问题描述:在命令行下执行Console.log()命令后,第一行会以 "正常的白字" 输出log ...
- linux fc文件下载,Linux 下如何使用 fc 命令
使用Linux的过程中,在处理很长的并且包含复杂的语法的命令时, 如果不小心犯了一点小错误,需要重新输入整个命令以及参数,直到命令执行成功为止.另一种选择是使用 fc 命令编辑并重新运行前一个命令,而 ...
- linux mysql dump命令_linux下mysql命令
1.linux下启动mysql的命令: mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql的命令: mys ...
最新文章
- Accurate self-correction of errors inlong reads using de Bruijn graphs LoRMA使用de Bruijn图对长read中的错误
- 对深拷贝与浅拷贝的再次理解
- [trustzone]-TZC400学习总结
- Spark Streaming实现实时WordCount,DStream的使用,updateStateByKey(func)实现累计计算单词出现频率
- vue 过滤器 filters
- ThinkPHP3.2.3分页中文参数乱码问题及解决
- 第四十六讲 ASP.NET实例编程(五)
- 详细安装sqlmap详细教程
- 解决Microsoft Store 下载报错(错误 0x800706D9)
- Linux系统管理----centos7系统进程管理
- opencv分量法、加权平均法、最大值法、平均值法灰度化
- 防saq注入_盛大在线另一分站某SQL注入
- GPRS模块发送短信
- 北航提出基于语言桥接的时空交互来进行准确指向性视频对象分割
- 微信公众平台三方授权登录(Java实现)
- SQL Server 端口映射访问方法
- Windows子系统WSL
- 关于bitlocker加密后的格式化
- QString::number()
- xcode 编译 c
热门文章
- sumdiv 算术基本定理的推论
- Centos/linux开放端口
- selenium与python自动化测试模拟登录百度
- spring + groovy 转
- debian8安装Odoo中的Barcode Scanner Hardware Driver模块时,提示没有evdev
- xcode6 iOS SDK 8.1隐藏系统状态栏
- 字符串指针与一维指针数组的区别
- 如何使用libgdx编写一个简单的游戏(一)— 雏形
- Redis的高可用详解:Redis哨兵、复制、集群的设计原理,以及区别
- 运用反射时报错java.lang.NoSuchMethodException,以解决,记录一下