CIS120 Linux Fundamentals by Scott Shaper

ls Command

Have you ever wanted to see what's inside a folder on your computer? That's exactly what the ls command does! The name ls stands for list—it lists the files and folders in a directory. Think of it like opening a drawer to see what's inside: it shows you all the files and folders in your current location. This is one of the most important commands you'll use in Linux, and we'll explore all the cool things it can do.

The examples below are based on the course setup. Try them in ~/playground/chapter1 to see output like what is shown.

When to Use ls

Common Options

Option What It Does When to Use It
-l Shows detailed information (long format) When you need to know file sizes, dates, and permissions
-a Shows hidden files When you need to see all files, including system files
-h Shows sizes in KB, MB, GB When you want to understand file sizes easily
-t Sorts by date (newest first) When you're looking for recently modified files
-R Shows contents of subfolders When you need to see everything in a folder and its subfolders
-i Shows file inode numbers When you need to know the unique identifier for each file

Practical Examples

Basic Listing

This is the simplest way to see what's in your current folder. From ~/playground/chapter1 you might see:

ls

Output would be something like this:

body.txt  debug.txt  file1.txt  file2.txt  footer.txt  header.txt  hello.txt  mixed.txt  special.txt  spaces.txt

This shows you all the visible files in your current directory (the exact order may vary).

Long Format Listing (-l)

Use -l to see detailed information about files. From ~/playground/chapter1:

ls -l

Output would be something like this (dates will be different):

-rw-r--r-- 1 student class   45 Jan 15 10:30 body.txt
-rw-r--r-- 1 student class   52 Jan 15 10:30 debug.txt
-rw-r--r-- 1 student class   11 Jan 15 10:30 file1.txt
-rw-r--r-- 1 student class   12 Jan 15 10:30 file2.txt
-rw-r--r-- 1 student class   28 Jan 15 10:30 footer.txt
-rw-r--r-- 1 student class   27 Jan 15 10:30 header.txt
-rw-r--r-- 1 student class   38 Jan 15 10:30 hello.txt

This shows you detailed information including:

  • File permissions (like rwxr-xr-x)
  • Number of hard links
  • Owner and group
  • File size in bytes
  • Last modified date and time
  • File name

We will look at permissions in more detail in later lessons.

Showing Hidden Files (-a)

Use -a to see all files, including hidden ones:

ls -a

Output would be something like this (in ~/playground/chapter1 you'll see the practice files plus . and ..):

.  ..  body.txt  debug.txt  file1.txt  file2.txt  footer.txt  header.txt  hello.txt  mixed.txt  special.txt  spaces.txt

This reveals:

  • . (current directory)
  • .. (parent directory)
  • Hidden files (any starting with .)
  • Regular files and directories

Showing Inode Numbers (-i)

Use -i to see the inode numbers of files. From ~/playground/chapter1:

ls -i

Output would be something like this (your inode numbers will differ):

1234567 body.txt
1234568 debug.txt
1234569 file1.txt
1234570 file2.txt
1234571 footer.txt
1234572 header.txt
1234573 hello.txt

Each file has a unique inode number that identifies it in the filesystem. This is useful for:

  • Finding hard links to the same file
  • System administration tasks
  • Understanding file system structure

Tips for Success

Common Mistakes to Avoid

Best Practices