Když se mě nováčci ptají, jak být dobrý v příkazovém řádku Linuxu, obvykle jsem jim řekl, aby se vyvarovali používání režimu GUI, jak jen mohou. Doporučuji jim, aby se naučili dělat věci z Terminálu. Zeptejte se kteréhokoli linuxového experta a vždy vám řekne – „Režim příkazového řádku je výkonnější a jednodušší“. S tímto tvrzením plně souhlasím. V případě, že nevíte, jak provést konkrétní úkol z příkazové řádky, stačí vygooglovat svou otázku a začít odtamtud. Příkazový řádek Linuxu není tak obtížný, jak si možná myslíte. Někteří uživatelé však nemají takový zájem používat režim CLI, bez ohledu na to, jak moc se je snažíte přesvědčit. Vždy raději používají pouze režim GUI. Pokud jste jedním z nich, seznamte se s Betty , virtuální asistent příkazového řádku pro Linux.
Betty je trochu podobná osobní asistentce Siri od Apple nebo funkci Google Voice Search. Je to přátelské anglické rozhraní pro váš příkazový řádek, které překládá anglické fráze do příkazů Linuxu. Nemusíte svou otázku googlit nebo dokonce nemusíte odkazovat na manuálové stránky. Stačí položit otázky v jednoduchých anglických větách a Betty okamžitě udělá, co jste právě řekli. V tomto krátkém tutoriálu vám ukážu, jak nainstalovat a používat Betty v Linuxu.
Betty – virtuální asistentka příkazového řádku podobná Siri pro Linux
Nainstalovat Betty
Nejprve nainstalujte nezbytné předpoklady.
Na Arch Linuxu a jeho derivátech:
$ sudo pacman -S git curl ruby
Na systémech založených na Debianu:
$ sudo apt-get install git curl ruby
Na systémech založených na RPM:
$ sudo yum install git curl ruby
V systému SUSE otevřeteSUSE:
$ sudo zypper install git curl ruby
Poté git klonujte úložiště Betty pomocí následujícího příkazu:
$ git clone https://github.com/pickhardt/betty
Naklonoval jsem úložiště Betty ve svém adresáři $HOME.
Přidejte alias betty do .bashrc soubor.
Chcete-li tak učinit, upravte soubor .bashrc:
$ vi ~/.bashrc
Stiskněte 'i' přepněte do interaktivního režimu a na konec vložte následující řádek:
alias betty="/home/sk/betty/main.rb"
Poté stiskněte ESC a zadejte :wq pro uložení a ukončení souboru.
Alternativně můžete použít následující jednořádkový příkaz k přidání aliasu betty do souboru .bashrc.
echo 'alias betty="/home/sk/betty/main.rb"' >> ~/.bashrc
Nahraďte /home/sk/betty/ cesta se svou vlastní. Vzhledem k tomu, že jsem naklonoval repozitář Betty ve svém domovském adresáři, použil jsem výše uvedenou cestu.
Nakonec aktualizujte změny provedené v souboru bashrc pomocí následujícího příkazu:
$ source ~/.bashrcDoporučené stažení - Zdarma Cheat Sheet:"Linux Command Line Cheat Sheet"
Využití Betty
Použití Betty je triviální. Dovolte mi ukázat vám několik praktických příkladů.
Řekněme, že chcete najít své uživatelské jméno.
Chcete-li to provést, zadejte:
$ whoami
Nemusíte však spouštět skutečný příkaz. Už si nemusíte pamatovat a pamatovat všechny příkazy Linuxu. Stačí se Betty zeptat jednoduchými anglickými frázemi.
Řekněme například, chcete-li znát své uživatelské jméno, stačí napsat:
$ betty whats my username
Ukázkový výstup by byl:
Betty: Running whoami sk

betty v akci
Skvělé, že? Betty je dostatečně chytrá, aby porozuměla vaší otázce a spustí příkaz „whoami“ a zobrazí výsledek.
Zde je více příkladů.
$ 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
Pokud existuje více než jeden způsob, jak by mohla Betty odpovědět, požádá vás, abyste vybrali ten, který chcete. Podívejte se na následující příklad. Zeptal jsem se jí na IP adresu mého systému. Požádala mě zpět - Interní nebo Externí IP. Chtěl jsem, aby zobrazila moji interní IP, tak jsem zadal 1 (číslo jedna). Spustila příkaz "ifconfig" a zobrazila IP adresu.
$ 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 http://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
Pokud Betty nerozumí vaší otázce, zobrazí následující zprávu:
Betty: I don't understand. Hopefully someone will make a pull request so that one day I will understand.
Další příklady najdete na stránce projektu Betty GitHub.
Nemyslete si, že Betty udělá všechny složité věci, například nasadí webový server. Betty tak složité úkoly sama nezvládne. Betty můžete použít k provádění několika jednoduchých příkazů pouze. Pokud chcete přidat další funkce, pošlete žádost o stažení a přispějte do projektu na GitHubu (odkaz je uveden na konci této příručky).
I když Betty není aktivně udržována, je stále plně funkční. Pokud jste příliš líní učit se příkazy Linuxu, Betty by pro vás mohla být perfektním společníkem.