Google Colab - Richiamo dei comandi di sistema

Jupyter include scorciatoie per molte operazioni di sistema comuni. La cella del codice Colab supporta questa funzione.

Comandi semplici

Immettere il codice seguente nella cella Codice che utilizza il comando di sistema echo.

message = 'A Great Tutorial on Colab by Tutorialspoint!'
greeting = !echo -e '$message\n$message'
greeting

Ora, se esegui la cella, vedrai il seguente output:

['A Great Tutorial on Colab by Tutorialspoint!', 'A Great Tutorial on Colab by Tutorialspoint!']

Recupero dati remoti

Esaminiamo un altro esempio che carica il set di dati da un server remoto. Digita il seguente comando nella cella del codice:

!wget http://mlr.cs.umass.edu/ml/machine-learning-databases/adult/adult.data -P "/content/drive/My Drive/app"

Se esegui il codice, vedrai il seguente output:

--2019-06-20 10:09:53-- http://mlr.cs.umass.edu/ml/machine-learning-databases/adult/adult.data
Resolving mlr.cs.umass.edu (mlr.cs.umass.edu)... 128.119.246.96
Connecting to mlr.cs.umass.edu (mlr.cs.umass.edu)|128.119.246.96|:80... connected. 
HTTP request sent, awaiting response... 200 OK 
Length: 3974305 (3.8M) [text/plain] 
Saving to: ‘/content/drive/My Drive/app/adult.data.1’

adult.data.1 100%[===================>] 3.79M 1.74MB/s in 2.2s

2019-06-20 10:09:56 (1.74 MB/s) - ‘/content/drive/My Drive/app/adult.data.1’ saved [3974305/3974305]

Come dice il messaggio, il file adult.data.1il file è ora aggiunto all'unità. Puoi verificarlo esaminando il contenuto della cartella dell'unità. In alternativa, digita il codice seguente in una nuova cella Codice:

import pandas as pd
data = pd.read_csv("/content/drive/My Drive/app/adult.data.1")
data.head(5)

Esegui il codice ora e vedrai il seguente output:

Allo stesso modo, la maggior parte dei comandi di sistema può essere richiamata nella cella del codice anteponendo al comando un punto esclamativo (!). Esaminiamo un altro esempio prima di fornire l'elenco completo dei comandi che puoi invocare.

Clonazione del repository Git

Puoi clonare l'intero repository GitHub in Colab usando il gitcomando. Ad esempio, per clonare il tutorial di keras, digita il seguente comando nella cella Codice:

!git clone https://github.com/wxs/keras-mnist-tutorial.git

Dopo un'esecuzione riuscita del comando, vedrai il seguente output:

Cloning into 'keras-mnist-tutorial'...
remote: Enumerating objects: 26, done.
remote: Total 26 (delta 0), reused 0 (delta 0), pack-reused 26
Unpacking objects: 100% (26/26), done.

Una volta che il repository è stato clonato, individua un progetto Jupyter (ad esempio MINST in keras.ipyab) al suo interno, fai clic con il pulsante destro del mouse sul nome del file e seleziona Open With / Colaboratory opzione di menu per aprire il progetto in Colab.

Alias ​​di sistema

Per ottenere un elenco di scorciatoie per operazioni comuni, eseguire il seguente comando:

!ls /bin

Vedrai l'elenco nella finestra di output come mostrato di seguito -

bash*             journalctl*       sync*
bunzip2*          kill*             systemctl*
bzcat*            kmod*             systemd@
bzcmp@            less*             systemd-ask-password*
bzdiff*           lessecho*         systemd-escape*
bzegrep@          lessfile@         systemd-hwdb*
bzexe*            lesskey*          systemd-inhibit*
bzfgrep@          lesspipe*         systemd-machine-id-setup*
bzgrep*           ln*               systemd-notify*
bzip2*            login*            systemd-sysusers*
bzip2recover*     loginctl*         systemd-tmpfiles*
bzless@           ls*               systemd-tty-ask-password-agent*
bzmore*           lsblk*            tar*
cat*              lsmod@            tempfile*
chgrp*            mkdir*            touch*
chmod*            mknod*            true*
chown*            mktemp*           udevadm*
cp*               more*             ulockmgr_server*
dash*             mount*            umount*
date*             mountpoint*       uname*
dd*               mv*               uncompress*
df*               networkctl*       vdir*
dir*              nisdomainname@    wdctl*
dmesg*            pidof@            which*
dnsdomainname@    ps*               ypdomainname@
domainname@       pwd*              zcat*
echo*             rbash@            zcmp*
egrep*            readlink*         zdiff*
false*            rm*               zegrep*
fgrep*            rmdir*            zfgrep*
findmnt*          run-parts*        zforce*
fusermount*       sed*              zgrep*
grep*             sh@               zless*
gunzip*           sh.distrib@       zmore*
gzexe*            sleep*            znew*
gzip*             stty*
hostname*         su*

Esegui uno qualsiasi di questi comandi come abbiamo fatto per echo e wget. Nel prossimo capitolo vedremo come eseguire il codice Python creato in precedenza.