history基础知识及命令详解

一、概述

history命令是Linux的一个内嵌的shell命令,history命令的使用有时会大大缩短我们输入命令的时间,达到节省命令快捷操作的要求。学会history命令之后,我们可以隐藏一些含有敏感信息的命令输入,做到使系统更加安全的目的。我们还可以定时的去清理我们不想要其它用户看到的一些私密的命令。

二、命令行历史

保存你输入的命令历史。可以用它来重复执行命令;

登录shell时,会读取命令历史文件中记录下的命令,历史文件路径~/.bash_history;

登录进shell后新执行的命令只会记录在缓存中;这些命令会在用户退出时“追加”至历史文件中;

三、调用历史命令

重复前一个命令,有四种方法:

①使用键盘上的↑方向键,并回车执行;

②按!!并回车执行;

③输入!-1并回车执行;

④按Ctrl+P并回车执行;

!字符串:重复执行最近一次以字符串开头的命令;eg:!string

!number:按照history命令输出中的序号重复对应命令(执行第几条命令);eg:!100

!?字符串:重复前一个包含字符串的命令;eg:!?abc,重复前一个包含abc的命令;

!-n:重复n个命令之前的那个命令(倒数第几条);eg:!-4:倒数第四条命令;

使用up(向上)和down(向下)键来上下浏览从前输入的命令;

键入Ctrl+r来在命令历史中搜索命令:

