历史命令history的用法

实验环境

[[email protected] ~ 22:55:22]$cat /etc/centos-release
CentOS Linux release 7.5.1804 (Core)
[[email protected] ~ 22:55:32]$ 

1. history命令:

 Display or manipulate the history list.
 显示或操作历史列表

默认情况下,登录shell后执行的命令都会记录在缓存中,当用户注销或者退出时追加到命令历史文件中(默认是.bash_profile),当用户再次登录后,将读取历史文件中的命令到内存缓存中。
语法:
?history [-c] [-d offset] [n]
?history -anrw [filename]
?history -ps arg [arg...]

选项:
-c: 清空命令历史
-d offset: 删除历史中指定的第offset个命令
-a: 追加本次会话新执行的命令历史列表至历史文件
-r: 读历史文件附加到历史列表
-w: 保存历史列表到指定的历史文件
-n: 读历史文件中未读过的行到历史列表
-p: 执行参数中的命令,但是不保存到历史列表中。这个可以试试。

[[email protected] ~ 08:24:15]$history -p `hostname` `pwd`
CentOS6.10
/root

-s: 保存命令到历史列表,但不实际执行,用于伪造历史。

history -s "rm -rf /*" 嘿嘿,你懂得

2. 相关变量:

? HISTSIZE:命令行记录的历史条数
? HISTFILE:指定历史文件,默认为~/.bash_history
? HISTFILESIZE:历史的配置文件记录历史的条数
? HISTTIMEFORMAT=“%F %T “ 显示时间

另外还有一些变量,可能对你有用
? 控制命令历史的记录方式:默认是ignoredups
环境变量:HISTCONTROL
ignoredups 默认,忽略连续、重复执行的命令,连续且相同为“重复”
ignorespace 忽略所有以空白开头的命令
ignoreboth 相当于ignoredups, ignorespace的组合
erasedups 删除重复命令

我个人感觉ignorespace其实挺好的,可以在执行一些命令的时候不记录历史中,比如mysql指定密码登录的时候。
对于这些变量,只要了解即可,可以在man bash中查找到相关解释。

如果以上变量有你中意的一个,想要永久保存(默认在命令行中设置的都是临时的哦),可以在 ~/.bash_profile或者etc/profile.d/下创建一个文件后缀为.sh的文件,添加:export 变量名="值"即可.

3. 命令小技巧

3.1 如何重复前一个命令

? 重复前一个命令使用上方向键,并回车执行
? 按 !! 并回车执行
? 输入 !-1 并回车执行
? 按 Ctrl+p 并回车执行

?!:0 执行前一条命令(去除参数)

3.2 执行指定序号的命令

?!n 执行history命令输出对应序号n的命令
?!-n 执行history历史中倒数第n个命令

3.3 搜索历史命令

ctrl-r来在命令历史中搜索命令
Ctrl+g:从历史搜索模式退出

3.4 调用前一个命令的最后一个参数

? !$ 表示
? Esc, .(点击Esc键后松开,然后点击 . 键)
? Alt+ .(按住Alt键的同时点击 . 键)
注意:有的时候alt会和其他键发生冲突。

3.5 调用历史参数

只有你想不到,没有做不到。
?command !^ 利用上一个命令的第一个参数做cmd的参数
?command !$ 利用上一个命令的最后一个参数做cmd的参数
?command !* 利用上一个命令的全部参数做cmd的参数
?command !:n 利用上一个命令的第n个参数做cmd的参数

好了,笔记终于写完了,排版和归纳能力不怎么好,如果你有好的建议的话,可以告诉我。

原文地址:https://www.cnblogs.com/yuanhonli-xin/p/9393463.html

时间: 2024-10-08 23:17:22

历史命令history的用法的相关文章

第一周--Centos7中的 at 使用技巧及其历史命令管理和用法

**Centos 7 中的at 使用技巧及其历史命令管理和用法** 我将在本文讲述如下内容: 关于Linux的发行版及不同发行版间的联系和区别 实现晚上20:30自动关机,并提示用户 总结历史命令管理以及用法 总结Linux帮助用法 * ----------------------------- 大片如下 ------------------------------------------------------------------------------------------ 第一章:关

