当新手问我如何擅长 Linux 命令行时,我通常会告诉他们尽可能避免使用 GUI 模式。 我建议他们从终端学习如何做事。 问任何 Linux 专家,他们总是会说——“命令行模式更强大、更简单”。 我完全同意这个说法。 如果您不知道如何从命令行执行特定任务,只需搜索您的问题并从那里开始。 Linux 命令行并不像您想象的那么难。 但是,无论您如何说服他们,有些用户对使用 CLI 模式并不感兴趣。 他们总是喜欢只使用 GUI 模式。 如果你是他们中的一员,见面 “贝蒂”,一个用于 Linux 的命令行虚拟助手。
Betty 有点类似于 Apple 的 Siri 个人助理或 Google 语音搜索功能。 它是一个友好的类似英语的命令行界面,可以将类似英语的短语翻译成 Linux 命令。 您不需要搜索您的问题,甚至不需要参考手册页。 只需用简单的英语句子问您的问题,Betty 就会立即照您说的做。 在这个简短的教程中,我将向您展示如何在 Linux 中安装和使用 Betty。
Betty – 类似 Siri 的 Linux 命令行虚拟助手
安装贝蒂
首先,安装必要的先决条件。
在 Arch Linux 及其衍生产品上:
$ sudo pacman -S git curl ruby
在基于 Debian 的系统上:
$ sudo apt-get install git curl ruby
在基于 RPM 的系统上:
$ sudo yum install git curl ruby
在 SUSE 上,openSUSE:
$ sudo zypper install git curl ruby
然后,使用以下命令 git 克隆 Betty 存储库:
$ git clone https://github.com/pickhardt/betty
我在我的 $HOME 目录中克隆了 Betty 存储库。
在中添加 betty 别名 .bashrc 文件。
为此,请编辑 .bashrc 文件:
$ vi ~/.bashrc
按 ‘一世’ 切换到交互模式并在末尾粘贴以下行:
alias betty="/home/sk/betty/main.rb"
然后,按 ESC键 并输入 :wq 保存并退出文件。
或者,您可以使用以下单行命令在 .bashrc 文件中添加 betty 别名。
echo 'alias betty="/home/sk/betty/main.rb"' >> ~/.bashrc
代替 /家/sk/贝蒂/ 与你自己的路径。 由于我已经在我的 HOME 目录中克隆了 betty 存储库,因此我使用了上述路径。
最后,使用以下命令更新 bashrc 文件中所做的更改:
$ source ~/.bashrc
推荐下载 – 免费备忘单:“Linux 命令行备忘单”
贝蒂用法
贝蒂的使用是微不足道的。 请允许我向您展示一些实际的例子。
让我们说,你想找到你的用户名。
为此,您将键入:
$ whoami
但是,您不需要运行实际命令。 您不再需要记忆和记住所有 Linux 命令。 只需用简单的英语短语问贝蒂。
说为 example,要知道您的用户名,只需键入:
$ betty whats my username
示例输出为:
Betty: Running whoami sk
贝蒂在行动
酷,不是吗? Betty 足够聪明,可以理解您的问题,它会执行命令“whoami”并显示结果。
这里有更多例子。
$ betty whats my kernel version Betty: Running uname -a Linux ubuntuserver 4.15.0-30-generic #32-Ubuntu SMP Thu Jul 26 17:42:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$ betty what time is it Betty: Running date +"%r (%T)" 06:59:17 PM (18:59:17)
$ betty what month is it Betty: Running date +%B August
如果贝蒂有不止一种回应方式,她会要求您选择您想要的一种。 看看以下 example. 我问过她我系统的 IP 地址。 她问我 – 内部或外部 IP。 我想让她显示我的内部 IP,所以我输入了 1(第一)。 她运行“ifconfig”命令并显示 IP 地址。
$ betty whats my ip address Betty: Okay, I have multiple ways to respond. Betty: Enter the number of the command you want me to run, or N (no) if you don't want me to run any. [1] ifconfig Gets your internal ip address. [2] curl -sL https://pannous.net/ip.php Gets your external ip address. 1 Betty: Running ifconfig lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlp9s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.43.192 netmask 255.255.255.0 broadcast 192.168.43.255 inet6 fe80::c218:85ff:fe50:474f prefixlen 64 scopeid 0x20<link> ether a0:38:73:10:99:5h txqueuelen 1000 (Ethernet) RX packets 102938 bytes 101205525 (96.5 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 75264 bytes 12390762 (11.8 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
如果 Betty 无法理解您的问题,她将显示以下消息:
Betty: I don't understand. Hopefully someone will make a pull request so that one day I will understand.
有关更多示例,请参阅 Betty GitHub 项目页面。
不要以为 Betty 会做所有复杂的事情,例如部署 Web 服务器。 贝蒂一个人无法完成如此复杂的任务。 您可以使用贝蒂 执行一些简单的命令 只要。 如果您想添加更多功能,请发送拉取请求并在 GitHub 中为项目做出贡献(本指南末尾提供了链接)。
即使 Betty 没有得到积极维护,它仍然可以正常工作。 如果你懒得学习 Linux 命令,Betty 可能是你的完美伴侣。
资源:
感谢您的光临!
帮助我们帮助您:
- 订阅我们的电子邮件通讯: 立即注册
- 支持 OSTechNix: 通过贝宝捐款
- 下载免费的电子书和视频: TradePub 上的 OSTechNix
- 联系我们: 红迪网 | Facebook | Twitter | 领英 | RSS订阅
祝你有美好的一天!!