首页 > 系统相关 >linux 的history命令详解

linux 的history命令详解

时间:2023-09-23 19:32:32浏览次数:33  
标签:历史记录 Downloads vim 命令 详解 linux 执行 history

简介

在 Linux 操作系统中,history 命令是一个非常常用的命令。它可以让用户查看他们在终端中运行过的所有命令,这些命令会按照时间顺序排列.

history 命令的基本用法

history 命令的基本用法非常简单。只需要在终端中输入 history 命令,就可以查看之前所有执行过的命令。这些命令会按照时间顺序排列,最新的命令会显示在最上面。下面是一个示例:

$ history
1  ls
2  cd Documents/
3  vim report.txt
4  cat report.txt
5  exit
6  history

在上面的示例中,我们执行了一些常见的命令,如 ls、cd、vim 和 cat。最后,我们还执行了一次 history 命令,以便查看之前执行过的所有命令。

history 命令的参数

history命令有许多选项,下面介绍其中一些常用的选项:

-c:清空历史命令记录。

-a:将当前会话中执行的命令追加到历史命令记录中。

-w:将历史命令记录写入历史命令文件(默认为~/.bash_history)。

-r:读取历史命令文件中的命令记录,并将其添加到当前命令历史记录中。

-n:显示最近的N条历史命令。

-p:显示以指定字符串开头的历史命令。

-s:将指定的字符串添加到命令历史记录中。

history 命令的技巧

除了基本用法和参数之外,history 命令还有一些技巧,这些技巧可以帮助我们更好地使用该命令。

使用 !!

使用 !! 可以快速执行上一条命令。这对于需要频繁重复执行某个命令的情况非常有用。

$ ls
Documents/ Downloads/ Pictures/ Music/ Videos/
$ cd Downloads/
$ pwd
/home/user/Downloads
$ !!
cd Downloads/
$ pwd
/home/user/Downloads

在上面的示例中,我们首先执行了 ls 命令,然后切换到 Downloads 目录并查看当前目录路径。然后,我们使用 !! 快速执行了上一条命令(即 cd Downloads/)。最后,我们再次查看当前目录路径,并确认已经成功切换到 Downloads 目录。

使用 !n

使用 !n 可以快速执行历史记录中编号为 n 的命令。例如,如果您想要重新执行编号为 3 的命令,则可以输入 !3。

$ !3
vim report.txt

在上面的示例中,我们重新执行了编号为 3 的命令(即 vim report.txt)。

使用 Ctrl + R

使用 Ctrl + R 可以快速搜索历史记录中包含特定字符串的命令。例如,如果您想要查找包含字符串“vim”的命令,则可以按下 Ctrl + R 并输入“vim”。

