Google Colab - invocando comandos do sistema
O Jupyter inclui atalhos para muitas operações comuns do sistema. A célula do código Colab suporta este recurso.
Comandos Simples
Insira o código a seguir na célula Código que usa o eco de comando do sistema.
message = 'A Great Tutorial on Colab by Tutorialspoint!'
greeting = !echo -e '$message\n$message'
greeting
Agora, se você executar a célula, verá a seguinte saída -
['A Great Tutorial on Colab by Tutorialspoint!', 'A Great Tutorial on Colab by Tutorialspoint!']
Obtendo Dados Remotos
Vejamos outro exemplo que carrega o conjunto de dados de um servidor remoto. Digite o seguinte comando em sua célula de código -
!wget http://mlr.cs.umass.edu/ml/machine-learning-databases/adult/adult.data -P "/content/drive/My Drive/app"
Se você executar o código, verá a seguinte saída -
--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 diz a mensagem, o adult.data.1arquivo agora está adicionado à sua unidade. Você pode verificar isso examinando o conteúdo da pasta de sua unidade. Como alternativa, digite o seguinte código em uma nova célula de código -
import pandas as pd
data = pd.read_csv("/content/drive/My Drive/app/adult.data.1")
data.head(5)
Execute o código agora e você verá a seguinte saída -
Da mesma forma, a maioria dos comandos do sistema podem ser chamados em sua célula de código, acrescentando um ponto de exclamação (!) Ao comando. Vejamos outro exemplo antes de fornecer a lista completa de comandos que você pode invocar.
Clonando Repositório Git
Você pode clonar todo o repositório GitHub no Colab usando o gitcomando. Por exemplo, para clonar o tutorial keras, digite o seguinte comando na célula Código -
!git clone https://github.com/wxs/keras-mnist-tutorial.git
Após uma execução bem-sucedida do comando, você veria a seguinte saída -
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.
Depois que o repo for clonado, localize um projeto Jupyter (por exemplo, MINST em keras.ipyab) nele, clique com o botão direito no nome do arquivo e selecione Open With / Colaboratory opção de menu para abrir o projeto no Colab.
Aliases de sistema
Para obter uma lista de atalhos para operações comuns, execute o seguinte comando -
!ls /bin
Você verá a lista na janela de saída conforme mostrado abaixo -
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*
Execute qualquer um desses comandos como fizemos para echo e wget. No próximo capítulo, veremos como executar o código Python criado anteriormente.