10 Simple ways to work with the `ls` command in Linux

So, today we’ll work with the `ls` command in Linux
& see how it can help us to know about directories & files on our system.

`ls` helps us list the contents of the directory/folder that we are currently in, or that we specify as a parameter to `ls`, and lets us understand about other details of the files/directories like, the permissions on them, owners/groups they belong to,
last modified times on them, their size with some other functionalities.

Listing names of the contents in the current folder

ls

1.txt  b.b  bench  bench_apache  bench_nginx  bench.sh

Listing contents with summary (Name and size in Kilobytes)

  ls -s
 
  total 20
  0 1.txt  4 b.b  4 bench  4 bench_apache  4 bench_nginx  4 bench.sh

Listing contents with long list format (Name and size in Kilobytes)

ls -l

total 20
-rw-rw-r-- 1 ash ash    0 May 22 19:04 1.txt
drwxrwxr-x 2 ash ash 4096 May 29 00:03 b.b
drwxrwxr-x 3 ash ash 4096 May 22 19:30 bench
-rw-r--r-- 1 ash ash 1401 Mar 10  2014 bench_apache
-rw-r--r-- 1 ash ash 1401 Mar 10  2014 bench_nginx
-rwx------ 2 ash ash  243 Mar 10  2014 bench.sh

Listing in long listing & human readable format

ls -lh

-rw-rw-r-- 1 ash ash    0 May 22 19:04 1.txt
drwxrwxr-x 2 ash ash 4.0K May 29 00:03 b.b
drwxrwxr-x 3 ash ash 4.0K May 22 19:30 bench
-rw-r--r-- 1 ash ash 1.4K Mar 10  2014 bench_apache
-rw-r--r-- 1 ash ash 1.4K Mar 10  2014 bench_nginx
-rwx------ 2 ash ash  243 Mar 10  2014 bench.sh

Listing in long listing & human readable format

ls -lsh

total 20K
 0 -rw-rw-r-- 1 ash ash    0 May 22 19:04 1.txt
 4.0K drwxrwxr-x 2 ash ash 4.0K May 29 00:03 b.b
 4.0K drwxrwxr-x 3 ash ash 4.0K May 22 19:30 bench
 4.0K -rw-r--r-- 1 ash ash 1.4K Mar 10  2014 bench_apache
 4.0K -rw-r--r-- 1 ash ash 1.4K Mar 10  2014 bench_nginx
 4.0K -rwx------ 2 ash ash  243 Mar 10  2014 bench.sh

Ignoring files & only listing directories

ls -lI "*.*"

drwxrwxr-x 3 ash ash 4096 May 22 19:30 bench
-rw-r--r-- 1 ash ash 1401 Mar 10  2014 bench_apache
-rw-r--r-- 1 ash ash 1401 Mar 10  2014 bench_nginx

(Caveat: This will ignore any file/directory which contains a .(dot) in its name. Sometime, directories contain a dot in their name so they might get ignored as well so watch out, and sometimes, files do not contain a dot in their name).

Listing files and folders in the current directory {Having a dot (.) in their names}

ls *.*

1.txt  bench.sh

b.b:
 b1.txt

List the files & folders in the current directory’s, & further files/folders inside the folders in current directory (to Depth 1)

ls *

1.txt  bench_apache  bench_nginx  bench.sh

b.b:
 b1.txt

bench:
 b  b.txt

List all files along with hidden files

ls -a

.  ..  1.txt  b.b  bench  bench_apache  bench_nginx  bench.sh  .hidden

List Files & Folder contents starting with a Name/Pattern/Alphabet

Eg. List all the files starting with the alphabet ‘b’ & folder contents starting with the alphabet ‘b’

ls b*

bench_apache  bench_nginx  bench.sh

b.b:
 b1.txt

bench:
 b  b.txt

 

Leave a Reply

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