(reverse-i-search)`vim': vim report.txt

在上面的示例中,我们按下了 Ctrl + R 并输入了“vim”。然后,我们看到了包含字符串“vim”的最后一个命令(即 vim report.txt)。如果您想要查找更早的命令,则可以按下 Ctrl + R 继续搜索。

删除命令

可以直接打开文件进行删除:

历史记录文件名为.bash_history;我是在root文件下
vim .bash_history
然后通过vim命令删除,好比100dd,删除光标下的100行,然后保存

如果你不想将当前会话中的命令记录保存到历史记录文件中,可以使用以下命令来禁用历史记录记录:

unset HISTFILE

这个命令会将HISTFILE环境变量设置为空值,这样当前会话中的命令记录就不会被保存到历史记录文件中。请注意,这不会删除已经保存在历史记录文件中的命令记录。

如果你只是想在当前会话中禁用历史记录记录,但是希望以后的会话中继续保存历史记录,请使用以下命令:

set +o history

这个命令会将history选项设置为关闭状态,这样当前会话中的命令记录就不会被保存到历史记录文件中。请注意,这不会删除已经保存在历史记录文件中的命令记录。如果你想重新启用历史记录记录,请使用以下命令:

set -o history

history命令多窗口同步

我们通常会打开多个远程命令行窗口连接到一台主机进行操作,这样更方便,假设我通过ssh远程工具,打开了两个远程窗口,窗A、窗B

加入我们一开始在窗A执行了一些命令,然后切换到窗B,在窗B中又执行了一些不同的命令。

那么这时候我们在窗B中使用history命令查看历史命令,会发现窗A中执行过的命令并没有在窗B中的history中显示。

我们可以通过如下方法,将窗A中的命令历史同步到窗B中

1、在窗A中执行history -a将内存中的命令写入到历史文件中

2、在窗B中执行history -n ,从历史文件中将新增历史命令加载到窗B的内存历史列表中

3、在窗B中执行history命令,已经可以看到窗A中执行过的命令

结论

您已经了解了如何使用 history 命令来查看之前执行过的所有命令。此外,您还学习了一些常见的参数和技巧,这些参数和技巧可以帮助您更好地使用该命令。

标签:历史记录,Downloads,vim,命令,详解,linux,执行,history
From: https://blog.51cto.com/javayida/7580570

相关文章

  • Flutter路由插件fluro详解
    fluro的使用fluro的介绍fluro是一个流行的Flutter插件,用于实现高级路由管理。它提供了灵活的路由配置和导航功能,支持命名路由、参数传递、路由拦截、动画效果等,使得在Flutter应用程序中管理页面导航变得更加简单和可扩展。下面是对fluro插件的详细介绍:安装和导入:您可以通过在pu......
  • Linux文件管理学习感悟与笔记
    1.文件目录与路径 绝对路径与相对路径的区别绝对路径:路径的写法,由根目录/写起,例如:/usr.share/doc这个目录相对路径:路径的写法,不是由/写起,例如由/usr/share/doc要到/usr/share/man底下时,可以写成:cd../man这就是相对路径的写法2.目录与文件操作处理目录的常用命......
  • linux在线编译
    2. https://bellard.org/jslinux/点击链接就行噢!------个人用其实我们从图中获取到很多的信息,比如cpu,操作系统os,userinterface(用户界面),这里一般我们练习的或用户界面选择的是console(控制台)界面,俗称命令界面。有一个极大的问题,就是因为jslinux是直接模拟了linux系统启动操作......
  • linux的rsync同步功能
    环境centos7.9,rsync3.1.2介绍rsync是一种强大的数据备份和同步工具,能够在本地或远程系统之间复制和同步文件和目录。rsync可用于备份数据、同步目录、传输文件等,并具有高效、灵活和安全的特性。使用rsync的基本使用方法很简单,以下是其基本命令格式:rsync[options]sourced......
  • 《Unix/Linux系统编程》教材学习笔记第十章
    chapter10sh编程sh脚本包含sh语句的文本文件,命令解释程序sh要执行该语句。eg.mysh.sh#!/bin/bash#commentlineechohello使用chmod+xmysh可以执行该文件。#!开头一般称为shebang,若未指定,则将运行默认sh,即Linux中的/bin/bash。sh脚本与C程序比较不难看出两者有......
  • Linux上某个磁盘挂载不上
    想把新创建的 /dev/datavg/data_lv挂载到/mysql目录上 mkfs-txfs-f/dev/datavg/data_lvmount/dev/datavg/data_lv/mysql 但是磁盘挂载不上,也没有任何参数1、可能有人占用这个目录fuser-mv/mysql 查看并没有人占用2、系统记录的信息可能有误查看日志j......
  • Linux网站搭建(nginx+php+mysql)
    目录nginx安装nginx服务器依赖环境源码安装和yum安装的区别源码安装源码安装三步走:php下载安装所有扩展:(php运行所需要的环境)编辑/etc/php.ini开启php-fpm在html下创建index.php,看一下是否可以网页中访问得到它编辑nginx配置文件重启服务mysql安装mysqlmysql的使用......
  • iperf3:网络测试工具及测试用例+参数详解
    1,iperf3简介iPerf3是用于主动测试IP网络上最大可用带宽的工具。它支持时序、缓冲区、协议(TCP,UDP,SCTP与IPv4和IPv6)有关的各种参数。对于每次测试,它都会详细的带宽报告,延迟抖动和数据包丢失。它与原始iPerf不共享任何代码,也不向后兼容。它是一个C/S架构的测试工具,需要在同时运......
  • 3dmax:车削详解
    一、车削动作原理:围绕线段的一个轴旋转一周1.1在前视图里画一段白线,此为要车削的原始线条:默认以b为轴心,旋转一周【对齐---中心】以a为轴心,旋转一周【对齐---最小(最左端)】以c为轴心,旋转一周【对齐---最大(最右端)】2.手动调整旋转轴心位置:点到编辑里展开命令,点......
  • Rocky Linux 8配置时间同步服务 chrony
    我们需要再单独去安装 dnfinstall-ychrony,只需要配置对应的时间同步服务器即可。服务器配置#Usepublicserversfromthepool.ntp.orgproject.#Pleaseconsiderjoiningthepool(http://www.pool.ntp.org/join.html).server10.32.186.70iburst  //添加时间服......