为什么 Colab 将 Google Drive .tar 文件提取到 /content 目录(而不是 Google Drive)?

Why does Colab extract a Google Drive .tar file to /content directory (and not to Google Drive)?

我使用 Colab。我对以下行为感到惊讶:

drive.mount('/content/drive')
os.listdir("/content/drive/MyDrive/Colab Notebooks")

!ls -al /content/drive/MyDrive/Colab\ Notebooks

returns: ['FGNET_all.tar']

当我提取FGNET_all.tar

!tar xvf /content/drive/MyDrive/Colab\ Notebooks/FGNET_all.tar

FGNET 被提取到 /content 目录:

os.listdir("/content/drive/MyDrive/Colab Notebooks")

=> 只有 ['FGNET_all.tar'] 不是 FGNET 目录

os.listdir("/content")

!ls -al /content

returns ['.config', 'drive', '._FGNET', 'FGNET'] => FGNET 目录

为什么?

除非指定了目的地,否则tar 命令会将文件的内容提取到工作目录。 Google Colab 的默认工作目录是 /content 文件夹,这就是您提取的文件保存在那里的原因。

您可以指定目标目录如下:

!tar xvf /content/drive/MyDrive/Colab\ Notebooks/FGNET_all.tar -C /content/drive/MyDrive/Colab\ Notebooks/