(reverse-i-search)`‘:

要重新调用前一个命令中最后一个参数:

!$;

Esc,.(点击Esc键后松开,然后点击.键);

Alt+.(按住Alt键的同时点击.键);

四、调用历史参数

1:

command !^:调用上一个命令的第一个参数;

command !$:调用上一个命令的最后一个参数;

command !*:调用上一个命令的全部参数;

command !:n:调用上一个命令的第n个参数;

2:

command !n:^:调用第n条命令的第一个参数;

command !n:$:调用第n条命令的最后一个参数;

command !n:m:调用第n条命令的第一个参数;

command !n:*:调用第n条命令的第一个参数;

3:

command !string:^:从命令历史中搜索以string开头的命令,并获取它的第一个参数;

command !string:$从命令历史中搜索以string开头的命令,并获取它的最后一个参数;

command !string:n命令历史中搜索以string开头的命令,并获取它的第n个参数;

command !string:*从命令历史中搜索以string开头的命令,并获取它的全部参数;

五、history命令

history命令:查看或设置命令历史相关参数

options:

-c:清空命令历史(清的是内存的命令历史);

-d:删除历史中指定的命令;

#:显示最近的#条历史;

-a:追加本次会话新执行的命令历史列表至历史文件;

-n:读历史文件中未读过的行到历史列表;

远程终端1:

远程终端2:

-r:读历史文件附加到历史列表;

远程终端1:

远程终端2:

-w:保存历史列表到指定的历史文件;

-p:展开历史参数成多个行,但不存在历史列表中;

-s:展开历史参数成一行,附加在历史列表后;

六、命令历史相关环境变量

HISTSIZE:命令历史记录的条数(默认1000);

HISTFILE:指定历史文件,默认为~/.bash_history;

HISTFILESIZE:命令历史文件记录的历史条数(默认1000);

HISTTIMEFORMAT=“%F %T”:显示时间;

HISTIGNORE=“str1:str2:...”忽略str1,str2历史;

七、控制历史命令的记录方式

环境变量:HISTCONTROL

ignoredups:忽略重复的命令;连续且相同方为“重复”(默认使用ignoredups);

ignorespace:忽略所有已空白开头的命令;

ignoreboth: ignoredups,ignorespace

erasedups:删除重复命令(连续、不连续都删除)

环境变量可以存放在以下配置文件路径中:

/etc/profile(对所有用户生效);

~/.bash_profile(对当前用户生效);

八、bash的快捷键

Ctrl+l:清屏,相当于clear命令;

Ctrl+c:取消命令的执行;

Ctrl+a:移动到命令行最前面;

Ctrl+e:移动到命令行最后面;

Ctrl+u:会删除到行首;

Ctrl+k:会删除到行尾;

Ctrl+b:向左移动一个字符;

Ctrl+f:向右移动一个字符

Esc+b:向左移动一个单词;

Esc+f向右移动一个单词;

九、删除历史命令(内存和文件中的命令

执行两条命令:

rm -f .bash_history;

history -c;

时间: 2024-10-11 17:24:03

history基础知识及命令详解的相关文章

文件管理基础知识及命令详解

一.文件系统概述 1.文件和目录被组织成一个单根倒置树结构: 2.文件系统从根目录下开始,用"/"表示: 3.名称是大小写敏感: 4.以.开头的文件为隐藏文件: 5.路径分隔的/: 6.文件有两位数据: 6.1:元数据(文件名.大小属性等):metadata: 数据:data: 二.文件名命名规则 1.包括路径在内文件名称最长4095个字节,用/分隔的路径不能超过255个字节: 2.文件名除了/以外的任意字符,但不建议使用特殊字符,有些字符需要引号来引用它们: 3.标准Linux文件系

Linux基础知识之挂载详解(mount,umount及开机自动挂载)

Linux基础知识之挂载详解(mount,umount及开机自动挂载) 转载自:http://www.linuxidc.com/Linux/2016-08/134666.htm 挂载概念简述: 根文件系统之外的其他文件要想能够被访问,都必须通过"关联"至根文件系统上的某个目录来实现,此关联操作即为"挂载",此目录即为"挂载点",解除此关联关系的过程称之为"卸载" 1.挂载:根文件系统外通过关联至根文件系统上的某个目录来实现访问

学习笔记-《Linux基础知识之挂载详解(mount,umount及开机自动挂载)》

<Linux基础知识之挂载详解(mount,umount及开机自动挂载)>来源:Linux社区  作者:chawan 原文链接 http://www.linuxidc.com/Linux/2016-08/134666.htm 以下是学习作者这篇文章做的一些摘要及学习体会. 重要概念(经典原文引述) 挂载概念简述: 根文件系统之外的其他文件要想能够被访问,都必须通过"关联"至根文件系统上的某个目录来实现,此关联操作即为"挂载",此目录即为"挂载点

hbase shell基础和常用命令详解

HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务. 1. 简介 HBase是一个分布式的.面向列的开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase

hbase shell基础和常用命令详解(转)

HBase shell的基本用法 hbase提供了一个shell的终端给用户交互.使用命令hbase shell进入命令界面.通过执行 help可以看到命令的帮助信息. 以网上的一个学生成绩表的例子来演示hbase的用法. name grad course math art Tom 5 97 87 Jim 4 89 80 这里grad对于表来说是一个只有它自己的列族,course对于表来说是一个有两个列的列族,这个列族由两个列组成math和art,当然我们可以根据我们的需要在course中建立更

DNS与BIND学习笔记-基础知识及配置详解

转自 http://blog.chinaunix.net/uid-14825809-id-333591.html 标签:DNS 多线 智能 服务器 bind 一直想系统的学习和了解DNS的原理,包括看相关的rfc文件,一看和dns相关的rfc文件,妈呀,居然有86个之多.能看多少是多少吧.先把DNS的原理研究透彻了.在看rfc文件我想会事半功倍的:) 1. ICANN是干什么的?和他的一些相关资讯? ICANN全称是叫:Internet Corporation for Assigned Name

OpenStack基础知识-tox的详解介绍

1.tox简介 tox是通用的虚拟环境管理和测试命令行工具.tox能够让我们在同一个Host上自定义出多套相互独立且隔离的python环境,每套虚拟环境中可能使用了不同的 Python 拦截器/环境变量设置/第三方依赖包.所以 tox 最典型的应用就是用于测试 Python 程序的兼容性了.tox是openstack社区最基本的测试工具,比如python程序的兼容性.UT等. 它的目标是提供最先进的自动化打包.测试和发布功能. 1)作为持续集成服务器的前端,大大减少测试工作所需时间: 2)检查软

Android自定义view教程05--自定义view的基础知识之LayoutInflater详解

前面的教程我们讲了一下android的动画 的使用,尤其是着重讲解了属性动画的使用.那么这章开始我们将会讲一下android 自定义view的一些基础知识.帮助大家理解. 首先我们来关注一下LayoutInflater这个类,经常使用开源控件的人对这个类应该很熟悉了,但是很少有人能把这个类讲明白 用清楚,今天我们就来深挖一下这个类. 首先我们定义一个button.xml 和button2.xml 1 <?xml version="1.0" encoding="utf-8

Python3分布式爬虫(scrap+redis)基础知识和实战详解

背景 随着业务需求的变化,大规模爬虫遇到各种问题.python爬虫具有先天优势,社区资源比较齐全,各种框架也完美支持.爬虫性能也得到极大提升.本次分享从基础知识入手,涉及python 的两大爬虫框架pyspider.scrapy,并基于scrapy.scrapy-redis 做了分布式爬虫的介绍(直接粘贴的ppt截图)会涉及 redis.mongodb等相关知识. 一.前沿 1.1 爬虫是什么? 网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本.