关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » HTML5 »轻松使用“Explain Shell”脚本来理解 Shell 命令

    轻松使用“Explain Shell”脚本来理解 Shell 命令

    2015-08-09 00:00:00 出处:linux.cn
    分享

    我们在Linux上工作时,每个人都会遇到需要查找shell命令的帮助信息的时候。 尽管内置的帮助像man pages、whatis命令有所助益, 但man pages的输出非常冗长, 除非是个有linux经验的人,不然从大量的man pages中获取帮助信息是非常困难的,而whatis命令的输出很少超过一行, 这对初学者来说是不够的。

    轻松使用“Explain Shell”脚本来理解 Shell 命令

    在Linux Shell中解释Shell命令

    有一些第三方应用程序, 像我们在Linux 用户的命令行速查表提及过的’cheat’命令。cheat是个优秀的应用程序,即使计算机没有联网也能提供shell命令的帮助, 但是它仅限于预先定义好的命令。

    Jackson写了一小段代码,它能非常有效地在bash shell里面解释shell命令,可能最美之处就是你不需要安装第三方包了。他把包含这段代码的的文件命名为“explain.sh”。

    explain.sh工具的特性

    易嵌入代码。 不需要安装第三方工具。 在解释过程中输出恰到好处的信息。 需要网络连接才能工作。 纯命令行工具。 可以解释bash shell里面的大部分shell命令。 无需使用root账户。

    先决条件

    唯一的条件就是’curl’包了。 在如今大多数Linux发行版里面已经预安装了curl包, 假如没有你可以按照下面的命令来安装。

    # apt-get install curl  [On Debian systems]
    # yum install curl      [On CentOS systems]

    在Linux上安装explain.sh工具

    大家要将下面这段代码插入’~/.bashrc’文件(LCTT译注: 若没有该文件可以自己新建一个)中。大家要为每个用户以及对应的’.bashrc’文件插入这段代码,但是建议你不要加在root用户下。

    我们注意到.bashrc文件的第一行代码以(#)开始, 这个是可选的并且只是为了区分余下的代码。

    #explain.sh 标记代码的开始, 我们将代码插入.bashrc文件的底部。

    # explain.sh begins
    explain () {
      if [ "$#" -eq 0 ]; then
        while read  -p "Command: " cmd; do
          curl -Gs "https://www.mankier.com/api/explain/ cols="$(tput cols) --data-urlencode "q=$cmd"
        done
        echo "Bye!"
      elif [ "$#" -eq 1 ]; then
        curl -Gs "https://www.mankier.com/api/explain/ cols="$(tput cols) --data-urlencode "q=$1"
      else
        echo "Usage"
        echo "explain                  interactive mode."
        echo "explain 'cmd -o | ...'   one quoted command to explain it."
      fi
    }

    explain.sh工具的使用

    在插入代码并保存之后,你必须退出当前的会话然后重新登录来使改变生效(LCTT译注:你也可以直接使用命令source~/.bashrc 来让改变生效)。每件事情都是交由‘curl’命令处理, 它负责将需要解释的命令以及命令选项传送给mankier服务,然后将必要的信息打印到Linux命令行。不必说的就是使用这个工具你总是需要连接网络。

    让我们用explain.sh脚本测试几个笔者不懂的命令例子。

    1.我忘了‘du -h’是干嘛用的, 我只需要这样做:

    $ explain 'du -h'

    轻松使用“Explain Shell”脚本来理解 Shell 命令

    获得du命令的帮助

    2.假如你忘了’tar -zxvf’的作用,你可以简单地如此做:

    $ explain 'tar -zxvf'

    轻松使用“Explain Shell”脚本来理解 Shell 命令

    Tar命令帮助

    3.我的一个朋友经常对’whatis’以及’whereis’命令的使用感到困惑,所以我建议他:

    在终端简单的地敲下explain命令进入交互模式。

    $ explain

    然后一个接着一个地输入命令,就能在一个窗口看到他们各自的作用:

    Command: whatis
    Command: whereis

    轻松使用“Explain Shell”脚本来理解 Shell 命令

    Whatis/Whereis命令的帮助

    你只需要使用“Ctrl+c”就能退出交互模式。

    4. 你可以通过管道来请求解释更多的命令。

    $ explain 'ls -l | grep -i Desktop'

    轻松使用“Explain Shell”脚本来理解 Shell 命令

    获取多条命令的帮助

    同样地,你可以请求你的shell来解释任何shell命令。 前提是你需要一个可用的网络。输出的信息是基于需要解释的命令,从服务器中生成的,因此输出的结果是不可定制的。

    对于我来说这个工具真的很有用,并且它已经荣幸地添加在我的.bashrc文件中。你对这个项目有什么想法?它对你有用么?它的解释令你满意吗?请让我知道吧!

    请在下面评论为我们提供宝贵意见,喜欢并分享我们以及帮助我们得到传播。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    电脑屏幕不小心竖起来了?别慌,快捷键搞定

    Destoon 模板存放规则及语法参考

    Destoon系统常量与变量

    Destoon系统目录文件结构说明

    Destoon 系统安装指南

    Destoon会员公司主页模板风格添加方法

    Destoon 二次开发入门

    Microsoft 将于 2026 年 10 月终止对 Windows 11 SE 的支持

    Windows 11 存储感知如何设置?了解Windows 11 存储感知开启的好处

    Windows 11 24H2 更新灾难:系统升级了,SSD固态盘不见了...

    IT头条

    Synology 更新 ActiveProtect Manager 1.1 以增强企业网络弹性和合规性

    00:43

    新的 Rubrik Agent Cloud 加速了可信的企业 AI 代理部署

    00:34

    宇树科技 G1人形机器人,拉动一辆重达1.4吨的汽车

    00:21

    Cloudera 调查发现,96% 的企业已将 AI 集成到核心业务流程中,这表明 AI 已从竞争优势转变为强制性实践

    02:05

    投资者反对马斯克 1 万亿美元薪酬方案,要求重组特斯拉董事会

    01:18

    技术热点

    大型网站的 HTTPS 实践(三):基于协议和配置的优化

    ubuntu下右键菜单添加新建word、excel文档等快捷方式

    Sublime Text 简明教程

    用户定义SQL Server函数的描述

    怎么在windows 7开始菜单中添加下载选项?

    SQL Server 2016将有哪些功能改进?

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。