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

    文章

    10990

    浏览量

    206733
  • 命令
    +关注

    关注

    5

    文章

    638

    浏览量

    21849
  • 虚拟机
    +关注

    关注

    1

    文章

    855

    浏览量

    27372
收藏 人收藏

    评论

    相关推荐

    Linux基本命令总结

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

    常用Linux命令总结

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

    linux系统修改ip命令

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

    linux中top命令详解

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

    总结linux命令行的主要用法

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

    linux重启命令有哪些

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

    linux free命令原理

    Linux中的 free 命令是一个用于查看系统内存使用情况的工具。它显示了系统内存的详细信息,
    的头像 发表于 11-08 11:23 239次阅读

    linux free命令详解

    linux free命令是一个用于查看系统内存使用情况的工具。通过free命令,我们可以获取有关系统
    的头像 发表于 11-08 11:20 635次阅读

    shell命令linux命令一样吗

    结合在一起,形成一个相当于面向过程的程序,即shell script,从而实现一些复杂的功能。 而Linux命令则是用来对Linux系统进行管理的
    的头像 发表于 11-08 10:51 1373次阅读

    高效Linux命令使用技巧总结

    众所周知,Linux命令众多,但是却很少人懂得去使用它的高效命令。一方面是没有现成的资料;另一方面是大家固定了命令原有使用模式,认为不论白猫黑猫,能够捉住老鼠就是好猫了!本文浩道将结合
    发表于 09-25 09:44 259次阅读

    嵌入式Linux命令总结

    嵌入式Linux命令总结
    发表于 09-19 16:30 277次阅读

    Linux常用命令总结

    不少Linux运维初级同学,一到面试环节,就会在基础上掉链子,比如一些简单的命令都会不知道,今天浩道跟大家分享这篇硬核干货,可以帮助大家几分钟回顾掌握Linux常用命令!!!
    发表于 09-04 17:14 329次阅读

    常用Linux命令要记牢!

    linux命令是对Linux系统进行管理的命令。对于Linux
    的头像 发表于 08-07 15:31 444次阅读

    嵌入式Linux命令总结

    今天,带来一篇 Linux 命令总结的非常全的文章,也是我们平时工作中使用率非常高的操作命令命令有点多,建议小伙伴们可以先收藏后阅读。
    发表于 06-13 15:15 288次阅读

    Linux 命令大全建议收藏

    本文为 Linux 命令大全,从 A 到 Z 都有总结,建议大家收藏以便查用,或者查漏补缺!
    的头像 发表于 05-12 10:53 583次阅读