gsutil cp -r
does a recursive copy from one or more source files/dirs to some destination directory. E.g. to copy one or more directories into another directory, you'd do:
gsutil cp -r src_folder1/ src_folder2/ dst_folder/
So, let's explain what all is happening in your example above:
- You first mount the contents of your Google Drive, using some file system adapter magic under the hood via
drive.mount()
, under the local directory at /content/drive
.
- You then run a
gsutil
command. gsutil
sees the argument "drive" as another source file (or directory) that it should copy to the directory "/content/drive/My Drive/". If the file/dir "drive" doesn't exist, gsutil skips it and complains that it didn't exist (but gsutil will still copy the other source arguments to the destination, due to the -m
flag which causes it to continue (where possible) upon encountering a problem).
So, if you wanted to copy an object named "my-object-name" from your bucket to the root of your Google Drive, the command would look something like this:
!gsutil -q -m cp gs://my-bucket-name/my-object-name /content/drive/My\ Drive/
or, to copy the object and name it something different:
!gsutil -q -m cp gs://my-bucket-name/my-object-name /content/drive/My\ Drive/some-new-name
To read more about gsutil
, its top-level flags, and its cp
command, check out the web docs: