Quando i neofiti mi chiedono come essere bravo con la riga di comando di Linux, di solito dicevo loro di evitare di usare la modalità GUI il più possibile. Suggerisco loro di imparare a fare cose da Terminal. Chiedi a qualsiasi esperto di Linux e ti diranno sempre:"La modalità riga di comando è più potente e facile". Concordo pienamente con questa affermazione. Nel caso, non sai come eseguire un'attività specifica dalla riga di comando, basta cercare su Google la tua domanda e iniziare da lì. La riga di comando di Linux non è così difficile come potresti pensare. Tuttavia, alcuni utenti non sono così interessati a utilizzare la modalità CLI, non importa quanto tu provi a persuaderli. Preferiscono sempre utilizzare solo la modalità GUI. Se sei uno di loro, incontra "Betty" , un assistente virtuale da riga di comando per Linux.
Betty è in qualche modo simile all'assistente personale Siri di Apple o alla funzione di ricerca vocale di Google. È un'interfaccia simile all'inglese per la tua riga di comando che traduce frasi simili all'inglese in comandi Linux. Non è necessario cercare su Google la tua domanda o non è nemmeno necessario fare riferimento alle pagine man. Basta porre le tue domande in semplici frasi inglesi e Betty farà immediatamente quello che hai appena detto. In questo breve tutorial, ti mostrerò come installare e utilizzare Betty in Linux.
Betty - L'assistente virtuale a riga di comando simile a Siri per Linux
Installa Betty
Innanzitutto, installa i prerequisiti necessari.
Su Arch Linux e derivati:
$ sudo pacman -S git curl ruby
Su sistemi basati su Debian:
$ sudo apt-get install git curl ruby
Su sistemi basati su RPM:
$ sudo yum install git curl ruby
Su SUSE, openSUSE:
$ sudo zypper install git curl ruby
Quindi, git clona il repository Betty usando il seguente comando:
$ git clone https://github.com/pickhardt/betty
Ho clonato il repository Betty nella mia directory $HOME.
Aggiungi l'alias betty in .bashrc file.
Per farlo, modifica il file .bashrc:
$ vi ~/.bashrc
Premi 'i' per passare alla modalità interattiva e incollare la seguente riga alla fine:
alias betty="/home/sk/betty/main.rb"
Quindi, premi ESC e digita :wq per salvare e uscire dal file.
In alternativa, puoi utilizzare il seguente comando one-liner per aggiungere l'alias betty nel file .bashrc.
echo 'alias betty="/home/sk/betty/main.rb"' >> ~/.bashrc
Sostituisci /home/sk/betty/ percorso con il tuo. Dato che ho clonato il repository betty nella mia directory HOME, ho usato il percorso sopra.
Infine, aggiorna le modifiche apportate al tuo file bashrc usando il seguente comando:
$ source ~/.bashrcDownload consigliato - Cheat sheet gratuito:"Cheat sheet di Linux Command Line"
Utilizzo di Betty
L'uso di Betty è banale. Permettetemi di mostrarvi alcuni esempi pratici.
Diciamo che vuoi trovare il tuo nome utente.
Per farlo, devi digitare:
$ whoami
Tuttavia, non è necessario eseguire il comando effettivo. Non devi più memorizzare e ricordare tutti i comandi Linux. Basta chiedere alla Betty in semplici frasi inglesi.
Ad esempio, per conoscere il tuo nome utente, digita:
$ betty whats my username
L'output di esempio sarebbe:
Betty: Running whoami sk
betty in azione
Fantastico, no? Betty è abbastanza intelligente da capire la tua domanda ed eseguirà il comando "whoami" e visualizzerà il risultato.
Ecco altri esempi.
$ 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
Se c'è più di un modo in cui Betty potrebbe rispondere, ti chiederà di selezionare quello che desideri. Dai un'occhiata al seguente esempio. Le ho chiesto l'indirizzo IP del mio sistema. Mi ha chiesto di rispondere:IP interno o esterno. Volevo che mostrasse il mio IP interno, quindi ho inserito 1 (numero uno). Ha eseguito il comando "ifconfig" e ha visualizzato l'indirizzo 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 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
Se Betty non riesce a capire la tua domanda, visualizzerà il seguente messaggio:
Betty: I don't understand. Hopefully someone will make a pull request so that one day I will understand.
Per altri esempi, consulta la pagina del progetto Betty GitHub.
Non pensare che Betty farà tutte le cose complesse, ad esempio la distribuzione di un server Web. Betty non può svolgere compiti così complessi da sola. Puoi utilizzare Betty per eseguire alcuni semplici comandi solo. Se vuoi aggiungere più funzionalità, invia una richiesta pull e contribuisci al progetto in GitHub (il link è fornito alla fine di questa guida).
Anche se Betty non viene mantenuta attivamente, è ancora perfettamente funzionante. Se sei troppo pigro per imparare i comandi di Linux, Betty potrebbe essere un compagno perfetto per te.