AWS S3 LS Examples - List and Browse S3 buckets | Devops Junction

Amazon Simple Storage Service (AWS S3) is a highly scalable and cost-effective object storage service provided by Amazon Web Services (AWS). It allows users to store and retrieve vast amounts of data, making it a popular choice for developers, businesses, and organizations worldwide.

To interact with S3 buckets and objects effectively, AWS offers a powerful command-line interface (CLI), which includes the "ls" command.

In this article, we will explore the AWS S3 "ls" command in detail, along with several practical examples to demonstrate its functionality.

aws s3 ls command

Overview of the AWS S3 LS Command

The ls command in the AWS S3 CLI enables users to list the contents of an S3 bucket or a specific directory within the bucket. It provides essential information about the objects, including their names, sizes, and the last modified timestamps.

This command is particularly helpful when you want to get a quick overview of the objects present in an S3 bucket or when you need to script certain operations based on the listed objects.

Basic Syntax

The basic syntax of the AWS S3 "ls" command is as follows:

aws s3 ls s3://bucket-name/[prefix]
  • bucket-name: The name of the S3 bucket you want to list the objects from.
  • prefix (optional): A prefix that filters the objects based on a specific string. Only objects with keys that begin with the specified prefix will be listed.

Examples of AWS S3 LS Command

Example 1: List all objects in a bucket

To list all the objects present in an S3 bucket, you can use the following command:

aws s3 ls s3://my-bucket-name/

Replace my-bucket-name with the name of your S3 bucket. Running this command will display a list of objects with their names, sizes, and last modified timestamps.

Example 2: List objects with a specific prefix

Suppose you have a bucket named "my-photos" with objects organized into folders based on date. To list all objects that have the prefix "2023-07-":

aws s3 ls s3://my-photos/2023-07-

This command will show all objects that start with the "2023-07-" prefix, which could be objects uploaded in July 2023.


Example 3: List objects in a human-readable format

By default, the AWS S3 "ls" command displays object sizes in bytes. However, you can use the --human-readable or -h option to show the sizes in a more readable format:

aws s3 ls s3://my-bucket-name/ --human-readable

This will display object sizes in a format like KB, MB, GB, etc.


Example 4: List objects in a specific region

If your S3 bucket is in a different AWS region than the default configured region on your CLI, you can specify the region using the --region option:

aws s3 ls s3://my-bucket-name/ --region us-west-2

Replace us-west-2 with the appropriate AWS region code.


Example 5: List the N most recent objects

To list only the N most recent objects in the bucket, you can use the --recursive and --human-readable options in combination with the head command:

aws s3 ls s3://my-bucket-name/ --recursive --human-readable | head -n N

Replace N with the number of objects, you want to display.



The AWS S3 "ls" command is a valuable tool for listing and inspecting objects in your S3 buckets. With its ability to filter objects based on prefixes, display human-readable sizes, and support different regions, the "ls" command offers great flexibility for managing your S3 data.

In this article, we explored the basic syntax of the AWS S3 "ls" command and provided several practical examples to illustrate its usage. By mastering this command, you can efficiently navigate your S3 buckets and streamline your data management tasks within the AWS ecosystem. So, go ahead, give it a try, and experience the power and convenience of the AWS S3 "ls" command for yourself!