0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

总结Linux系统上的命令使用详细情况

如意 来源:Linux中国 作者:Sandra Henry-stocker 2020-08-16 09:16 次阅读

使用合适的命令,你可以快速了解 Linux 系统上使用的命令以及执行的频率。

汇总 Linux 系统上使用的命令只需一串相对简单的命令以及几条管道将它们绑定在一起。当你的历史记录缓冲区保留了最近的 1,000 或 2,000 条命令时,总结你的命令活动可能会变得很乏味。这篇文章提供了一种方便的方法来汇总命令的使用情况,并高亮显示最常用的命令。

首先,请记住,典型的命令历史记录可能看起来像这样。请注意,命令是显示在命令序列号之后,并紧跟其参数

91 sudo apt-get install ccrypt

^

+-- command

请注意,history 命令遵循 HISTSIZE 的设置,这会决定保留多少条命令。可能是 500、1,000 或更多。如果你不喜欢它的设置,那么可以在 .bashrc 或其他启动文件中添加或更改 HISTSIZE 设置。

$ echo $HISTSIZE

1000

$ history | wc -l

1000

$ grep HISTSIZE ~/.bashrc

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)

HISTSIZE=1000

记下大量命令的主要好处之一是,它可以让你轻松地重新运行过去使用的命令,而不必重新输入或记住它们。它还能让你轻松地查看你在一个任务中已经做了多少工作。单独使用 history 命令时,你会看到类似下面这样,最早的在最前面:

$ history

7 vi tasks

8 alias

9 echo $HISTTIMEFORMAT

10 history

11 date …

查看最新使用命令需要查看记录的命令的尾部:

$ history | tail -4

1007 echo $HISTSIZE

1008 history | wc -l

1009 history

1010 history | tail -4

另外,你可以使用 tail 命令查看 .bash_history 文件的尾部,但是 history 命令显示的数字可以让你输入如 !1010 这样的数字重新运行命令,这点通常更有用。

要提供已使用命令的汇总(例如 vi 和 echo),你可以首先使用 awk 将命令与 history 中保存的其他信息分隔开来:

$ history | awk ‘{print $2}’

vi

alias

echo

history

date

如果你将历史记录中的命令列表传递给 sort 命令以按字母顺序对命令进行分组,那么会得到以下内容:

$ history | awk ‘{print $2}’ | sort

7z

7z

alias

apropos

cdcd

接下来,将 sort 命令的输出传递给 uniq -c ,这将计算每个命令使用了多少次:

$ history | awk ‘{print $2}’ | sort | uniq -c

2 7z

1 alias

2 apropos

38 cd

21 chmod

最后,添加第二个 sort 命令按倒序对命令组计数进行排序,这将先列出最常用的命令:

$ history | awk ‘{print $2}’ | sort | uniq -c | sort -nr

178 ls

95 vi

63 cd

53 sudo

41 more

这样可以让你了解使用最多的命令,但不会包括任何你可能故意从历史记录文件中删除的命令,例如:

HISTIGNORE=“pwd:clear:man:history”

当修改了历史记录格式时

对于默认的历史记录格式,history 命令输出中的第一个字段将是每个命令的序号,第二个字段是使用的命令。因此,上面所有 awk 命令都设置成显示 $2。

$ alias cmds=‘history | awk ’\‘’{print $2}‘\’‘ | sort | uniq -c | sort -nr’

如果你像下面那样将日期和时间添加了到 history 命令中,那么你还必须修改所设置的别名:

$ echo $HISTTIMEFORMAT

%d/%m/%y %T

这个日期/时间信息有时会很有帮助,但是这意味着你必须在选择 history 命令的第 4 个字段而不是第 2 个字段来汇总命令,因为你的历史记录条目将如下所示:

91 05/07/20 16:37:39 sudo apt-get install ccrypt

^

+-- command

因此,在将 $2 变为 $4 之后,用于检查 history 命令的别名将改为这样:

$ alias cmds=‘history | awk ’\‘’{print $4}‘\’‘ | sort | uniq -c | sort -nr’

可将别名保存在 .bashrc 或其他启动文件中,请确保在 $ 符号前面插入反斜杠,以便 bash 不会尝试解释 $4。

alias cmds=‘history | awk ’\‘’{print \$2}‘\’‘ | uniq -c | sort -nr’

alias cmds=‘history | awk ’\‘’{print \$4}‘\’‘ | uniq -c | sort -nr’

请注意,日期和时间信息与命令本身保存在历史记录文件的不同行中。因此,添加此信息后,bash 历史记录文件的行数将增加一倍,尽管在 history 命令输出时不会:

