One of the commonest things a Linux user will always do on the command line is listing the contents of a directory. As we may already know, ls and dir are the two commands available on Linux for listing directory content, with the former being more popular and in most cases, preferred by users.

When listing directory contents, the results can be sorted based on several criteria such as alphabetical order of filenames, modification time, access time, version and file size. Sorting using each of these file properties can be enabled by using a specific flag.

In this brief ls command guide, we will look at how to sort the output of ls command by last modification time (date and time).

Let us start by executing some basic ls commands.

Linux Basic ls Commands

1. Running ls command without appending any argument will list current working directory contents.

$ ls 

List Content of Working Directory

List Content of Working Directory

2. To list contents of any directory, for example /etc directory use:

$ ls /etc

List Contents of Directory

List Contents of Directory

3. A directory always contains a few hidden files (at least two), therefore, to show all files in a directory, use the -a or --all flag:

$ ls  -a

List Hidden Files in Directory

List Hidden Files in Directory

4. You can as well print detailed information about each file in the ls output, such as the file permissions, number of links, owner’s name and group owner, file size, time of last modification and the file/directory name.

This is activated by the -l option, which means a long listing format as in the next screenshot:

$ ls -l

Long List Directory Contents

Long List Directory Contents

Sort Files Based on Time and Date

5. To list files in a directory and sort them last modified date and time, make use of the -t option as in the command below:

$ ls -lt 

Sort ls Output by Date and Time

Sort ls Output by Date and Time

6. If you want a reverse sorting files based on date and time, you can use the -r option to work like so:

$ ls -ltr

Sort ls Output Reverse by Date and Time

Sort ls Output Reverse by Date and Time

Source: techmint.com