在日常工作中,能够快速并准确的使用命令是必不可少的,下面为大家介绍一下其中的小技巧。

一、查找命令历史——history

使用history能够快速的找到之前输入过的命令。

# history

大家可以看到,你输入过的命令会在列表中显现出来。前面是命令编号,有什么用?请看下方详解。

额外选项:

# history N      显示最近的N条命令,例如history 5
# history -d N   删除第N条命令,这个N就是前面的编号,例如history -d 990
# history -c     清空命令历史
# history -a     将当前会话中的命令历史写入指定文件

指定文件是什么?就是历史记录的环境变量信息,它通常会保存在用户家目录下的.bash_history。

# echo $HISTFILE        使用此命令查看环境变量

# echo $HISTFILESIZE    查看最大保存数目

二、快速调用bash命令

当我们敲完一条命令后,系统就会将其记录下来,以备查看或快速调用。那么如何实现bash命令的快速使用?请看下方。

  • 1.执行命令历史中的第N条命令

# !N

例如:上面截图中显示,989条命令为ls,当我们使用!989,系统就会再次执行一次ls命令。

  • 2.执行上一条命令

# !!

例如:我执行uptime命令,之后马上使用!!,系统就会告知你上一条命令使用的是什么,并执行取回结果的。

  • 3.执行命令历史中最近一次以字符串(string)开头的命令

# !string

例如:我在家目录下新建文件夹mkdir test,然后删除之rm -rf test。

现在看,家目录下没有test目录了。我执行!mk,大家可以看,刚才创建目录的命令又被执行了,再用!rm,目录又被删除了。但是注意,这样虽然很方便,但是由于有些命令开头很相似,因此很容易造成误操作,安全的办法还是看下history吧!

# !mk

# !rm

  4.调用上一条命令的最后一个参数—— !$
我首先ls /var/log/目录,此时/var/log/就是ls命令的参数。

下面我想查看此目录下的messages文件,就可以这么写(为防止刷屏,使用了less)。

大家可以看到,命令会自动替换!$为/var/log/,是不是很方便!同样的,按下ESC,放开再按.也可以调用上个命令的参数,请大家自行尝试下。
如果上述描述有任何不对或者错误的地方,还请大家为我指认,感谢大家观看,谢谢! QQ:82800452

history介绍及bash命令快速调用的更多相关文章

  1. 在git bash中使用命令行调用tortoisegit提交代码或查看日志

    Tortoisegit commit / show log命令行 TortoiseGitProc.exe /command:commit TortoiseGitProc.exe /command:lo ...

  2. Python调用Linux bash命令

    import subprocess as sup  # 以下注释很多(为了自己以后不忘), 如果只是想在python中执行Linux命令, 看前5行就够了 # 3.5版本之后官方推荐使用sup.run ...

  3. History(历史)命令用法15例

    导读 如果你经常使用 Linux 命令行,那么使用 history(历史)命令可以有效地提升你的效率,本文将通过实例的方式向你介绍 history 命令的 15 个用法. 使用 HISTTIMEFOR ...

  4. Linux的压缩解压命令快速上手——解压篇

    在Linux系统中,压缩文件通常是先将若干文件(包括目录)打包成一个tar文件,然后再调用压缩程序将tar文件压缩成相应的压缩包,这也就是为什么Linux系的压缩包的后缀通常都是像tar.gz,tar ...

  5. [转] Linux History(历史)命令用法 15 例

    [From]https://linuxtoy.org/archives/history-command-usage-examples.html 如果你经常使用 Linux 命令行,那么使用 histo ...

  6. 【转】Linux(BASH)命令搜索机制

    原文网址:http://www.mike.org.cn/articles/linux-linux-bash-command-search-mechanism/ 转自:Eric Cheung: Linu ...

  7. History(历史)命令用法 15 例

    如果你经常使用 Linux 命令行,那么使用 history(历史)命令可以有效地提升你的效率.本文将通过实例的方式向你介绍 history 命令的 15 个用法. 使用 HISTTIMEFORMAT ...

  8. History(历史)命令用法

    如果你经常使用 Linux 命令行,那么使用 history(历史)命令可以有效地提升你的效率.本文将通过实例的方式向你介绍 history 命令的用法. 使用 HISTTIMEFORMAT 显示时间 ...

  9. Linux Bash命令关于程序调试详解

    转载:http://os.51cto.com/art/201006/207230.htm 参考:<Linux shell 脚本攻略>Page22-23 Linux bash程序在程序员的使 ...

随机推荐

  1. [CLR via C#]11. 事件

    一. 设计要公开事件的类型 如果类型定义了事件成员,那么类型(或类型实例)就可以通知其他对象发生了一些特定的事情. 例如,Button类提供了一个名为Click的事件.应用程序中的一个或多个对象可能想 ...

  2. C#130问,初级程序员的面试宝典

    首先介绍下,目前C#作为一门快速开发的语言,在面试的过程中需要注意的技术知识点,了解下面的知识点对于初级工程师入职非常有帮助,也是自己的亲身体悟. 1.    简述 private. protecte ...

  3. ASP.NET中Session简单原理图

    刚学习Session,对session的理解相当肤浅,按照我的想法画了原理图,麻烦各位大神指正,谢了!

  4. [转]基于 Quercus 的手游项目终于上线了

    原文:http://blog.andsky.com/quercus-php-ngame/ 经过半年的开发,我们第一款手游戏终于开发完毕,架构使用了 netty + Quercus 实现用 php 通过 ...

  5. Servlet3.0 Test

    1. Servlet3.0 Test and Annotation used 你可以从tomcat7中lib文件夹中找到servlet-api.jar package com.goodfan.serv ...

  6. LinkedList的实现源码分析

    LinkedList 以双向链表实现.链表无容量限制,但双向链表本身使用了更多空间,也需要额外的链表指针操作. 按下标访问元素--get(i)/set(i,e) 要悲剧的遍历链表将指针移动到位(如果i ...

  7. 通过一个小问题来学习SQL关联查询

    原话题: 是关于一个left join的,没有技术难度,但不想清楚不一定能回答出正确答案来: TabA表有三个字段Id,Col1,Col2 且里面有一条数据1,1,2 TabB表有两个字段Id,Col ...

  8. SharpGL学习笔记(十五) 纹理映射

    纹理映射非常实用,在游戏场景中已经无所不在了. 一个较少的多边形构成的模形,配合好的纹理贴图进行映射,可以得到逼真的效果.游戏中的天空,地面,墙面,和植物都是纹理贴图进行映射的. 例如最终幻想8的男女 ...

  9. uploadify API

    apifunctionjavascriptflashsecurity服务器 属性: uploader : uploadify.swf 文件的相对路径,该swf文件是一个带有文字BROWSE的按钮,点击 ...

  10. IE浏览器中ajax使用缓存数据的问题

    今天做了一个小功能:点击鼠标实时更新系统时间,采用ajax,过程很顺利,没遇到啥差错,谷歌,火狐,欧鹏一律通过,怀着忐忑的心情点开了IE8,果然,IE要对得起前端杀手的称号:更新不了时间. 查了一下这 ...