$ wc -l .bash_history

2000 .bash_history

$ history | wc -l

1000

总结

你可以随时决定要保留多少命令历史记录,哪些命令不值得记录,以使你的命令摘要最有用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11216

    浏览量

    208789
  • 命令
    +关注

    关注

    5

    文章

    678

    浏览量

    21971
  • 虚拟机
    +关注

    关注

    1

    文章

    908

    浏览量

    28038
收藏 人收藏

    评论

    相关推荐

    Linux系统中shell命令解析

    shell是Linux系统的用户界面,提供了用户与内核交互的一种接口,它接收用户输入的命令并到送到内核去执行,因此也被称为Linux命令
    的头像 发表于 11-05 15:40 118次阅读

    晶闸管导通的五种情况

    晶闸管作为一种重要的电力电子器件,其导通状态受多种因素影响。以下是晶闸管导通的五种详细情况,每种情况都结合了晶闸管的工作原理、结构特性及外部条件进行阐述。
    的头像 发表于 08-27 16:25 1212次阅读

    util-linux修复WallEscape漏洞,影响Linux系统wall命令使用

    WallEscape 主要影响“wall”命令操作,Linux 系统中的常规下,该指令被用作向系统所有登录用户的终端发布消息。然而在处理命令
    的头像 发表于 03-29 14:35 925次阅读

    Linux如何通过命令行来更改日期和时间?

    Linux如何通过命令行来更改日期和时间? 在Linux,我们可以使用命令行工具来更改日期
    的头像 发表于 01-16 17:10 2715次阅读

    Linux基本命令总结

    都说Linux命令多,实际工作中我们又有多少命令会接触用到呢?本文跟大家分享Linux运维工作中常用的600个命令,可以说这些
    的头像 发表于 01-11 10:32 935次阅读

    常用Linux命令总结

    今天浩道跟大家分享一些平时运维工作中常用到的Linux命令,让你关键时候也可以在领导面前露一手!大家不要觉得命令使用简单,实际浩道接触的现场同事,
    的头像 发表于 12-26 09:49 394次阅读

    linux系统修改ip命令

    Linux系统修改IP命令是掌握Linux网络管理的基础之一。在Linux操作系统中,我们可以使
    的头像 发表于 11-27 15:17 2020次阅读

    linux更改ip步骤命令

    inux是一种广泛应用于服务器和嵌入式设备的操作系统,通过更改IP地址,可以对网络进行重新配置和优化,以满足不同的需求。在Linux中,可以使用不同的命令和配置文件进行IP地址的更改。本文将
    的头像 发表于 11-27 14:38 1677次阅读

    linux备份文件命令bak

    Linux系统中,备份文件是非常重要的,它可以防止数据丢失和损坏的风险。为了达到安全的目的,我们经常需要备份文件。在这篇文章中,我们将详细介绍Linux中备份文件的
    的头像 发表于 11-23 10:12 2491次阅读

    linux关闭docker的命令

    Linux 系统中,关闭 Docker 的操作可以通过以下多种方式进行。本文将详细讲解每一种方式,并提供示例代码和命令,以帮助读者更好地理解和实践。 使用 docker
    的头像 发表于 11-23 09:39 2729次阅读

    linux关机命令有哪些

    Linux系统中用于关机的命令有多种,包括shutdown、poweroff、halt、reboot等等。下面将详细介绍这些命令的用法和参数
    的头像 发表于 11-17 11:15 1668次阅读

    linux中top命令详解

    Linux系统中的top命令是一个非常强大和常用的命令,用于实时监控和管理系统的运行状态。它能够显示系统
    的头像 发表于 11-17 10:25 2004次阅读

    总结linux命令行的主要用法

    Linux命令行是一种在Linux操作系统中通过文本界面来执行指令和管理系统的方式。它提供了丰富的功能和灵活性,帮助用户完成各种任务。本文将
    的头像 发表于 11-17 10:19 610次阅读

    linux重启命令有哪些

    Linux是一种自由和开放源代码的操作系统,被广泛应用于服务器和嵌入式设备。在Linux中,有多种命令用于重启系统。在本文中,我们将
    的头像 发表于 11-17 09:49 1955次阅读

    linux常用命令及用法

    Linux是一种开源的操作系统,它以稳定、高效和安全的特点受到广大用户的喜爱。掌握Linux的常用命令及其用法对于操作系统的管理和开发都至关
    的头像 发表于 11-17 09:47 618次阅读