📜  Google Colab-调用系统命令

📅  最后修改于: 2020-10-16 02:35:28             🧑  作者: Mango


Jupyter包含许多常见系统操作的快捷方式。 Colab代码单元支持此功能。

简单命令

在使用系统命令echo的“代码”单元格中输入以下代码。

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

现在,如果您运行该单元格,您将看到以下输出-

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

获取远程数据

让我们看一下另一个示例,该示例从远程服务器加载数据集。在您的代码单元格中键入以下命令-

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

如果运行代码,您将看到以下输出-

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

如消息所示, adult.data.1文件现在已添加到驱动器中。您可以通过检查驱动器的文件夹内容来验证这一点。或者,在新的“代码”单元格中键入以下代码-

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

现在运行代码,您将看到以下输出-

获取远程数据

同样,大多数系统命令可以通过在代码单元格前面加上感叹号(!)来调用。在给出您可以调用的命令的完整列表之前,让我们研究另一个示例。

克隆Git仓库

您可以使用git命令将整个GitHub存储库克隆到Colab中。例如,要克隆keras教程,请在“代码”单元格中键入以下命令-

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

成功运行命令后,您将看到以下输出-

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.

克隆存储库后,在其中找到Jupyter项目(例如keras.ipyab中的MINST),右键单击文件名,然后选择Open With / Colaboratory菜单选项以在Colab中打开项目。

系统别名

要获取常用操作的快捷方式列表,请执行以下命令-

!ls /bin

您将在输出窗口中看到列表,如下所示-

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*

像执行echowget一样执行这些命令中的任何一个。在下一章中,我们将看到如何执行您先前创建的Python代码。