- How can I see folders from terminal?
- What is a glob?
- ls command in Linux/Unix
- ls syntax
- ls command options
- ls command examples
- ls code generator
- 20 Basic ‘ls’ Command Examples in Linux
- ls Command Options in Linux
- 1. List Files and Directories in Linux
- 2. Long Listing of Files in Linux
- 3. List Hidden Files and Directories
- 4. List All Files in Linux
- 5. Display File Size in a Human-readable Format
- 6. Distinguish Directories and Files in Linux
- 7. Sorting Files in Reverse Order
- 8. List Files Recursively in Linux
- 9. Sort Files By Modification Time in Linux
- 10. Sort Files By Newest to Oldest in Linux
- 11. Sort Files by File Size in Linux
- 12. List File Inode Number in Linux
- 13. List Files and Directories Separated by Commas
- 14. Omit Group Ownership in a Long-List Format
- 15. List Specific File Types or Extensions
- 16. List the UID and GID of Files
- 17. Check ls Command Version
- 18. Show ls Command Help Page
- 19. List Directory Information in Linux
- 20. Create ls Command Aliase
How can I see folders from terminal?
list directories themselves, not their contents. To explain this, consider what happens if we type ls */ . ls goes one layer down, into each subdirectory, and lists all the files in each of those sequentially
*/ is known as a «glob» in UNIX. (see Wikipedia for more details). But basically, it means «any file name ending in a forward slash.» In UNIX, directories are really just files, fundamentally. But they are specially named ending in a forward slash so the operating system knows they are directories (or folders, in everyday-person-speak). And the asterisk * is technically a wildcard standing for «any string of characters.»
What is a glob?
This paragraph will not pertain specifically to your question, but if you’ve never read about this, it’ll be good to see it. Globs are different from Regular Expressions, as (partially) explained in What is the difference between Regular Expressions and Globbing? There have been whole books written on regular expressions, but tl;dr there are a bunch of different ways to encode pattern-matching expressions.
How to show hidden folders as well? ls -d .*/ shows only hidden folders. How to view BOTH hidden and non-hidden folders? I can only think of ls -d */ .*/ Anything better?
As I am a very inexperienced user I love this website. It tells you all you want to know about bash commands, in some cases it even gives you examples. Very useful.
- ls to list the files
- ls -a to include hidden files
- ls -l for a long listing format
- .
lists one directory per line.
If you want to be able to distinguish folders from files easily, use something like ls -alhF . I usually define l as an alias for that, ie. I put the line alias l=’ls -alhF’ in my .bashrc .
include hidden files ‘-a’ grep ^d get start with ‘d’ wich means directory when name starts with dot directory is hidden
to list recursively see this
find ./ -type d | less ./ . means starts find in current folder -type . indicates the type to be searched d . means directory | . redirects the command less . enables paging using the keyboard arrows and leave with q
$ ls Desktop Downloads hadoop Pictures Templates Documents examples.desktop Music Public Videos
$ ls ~ /usr /home/hadoop1: Desktop Downloads hadoop Pictures Templates Documents examples.desktop Music Public Videos /usr: bin games include lib local locale sbin share src
$ ls -l total 48 drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Desktop drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Documents drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Downloads -rw-r--r-- 1 hadoop1 hadoop1 8980 Jul 1 2017 examples.desktop drwxr-xr-x 10 hadoop1 hadoop1 4096 Jul 1 2017 hadoop drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Music drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Pictures drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Public drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Templates drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Videos
ls command in Linux/Unix
ls is a Linux shell command that lists directory contents of files and directories.
ls syntax
$ ls [options] [file|dir]
ls command options
option | description |
---|---|
ls -a | list all files including hidden file starting with ‘.’ |
ls —color | colored list [=always/never/auto] |
ls -d | list directories — with ‘ */’ |
ls -F | add one char of */=>@| to enteries |
ls -i | list file’s inode index number |
ls -l | list with long format — show permissions |
ls -la | list long format including hidden files |
ls -lh | list long format with readable file size |
ls -ls | list with long format with file size |
ls -r | list in reverse order |
ls -R | list recursively directory tree |
ls -s | list file size |
ls -S | sort by file size |
ls -t | sort by time & date |
ls -X | sort by extension name |
ls command examples
You can press the tab button to auto complete the file or folder names.
List directory Documents/Books with relative path:
List directory /home/user/Documents/Books with absolute path.
List user’s home directory (e.g: /home/user):
List with long format and show hidden files:
Recursive directory tree list:
List only text files with wildcard:
ls redirection to output file:
List files and directories with full path:
ls code generator
Select ls options and press the Generate Code button:
20 Basic ‘ls’ Command Examples in Linux
Listing files is one of the most widely undertaken tasks by ordinary Linux users and system administrators. In Linux, the ls command, short for “list” is used to list or display the contents of a directory.
This could either be your current directory or any other directory on the system. The command displays both files and subdirectories and in most cases distinguishes between different file types using color codes.
Without any command-line options, the ls command will simply list all the directory contents. However, it provides an array of handy command-line options to manipulate the output and display the desired output.
You might also like:
In this article, we’ll be discussing the basics of ls command examples with all the available various command options that it provides in Linux.
ls Command Options in Linux
The ls command takes the following syntax:
$ ls [ options ] /path/to/directory
The options section represents the command-line arguments that can be passed to manipulate the output of the command.
In this tutorial, we will cover the following ls command arguments.
Options | Description |
ls -m | Lists directory contents separated by a comma. |
ls -Q | Displays directory contents enclosed by quotation marks. |
ls -l | Displays files in a long-list format. |
ls -lh | Display file size in a human-readable format. |
ls -g | Omits group ownership column. |
ls -F | Adds a forward slash to directories. |
ls -i | Display inode number of files and directories. |
ls -a | Display all files including hidden files. |
ls *. | Filters files according to the file extension. |
ls -la | Displays all files and directories in long list format. |
ls -R | Display files and directories recursively. |
ls -r | Sort Files in reverse. |
ls -X | Sort files alphabetically by file extension. |
ls -tl | Display files according to file creation date and time. |
ls -n | List UIDs and GIDs. |
1. List Files and Directories in Linux
Running ls command without passing any command-line options or arguments, the ls command simply lists the directory contents in alphabetical order. Here we won’t be able to view details like file types, size, modified date and time, permission and links, etc.
2. Long Listing of Files in Linux
The -l command option lets you print out detailed information about the directory contents in a columnar format that includes size, modified date and time, file or directory name and owner of the file, and its permission.
Starting from the far left, we have:
- 1st column – File/directory permissions.
- 2nd column – Number of links.
- 3rd column – Name of the owner.
- 4th column – Name of the group that the file belongs to.
- 5th column – File size in bytes.
- 6th column to 8th column – Last modification date.
- 9th column – File / Directory name.
3. List Hidden Files and Directories
Hidden files are special files that store user settings and configuration files, which are used by running programs and services for reading and storing information.
For example. the .bashrc file is a script that contains user settings and configurations of the currently logged-in user, which include command aliases, shell history, the coloring of the terminal font, etc.
The .bash_logout file is executed when you log out of your bash sessions. It’s mainly used for cleanup purposes i.e. carrying out any operations that need to be performed once you exit the bash shell.
To list hidden files, pass the -a option as shown, which displays both hidden files and directories.
4. List All Files in Linux
As you have noticed the -a option not only lists hidden files but all the files and directories. For better viewing, you can use the -la option
5. Display File Size in a Human-readable Format
To present the output in a better format, add the -h flag to print the file size in a human-readable format. From the output, the file size is displayed in Kilobytes, Megabytes, and Gigabytes. By all means, this looks more presentable.
6. Distinguish Directories and Files in Linux
When running the ls command, it’s not always easy to make a clear distinction between files and directories. The -F option adds a forward slash (/) to directories, making it easier for them to stand out from the rest of the files.
7. Sorting Files in Reverse Order
By default, the ls command sorts files and directories alphabetically (From A – Z). You can opt to sort the directory contents in reverse order using the -r option.
In addition, you can sort the file extensions alphabetically using the -X flag.
8. List Files Recursively in Linux
The -R flag lists files recursively. First, the command lists all the files and directories in your current directory, then proceeds to display files contained in individual directories and subdirectories.
In the following example, the files in individual directories have been listed as well.
9. Sort Files By Modification Time in Linux
The ls -ltr command shows the files in the long listing format in reverse sorted by modification time, which means it will display detailed information about each file or directory in reverse order based on their last modified date/time stamp.
10. Sort Files By Newest to Oldest in Linux
You can sort files by time and date using the -t option, which sorts the files in order starting from the newest to the oldest.
11. Sort Files by File Size in Linux
With a combination of -lS option, it will displays file size in descending order (biggest to smallest in size).
12. List File Inode Number in Linux
You can display the files and directories’ inode numbers using the -i option as shown.
13. List Files and Directories Separated by Commas
The -m flag lists the directory contents one after the other separated by a comma.
With the -Q flag, all the directory contents are enclosed by double quotation marks as shown.
14. Omit Group Ownership in a Long-List Format
When used with the -l command option, the ls command prints both user and group ownership of the file. You can opt to omit the group column by passing the -g option.
15. List Specific File Types or Extensions
To list specific file types or extensions, use the wildcard notation (*) followed by the file extension.
For example, to display all files with a .jpg extension, run the command:
Similarly, to list all PDF files, run the command:
16. List the UID and GID of Files
To display the UID and GID of files and directories, use the -n option as shown.
17. Check ls Command Version
If you are a little curious and want to check the version of the ls command, you can do so as follows:
From the output, you can see that we are running ls version 9.1.
18. Show ls Command Help Page
The ls program provides a wealth of command-line options. What we have covered are just some of the commonly used ones. For a comprehensive list of all the command options, run the following command:
Optionally, you can visit the man pages by running:
19. List Directory Information in Linux
With the ls -l command list files under directory /tmp. Wherein with -ld options, it will display information of the /tmp directory.
20. Create ls Command Aliase
We have made an alias for the ls command when we execute the ls command it will take the -l option by default and display a long listing as mentioned earlier.
To view a number of aliases available in your system, use the below alias command and the same can be unalias as shown below example.
To remove an alias previously defined, just use the unalias command.
In this guide, we have demonstrated how to use the ls command to view the contents of a folder or directory. In addition, we went a step further and explored command options that can be used with the ls command in Linux.
In our next article, we’ll cover more advanced ls commands with their examples. Also, I suggest you go through some interview questions on the ls command, and also if we’ve missed anything in the list, please update us via the comment section.