Google Colab: invocación de comandos del sistema

Jupyter incluye atajos para muchas operaciones comunes del sistema. La celda Colab Code admite esta función.

Comandos simples

Ingrese el siguiente código en la celda Código que usa el comando del sistema echo.

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

Ahora, si ejecuta la celda, verá el siguiente resultado:

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

Obtener datos remotos

Veamos otro ejemplo que carga el conjunto de datos desde un servidor remoto. Escriba el siguiente comando en su celda de Código:

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

Si ejecuta el código, verá el siguiente resultado:

--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]

Como dice el mensaje, el adult.data.1El archivo ahora está agregado a su unidad. Puede verificar esto examinando el contenido de la carpeta de su unidad. Alternativamente, escriba el siguiente código en una nueva celda de Código:

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

Ejecute el código ahora y verá el siguiente resultado:

Del mismo modo, la mayoría de los comandos del sistema se pueden invocar en su celda de código anteponiendo el comando con un signo de exclamación (!). Veamos otro ejemplo antes de dar la lista completa de comandos que puede invocar.

Clonación del repositorio de Git

Puede clonar todo el repositorio de GitHub en Colab usando el gitmando. Por ejemplo, para clonar el tutorial de keras, escriba el siguiente comando en la celda Código:

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

Después de una ejecución exitosa del comando, verá el siguiente resultado:

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 vez que se clona el repositorio, ubique un proyecto de Jupyter (por ejemplo, MINST en keras.ipyab) en él, haga clic con el botón derecho en el nombre del archivo y seleccione Open With / Colaboratory opción de menú para abrir el proyecto en Colab.

Alias ​​del sistema

Para obtener una lista de accesos directos para operaciones comunes, ejecute el siguiente comando:

!ls /bin

Verá la lista en la ventana de salida como se muestra a continuación:

bash*             journalctl*       sync*
bunzip2*          kill*             systemctl*
bzcat*            kmod*             [email protected]
[email protected]            less*             systemd-ask-password*
bzdiff*           lessecho*         systemd-escape*
[email protected]          [email protected]         systemd-hwdb*
bzexe*            lesskey*          systemd-inhibit*
[email protected]          lesspipe*         systemd-machine-id-setup*
bzgrep*           ln*               systemd-notify*
bzip2*            login*            systemd-sysusers*
bzip2recover*     loginctl*         systemd-tmpfiles*
[email protected]           ls*               systemd-tty-ask-password-agent*
bzmore*           lsblk*            tar*
cat*              [email protected]            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*              [email protected]    wdctl*
dmesg*            [email protected]            which*
[email protected]    ps*               [email protected]
[email protected]       pwd*              zcat*
echo*             [email protected]            zcmp*
egrep*            readlink*         zdiff*
false*            rm*               zegrep*
fgrep*            rmdir*            zfgrep*
findmnt*          run-parts*        zforce*
fusermount*       sed*              zgrep*
grep*             [email protected]               zless*
gunzip*           [email protected]       zmore*
gzexe*            sleep*            znew*
gzip*             stty*
hostname*         su*

Ejecute cualquiera de estos comandos como lo hemos hecho para echo y wget. En el próximo capítulo, veremos cómo ejecutar su código Python creado previamente.