关闭 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文件中。你对这个项目有什么想法?它对你有用么?它的解释令你满意吗?请让我知道吧!

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

    上一篇返回首页 下一篇

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

    别人在看

    Edge浏览器百度被劫持/篡改怎么办,地址后边跟着尾巴#tn=68018901_7_oem_dg

    Google Chrome 在 iPhone 上新增了 Safari 数据导入选项

    Windows 11专业版 KMS工具激活产品密钥的方法

    DEDECMS安全策略官方出品

    Microsoft Text Input Application 可以关闭吗?

    新版本QQ如何关闭自带的浏览器?

    C++编程语言中continue的用法和功能,附举例示范代码

    c++ map 的数据结构、基本操作以及其在实际应用中的使用。

    C语言如何避免内存泄漏、缓冲区溢出、空指针解引用等常见的安全问题

    C语言中的break语句详解

    IT头条

    马斯克2026最新采访总结:2040年,全球机器人数量将突破100亿台

    23:52

    专家解读|规范人工智能前沿业态健康发展的新探索:解读《人工智能拟人化互动服务管理暂行办法》

    00:54

    用至强 6高存力搞定MoE卸载!

    17:53

    美国将允许英伟达向中国“经批准的客户”出售H200 GPU

    02:08

    苹果与微信就15%手续费达成一致?腾讯未置可否

    22:00

    技术热点

    PHP 和 Node.js 的10项对比挑战

    Javascript闭包深入解析及实现方法

    windows 7、windows 8.1手动增加右键菜单功能技巧

    MYSQL出错代码大汇总

    windows 7假死机怎么办 windows 7系统假死机的原因以及解决方法

    Ubuntu(Linux)下配置IP地址的方法

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

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