历史命令history

历史命令在用户注销之后会保存在用户家目录下的-/.bash_history中 history #查看系统中实时缓存的历史命令,与.bash_history中的内容并不完全相同 history -c #清空历史命令 history -w #把缓存中的历史命令写入历史命令保存文件.bash_history中 历史命令的存储容量可在/etc/profile中通过添加 HISTSIZE=1000 来改变. 历史命令的调用: 使用上.下箭头或ctrl+p.ctrl+n 使用 !n 执行第n条历史命令 使用

Linux历史命令管理以及用法

history命令管理及用法总结  命令历史:shell进程会在其会话中保存此前用户提交执行过的命令,可以用它来重复执行命令   ~]# history     包括关机前的命令:     定制history的功能,可通过环境变量实现:       HISTSIZE:shell进程可保留的命令历史的条数:       HISTFILE:持久保存命令历史的文件:       HISTFILESIZE:命令历史文件的大小:       HISTTIMEFORMAT="%F %T ":显示时

【Linux命令详解】10、查看历史命令—[ history]

10.history     可以查看命令历史记录,每一条命令前面都会有一个序列号标示. 10.1.1 命令语法:     history [选项] 10.1.2 选项参数 history命令选项参数含义 选项              选项含义 -c                 清除命令历史记录 -w                让bash将历史命令立即从内存写到.bash_history文件 -a                 将目前新增的history历史命令写入.bash_his

linux 历史命令用法(转)

许多使用过Linux一段时间的人通过一些基础操作已经能够把Linux各方面基本玩转,但是如果没有经过系统学习的话就容易缺乏一些实战技巧.这系列文章介绍一些关于bash的能够提高效率的技巧,主要是关于历史命令操作和一些快捷键,让你在命令行下工作效率翻倍,而且这些技巧不失为装逼利器呀. 历史命令操作篇 最基本的查看历史命令 history history !n 编号为n的历史命令 不用再复制粘贴,或者照着历史记录敲了.执行历史命令记录里面的某个命令,只需要 ! + 这条命令记录前的序号,比如 !76

Linux命令高效操作(2)-妙用历史命令

本希望把Linux高效操作这一个系列文章命名为unix-like命令高效操作,但是后来发现本人并没有在多数的unix-like平台实践过.本着实践第一的精神,就不把话题扯那么大了,决定更名为"linux命令高效操作",哈哈.废话不多说,我的实验系统:Linux之centos7. 今天我想聊的是每个用过Linux命令操作的同学或许都知道的一个存在:历史命令.什么是历史命令呢?通俗简单的说,就是你执行过的命令的历史.大家最常见的用处就是使用上下方向键进行命令的切换喽!刚接触命令行操作的同学

历史命令~/.bash_history

历史命令大小:/etc/profile中字段HISTSIZE=1000 历史命令保存文件:~/.bash_history history -c 清空历史命令 history -w 把历史命令写入~/.bash_history !n执行第n条历史命令 !!执行上一条历史命令 !字串 重复执行最后一条以该字串开头的历史命令 设置别名:alias 别名='原命令' 命令执行顺序:1.绝对路径或相对路径:2.别名:3.bash内部命令:4.$PATH环境变量定义的目录查找到的第一个命令

Linux历史命令和命令别名

历史命令--history history -c 清空历史命令 history -w 把缓存中的历史命令写入历史命令保存文件,默认文件为~/.bash_history 历史命令默认会保存1000条,可以在环境变量配置文件/etc/profile中进行修改 历史命令的调用方法 1.使用上下箭头可以调用历史命令 2.使用"!n" 重新执行第n条命令 3.使用"!!"重新执行上一条命令 4.使用"!xxx" 重新执行最后一条以字符串"xxx&

history历史命令

1.history命令 history命令可以查看历史命令 2.history的用法 语法: history [选项] 选项: -c:清除内存中history的历史命令.不如写入history文件 -a:把内存中的history历史命令更新到history文件中去 -r:把文件中的history历史命令加载到内存中,用于-c之后想重新加载. 3.history的历史命令保存文件 history默认保存1000条历史命令.历史命令保存在家目录下的 .bash_history . 1000条历史命令