在Linux平台上工作时,我们需要在shell命令上的帮助,在某个时间点。 虽然像人的页面 ,whatis命令是有益的,但手册页输出内置的帮助太冗长,直至及除非有Linux的一些经验,这是非常难以得到大规模的手册页任何帮助。 whatis命令的输出是很少超过一条线是不够的新手。
在Linux Shell中解释Shell命令
有第三方应用程序像' 欺骗 ',这是我们这里讨论“ 为Linux用户命令行小抄 。 虽然Cheat是一个非常好的应用程序,它显示shell命令帮助,即使计算机未连接到Internet,它只显示有关预定义命令的帮助。
有杰克逊写的一小段代码,它能够非常有效地在bash shell中解释shell命令和猜测最好的部分是你不需要安装任何第三方软件包。 他称包含这段代码的文件'explain.sh'
说明实用程序的功能
- 简单的代码嵌入。
- 不需要安装第三方实用程序。
- 在解释过程中输出正好足够的信息。
- 需要互联网连接才能工作。
- 纯命令行实用程序。
- 能够解释大多数shell命令在bash shell。
- 无需root帐户。
先决条件
唯一的要求是'curl'
包。 在今天的大多数最新的Linux发行版本中,curl软件包已经预先安装,如果没有,你可以使用软件包管理器安装它,如下所示。
# apt-get install curl [On Debian systems] # yum install curl [On CentOS systems]
在Linux中安装explain.sh实用程序
我们必须插入下面的代码段,因为它是在~/.bashrc
的文件。 代码应插入针对每个用户和每个.bashrc
文件。 建议插入代码到用户的.bashrc文件,而不是只在根用户的.bashrc中 。
注意的第一行代码,与哈希启动(#)
是可选的,只是加区分的.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实用程序
插入代码并保存后,必须注销当前会话,然后重新登录以使更改生效。 每一件事情是由“卷曲”命令,它传送需要解释的mankier服务器,然后只打印必要的信息以在Linux命令行输入命令和标志的照顾。 更不用说使用这个实用程序,你必须永远连接到互联网。
让我们测试,我不知道跟explain.sh脚本的含义命令的几个例子。
1.我忘了“ 杜-h'呢。 我所需要做的是:
$ explain 'du -h'
获取帮助du命令
2.如果您忘记什么tar-zxvf'呢,你可以简单地做:
$ explain 'tar -zxvf'
tar命令帮助
3.我的一个朋友经常混淆使用“ whatis ”和“whereis”命令,所以我劝他。
只需键入在终端上解释命令进入互动模式。
$ explain
然后一个接一个地键入命令,以查看它们在一个窗口中执行的操作,如:
Command: whatis Command: whereis
Whatis Whereis命令帮助
要退出交互模式,他需要做的仅仅Ctrl + C。
4.你可以要求解释由管道串连多个命令。
$ explain 'ls -l | grep -i Desktop'
获取多个命令的帮助
同样,你可以要求你的shell解释任何shell命令。 所有你需要的是一个有效的互联网连接。 输出基于服务器所需的说明生成,因此输出结果不可自定义。
对我来说,这个工具是真正有用的,它已被荣幸被添加到我的.bashrc。 让我知道你对这个项目的想法是什么? 它如何对你有用? 解释是否令人满意?
请在下面的评论中向我们提供您宝贵的反馈。 喜欢和分享我们,并帮助我们传播。