Open In App

ls Command in Linux

ls is a Linux shell command that lists directory contents of files and directories.  It provides valuable information about files, directories, and their attributes. 

Syntax of `ls` command in Linux

ls [option] [file/directory]

‘ls’ will display the contents of the current directory. By default, ‘ls’ lists files and directories in alphabetical order.



Commonly Used Options in `ls` command in Linux

Options Description
-l known as a long format that displays detailed information about files and directories.
-a Represent all files Include hidden files and directories in the listing.
-t Sort files and directories by their last modification time, displaying the most recently modified ones first.
-r known as reverse order which is used to reverse the default order of listing.
-S Sort files and directories by their sizes, listing the largest ones first.
-R List files and directories recursively, including subdirectories.
-i known as inode which displays the index number (inode) of each file and directory.
-g known as group which displays the group ownership of files and directories instead of the owner.
-h Print file sizes in human-readable format (e.g., 1K, 234M, 2G).
-d List directories themselves, rather than their contents.

Some practical examples of the ls command are shown below. 

1. Open Last Edited File Using `ls -t `

It sorts the file by modification time, showing the last edited file first. head -1 picks up this first file. To open the last edited file in the current directory, use the combination of ls and head commands as shown below.

ls -t

 [Note: This will open the last file you edited (i.e second.txt)] 



2. Display One File Per Line Using `ls -1 `

ls -1

ls -1

 3. Display All Information About Files/Directories Using `ls -l`

ls -l 

To show long listing information about the file/directory.

ls -l 

 -rw-rw-r– 1 maverick maverick 1176 Feb 16 00:19 1.c 1st Character – File Type: First character specifies the type of the file. In the example above the hyphen (-) in the 1st character indicates that this is a normal file. Following are the possible file type options in the 1st character of the ls -l output. 

Field Explanation

4. Display File Size in Human Readable Format Using `ls -lh` 

ls -lh

ls -lh (h stands for human readable form) : To display file size in easy-to-read format. i.e i.e M for MB, K for KB, G for GB. 

ls -lh

5. Display Directory Information Using `ls -ld`

When you use “ls -l” you will get the details of directories content. But if you want the details of the directory then you can use -d option as., For example, if you use ls -l /etc will display all the files under the etc directory. But, if you want to display the information about the /etc/ directory, use -ld option as shown below.

ls -l /etc

ls -l /etc

ls -ld /etc

ls -ld /etc

6. Order Files Based on Last Modified Time Using `ls -lt` 

ls -lt

To sort the file names displayed in the order of last modification time. You will find it handy to use it in combination with -l option. 

ls -lt

7. Order Files Based on Last Modified Time (In Reverse Order) Using `ls -ltr `

ls -ltr 

To sort the file names in the last modification time in reverse order. This will show the last edited file in the last line which will be handy when the listing goes beyond a page.

ls -ltr 

 8. Display Hidden Files Using ls -a (or) ls -A 

ls -a

 To show all the hidden files in the directory, use ‘-a option’. Hidden files in Unix starts with ‘.’ in its file name.It will show all the files including the ‘.’ (current directory) and ‘..’ (parent directory).

ls -a

ls -A 

To show the hidden files, but not the ‘.’ (current directory) and ‘..’ (parent directory). 

ls -A 

 [Note: . and .. are not displayed here] 

9. Display Files Recursively Using ls -R $ ls /etc/apt

ls /etc/apt

ls /etc/apt

ls -R /etc/apt 

To show all the files recursively. When you do this from /, it shows all the unhidden files in the whole file system recursively. 

ls -R /etc/apt 

10. Display File Inode Number Using `ls -i` 

Sometimes you may want to know the inone number of a file for internal maintenance. Use -i option as shown below to display inone number. Using inode number you can remove files that have special characters in its name. 

ls -i

ls -i

ls -i /etc/apt

ls -i /etc/apt

11. Hide Control Characters Using `ls -q` 

ls -q 

To print question marks instead of the non-graphics control characters.

ls -q 

12. Display File UID and GID Using `ls -n` 

 ls -n ~/kv

Lists the output like -l, but shows the uid and gid in numeric format instead of names. 

ls -n ~/kv

13. Visual Classification of Files with Special Characters Using `ls -F` 

 ls -F

 Instead of doing the ‘ls -l’ and then the checking for the first character to determine the type of file. You can use -F which classifies the file with different special characters for different kinds of files.

 ls -F

14. Visual Classification of Files with Colors Using `ls -F` 

ls --color=auto

Recognizing the file type by the color in which it gets displayed is another kind in classification of file. In the below output directories get displayed in blue, soft links get displayed in green, and ordinary files get displayed in default color.

ls –color=auto

Conclusion

In this article we have discussed practical implementation of `ls` command in linux, in which we have discussed its basic syntax and most commonly used options in `ls` command. One can easily understand the working of all the options by understanding the practical implementation discussed in this article. Users can have good knowledge in `ls` command. It is also important for the system administrator to know these options for working smoothly in daily work routine.


Article Tags :