If you have worked with Google Cloud Storage from the command line, you have probably used gsutil. It has been the standard tool for interacting with Cloud Storage buckets for years. More recently, Google introduced gcloud storage as a faster replacement. The Associate Cloud Engineer exam may reference either, so you need to understand what both tools do and how they relate to each other.
gsutil is a standalone command-line tool specifically designed for Cloud Storage. It handles uploading, downloading, copying, syncing, and deleting objects and buckets. It also supports parallel composite uploads, which splits large files into pieces that upload simultaneously to maximize bandwidth utilization.
The core gsutil commands you need to know are straightforward. gsutil cp copies files to or from a bucket. gsutil rsync synchronizes a local directory with a bucket or syncs one bucket with another, transferring only the differences. gsutil ls lists the contents of a bucket or lists all buckets in a project. gsutil rm deletes objects. gsutil mb creates a bucket. gsutil rb removes a bucket.
A typical copy from local to Cloud Storage looks like this:
gsutil cp local-file.csv gs://my-bucket/data/local-file.csv
And syncing a local folder to a bucket:
gsutil rsync -r local-folder/ gs://my-bucket/destination/
The gcloud storage command is the newer approach, built directly into the gcloud CLI rather than being a separate tool. It performs the same core operations as gsutil but with meaningful performance improvements. The underlying implementation uses Go and enables parallel operations by default, which makes transfers faster without requiring additional flags.
The commands are similar but not identical to gsutil. gcloud storage cp copies files. gcloud storage rsync synchronizes. gcloud storage ls lists. gcloud storage rm removes. gcloud storage buckets create creates a bucket.
The same copy operation in gcloud storage:
gcloud storage cp local-file.csv gs://my-bucket/data/local-file.csv
The syntax for basic operations is intentionally similar, making the transition from gsutil to gcloud storage relatively smooth for most tasks.
Performance is the main practical difference. gcloud storage is faster than gsutil for most workloads because it parallelizes operations by default and uses more efficient transfer protocols. For moving large volumes of data, this difference is meaningful.
Integration is the other difference. Because gcloud storage is part of the gcloud CLI, it shares configuration, authentication, and project context with all other gcloud commands. gsutil uses its own configuration system, which can create inconsistencies if your gcloud and gsutil configurations get out of sync.
gsutil is also being de-emphasized by Google in favor of gcloud storage. Current documentation increasingly points to gcloud storage for new workflows, though gsutil continues to work and is not removed.
One gsutil feature that appears on the exam is parallel composite uploads. By default, gsutil uploads files in a single stream. For large files, enabling parallel composite uploads splits the file into chunks and uploads them simultaneously, substantially reducing upload time. You enable this in the gsutil configuration or with specific flags.
gcloud storage handles parallelism automatically for large files without requiring additional configuration, which is one of the reasons it was designed as a replacement.
The Associate Cloud Engineer exam may reference either gsutil or gcloud storage commands, and you should be comfortable with both. Questions typically describe a task (copy a file to a bucket, sync a directory, list bucket contents) and ask which command accomplishes it.
The critical commands to know are cp, rsync, ls, and rm for both tools. Understanding that rsync transfers only changed files is important for scenarios involving large datasets where you want to avoid re-transferring data that already exists in the destination.
The exam also tests the bucket URI format. Cloud Storage buckets are always referenced with the gs:// prefix, as in gs://bucket-name/path/to/object. This appears in both gsutil and gcloud storage commands and in other GCP services that read from or write to Cloud Storage.
For a complete walkthrough of Cloud Storage CLI commands and how they appear on the exam, along with the other storage concepts the Associate Cloud Engineer exam covers, my Associate Cloud Engineer course has you covered.
Both tools handle bucket lifecycle management beyond just object operations. Creating a bucket with a specific location and storage class:
# gsutil
gsutil mb -l us-central1 -c NEARLINE gs://my-archive-bucket
# gcloud storage
gcloud storage buckets create gs://my-archive-bucket \
--location=us-central1 --default-storage-class=NEARLINE
The operations are the same. The syntax differs slightly. The exam does not typically require you to remember every flag, but knowing that both tools can create buckets with storage class and location settings at creation time is worth understanding.
The exam may reference gsutil in questions about existing scripts or legacy infrastructure. Many organizations have built automation around gsutil over the years, and those pipelines remain in use. If a question describes an existing workflow using gsutil commands and asks how to optimize data transfer or troubleshoot an error, the gsutil-specific behavior around parallel composite uploads or transfer flags is what the question is testing.
For new implementations described in a question, gcloud storage is more likely to be the recommended approach. The pattern to follow is: if the scenario involves existing or legacy tooling, gsutil is plausible. If the scenario involves setting up something new or modernizing, gcloud storage is the better answer.
One thing both tools share is the Cloud Storage URI format. Every bucket and object reference uses the gs:// prefix. gs://bucket-name refers to a bucket. gs://bucket-name/path/to/object.csv refers to a specific object. This URI format appears throughout GCP, not just in CLI tools. Dataflow jobs read from and write to gs:// paths. BigQuery loads data from gs:// locations. Cloud Composer stores DAGs in a gs:// bucket. Knowing this format and recognizing it in exam questions is part of working with Cloud Storage in any context.