7 Quirky ‘ls’ Command Tricks Every Linux User Should Know

We have covered most of the things on ‘ls’ command in last two articles of our Interview series. This article is the last part of the ‘ls command‘ series. If you have not gone through last two articles of this series you may visit the links below.

  1. 15 Basic ‘ls’ Command Examples in Linux
  2. Sort Output of ‘ls’ Command By Last Modified Date and Time
  3. 15 Interview Questions on Linux “ls” Command – Part 1
  4. 10 Useful ‘ls’ Command Interview Questions – Part 2
ls command tricks

7 Quirky ls Command Tricks

1. List the contents of a directory with time using various time styles.

To list the contents of a directory with times using style, we need to choose any of the below two methods.

# ls -l –time-style=[STYLE]               (Method A)

Note – The above switch (--time style must be run with switch -l, else it won’t serve the purpose).

# ls –full-time                           (Method B)

Replace [STYLE] with any of the below option.


Note – In the above line H(Hour), M(Minute), S(Second), D(Date) can be used in any order.

Moreover you just choose those relevant and not all options. E.g., ls -l --time-style=+%H will show only hour.

ls -l --time-style=+%H:%M:%D will show Hour, Minute and date.

# ls -l --time-style=full-iso
ls Command Full Time Style

ls Command Full Time Style

# ls -l --time-style=long-iso
Long Time Style Listing

Long Time Style Listing

# ls -l --time-style=iso
Time Style Listing

Time Style Listing

# ls -l --time-style=locale
Locale Time Style Listing

Locale Time Style Listing

# ls -l --time-style=+%H:%M:%S:%D
Date and Time Style Listing

Date and Time Style Listing

# ls --full-time
Full Style Time Listing

Full Style Time Listing

2. Output the contents of a directory in various formats such as separated by commas, horizontal, long, vertical, across, etc.

Contents of directory can be listed using ls command in various format as suggested below.

  1. across
  2. comma
  3. horizontal
  4. long
  5. single-column
  6. verbose
  7. vertical
# ls –-format=across
# ls --format=comma
# ls --format=horizontal
# ls --format=long
# ls --format=single-column
# ls --format=verbose
# ls --format=vertical
Listing Formats of ls Command

Listing Formats of ls Command

3. Use ls command to append indicators like (/[email protected]|) in output to the contents of the directory.

The option -p with ‘ls‘ command will server the purpose. It will append one of the above indicator, based upon the type of file.

# ls -p
Append Indicators to Content

Append Indicators to Content

4. Sort the contents of directory on the basis of extension, size, time and version.

We can use options like --extension to sort the output by extension, size by extension --size, time by using extension -t and version using extension -v.

Also we can use option --none which will output in general way without any sorting in actual.

# ls --sort=extension
# ls --sort=size
# ls --sort=time
# ls --sort=version
# ls --sort=none
Sort Listing of Content by Options

Sort Listing of Content by Options

5. Print numeric UID and GID for every contents of a directory using ls command.

The above scenario can be achieved using flag -n (Numeric-uid-gid) along with ls command.

# ls -n
Print Listing of Content by UID and GID

Print Listing of Content by UID and GID

6. Print the contents of a directory on standard output in more columns than specified by default.

Well ls command output the contents of a directory according to the size of the screen automatically.

We can however manually assign the value of screen width and control number of columns appearing. It can be done using switch ‘--width‘.

# ls --width 80
# ls --width 100
# ls --width 150
List Content Based on Window Sizes

List Content Based on Window Sizes

Note: You can experiment what value you should pass with width flag.

7. Include manual tab size at the contents of directory listed by ls command instead of default 8.
# ls --tabsize=[value]
List Content by Table Size

List Content by Table Size

Note: Specify the [Value]= Numeric value.

That’s all for now. Stay tuned to Tecmint till we come up with next article. Do not forget to provide us with your valuable feedback in the comments below. Like and share us and help us get spread.

Best Affordable Linux and WordPress Services For Your Business
Outsource Your Linux and WordPress Project and Get it Promptly Completed Remotely and Delivered Online.

If You Appreciate What We Do Here On TecMint, You Should Consider:

  1. Stay Connected to: Twitter | Facebook | Google Plus
  2. Subscribe to our email updates: Sign Up Now
  3. Get your own self-hosted blog with a Free Domain at ($3.45/month).
  4. Become a Supporter - Make a contribution via PayPal
  5. Support us by purchasing our premium books in PDF format.
  6. Support us by taking our online Linux courses

We are thankful for your never ending support.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide

You may also like...

8 Responses

  1. Arthur Pedant says:

    You forgot to mention that the setting of LC_COLLATE (and/or LC_ALL) will affect the order of sorting in the display of ls directory listings.

  2. Dennis says:

    I have one question, let’s say I created 5 files per day (together i.e. 5 days), and I want to see each day only once. How can I do that?

  3. Brian Eschner says:

    I like my tab-stops to be every 4 characters. I set that in vi, so then I added a startup command of “tabs 4” in bash. ‘ls‘ is one of the few commands that breaks, so I aliased my ‘ls‘ command to be ‘ls -T4“. Works great now, EXCEPT when I go to Full-Screen (in an Exceed XTerm window). ANY IDEA WHY?

    But if I rerun the ‘tabs’ and ‘alias’ (of ‘ls’) again, then it works, and I have NO idea why

  4. Mohan says:

    This is really good stuff. Muchas-Gracias señor!

  5. ankurkeelu says:

    Thanks for the valuable information about ls commands !! Hey can you post about the boot process or can you provide me some good link through which i can understand the boot process in linux

  6. Tomasz says:

    Very informative! Thanks!

Leave a Reply to Tomasz Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.