‘ls’ Command: Directories in the Terminal

The ‘ls’ command is one of the most fundamental and frequently used commands in Unix-based systems, including Linux and macOS. Its primary function is to list the contents of a directory. Whether you’re a system administrator or a casual terminal user, mastering the ‘ls’ command is an essential part of using the terminal efficiently. This article provides a comprehensive guide to the ‘ls’ command and its usage.

Basic Usage of ‘ls’

In its simplest form, the ‘ls’ command can be used without any options. When you type ‘ls’ and hit Enter, it will display the contents of the current directory.


The command lists all files and directories in the current directory, excluding hidden files (those starting with a ‘.’).

Common Options

There are numerous options that you can use with ‘ls’ to customize the command’s output. Here are a few of the most common:

1. Listing Hidden Files: -a

To list all files, including hidden ones, use the ‘-a’ option (short for “all”).

ls -a

2. Long Listing: -l

The ‘-l’ option (short for “long”) presents the output in a long listing format, providing additional information about each file and directory, such as permissions, number of links, owner, group, size, and time of last modification.

ls -l

3. Human-Readable Sizes: -h

When used with ‘-l’, the ‘-h’ option (short for “human-readable”) displays file sizes in a more readable format (KB, MB, GB, etc.) instead of bytes.

ls -lh

4. Sorting by Modification Time: -t

The ‘-t’ option sorts files by modification time, with the newest files first.

ls -lt

5. Display Directories Themselves: -d

The ‘-d’ option (short for “directory”) is used to show directory entries instead of their contents when directories are supplied as arguments.

ls -ld /home/

Combining Options

You can combine multiple options to create custom ‘ls’ commands that suit your needs. For example, to list all files (including hidden ones) in long format, sorted by modification time, you can combine the -a, -l, and -t options:

ls -alt

Recursive Listing: -R

The -R option (short for “recursive”) allows you to list the contents of directories and their subdirectories. This command is especially useful if you want to see the contents of all directories within a certain directory:

ls -R

Display File Sizes in Kilobytes: -s

The -s option, when used in conjunction with -l, shows the file size in kilobytes:

ls -ls

Colorized Output: –color

The --color option displays output with colored filenames, helping you to distinguish between different types of files:

ls --color

(Note: On some Linux distributions, ls is colorized by default)


Mastering the ‘ls’ command is a crucial part of becoming proficient with the terminal. Its power comes from its versatility, achieved through the variety of options it offers. This guide has covered only the most common ones, but there are many more that you can discover in the man pages (man ls). As you become more comfortable with ‘ls’, you’ll find it an invaluable tool in your terminal navigation toolbox.

Remember, the true power of the terminal comes from combining commands and navigating through your system seamlessly. If you haven’t already, be sure to check out our guides on the ‘cd’ command and Unix Directory Structure to further enhance your terminal skills.


Whilst building web applications, Daniel also sets up web servers from scratch because he has yet to find the perfect hosting solution. His philosophy is “Why settle, when you can build it better yourself?”

Recent Posts