shell入门教程(3)-命令编辑

shell入门教程(1)-shell基础 - justkk的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/justkk/article/details/43795131

shell入门教程(2)-变量和参数 - justkk的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/justkk/article/details/44081993

shell入门教程(3)-命令编辑 - justkk的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/justkk/article/details/44617445

shell入门教程(4)-作业控制 - justkk的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/justkk/article/details/46801163

SHELL入门教程(5)-算术运算 - justkk的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/justkk/article/details/47025297

SHELL入门教程(6)-环境 - justkk的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/justkk/article/details/47025321

SHELL入门教程(7)-编写脚本 - justkk的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/justkk/article/details/47025397

 

 

1. 概述

Shell可以使用在线编辑器或fc命令处理当前或历史的命令。

允许你快速修正命令,及重复执行一个命令,从而提升你的工作效率。

 

2. 命令历史文件

Shell在命令历史文件中保存你曾经输入的命令,这个文件在用户的HOME目录下,命名为.bash_history

保存的命令数目由环境变量HISTSIZE指定。

有两种方式访问命令历史文件:使用fc命令,或使用在线编辑器。

 

3. fc 命令

fc命令可以列出,或编辑与重新执行历史文件命令。

1、显示命令历史文件:

fc -l[nr] [range]

选项说明:

不显示命令编号

反序显示命令列表

[range] 表示一个范围,有以下几种方式指定:

n1 [n2]  指定命令的起止编号,从n1n2

-count 显示最近count条命令

string  向后搜索直到匹配string字样的命令

示例:fc -l -5

 

2、编辑命令历史文件

fc [-e editor] [-r] [range]

fc -s old=new command

示例1fc -2,此时打开一个vi编辑窗口,编辑完毕退出vi时命令自动执行。

示例2

ls a

fc -s a=b -1

此时执行ls b

从实用效果来看,这种方式不如下面将要介绍的在线编辑器方式方便易用。

 

4. 在线编辑器

vi编辑模式为例,首先执行命令进入vi编辑模式:

set -o vi

之后,在命令行按即可使用vi指令进行命令的浏览编辑,如:j,k可以上下翻阅历史命令,h,l可以在当前命令中移动光标位置

很多的vi指令都可以使用,比如移动/删除/替换/插入等。

常用方式:在命令行按,然后输入斜线/stringvi中的查找指令)根据关键字string查找之前执行过的历史命令,按n继续查找(或者使用?反向查找)。

找到之后可选对命令进行编辑,满意之后直接回车执行。

如:之后,/ls查找之前执行过的包含ls的指令。

你可能感兴趣的:(shell)