How To View The Contents Of A File In Linux : Reading File Content With Cat Command

Linux offers several commands to read a file’s contents directly from the command line. Knowing how to view the contents of a file in linux is a fundamental skill for anyone working with the system. Whether you are a beginner or an experienced user, mastering these commands will boost your productivity.

This guide covers all the essential methods, from simple cat to advanced tools like less and head. You’ll learn when to use each command and how to avoid common mistakes.

How To View The Contents Of A File In Linux

There are many ways to view file contents in Linux. Each command has its own strengths and use cases. Below, we break down the most popular and effective methods.

Using The Cat Command

The cat command is the simplest way to display a file’s content. It prints the entire file to the terminal.

  1. Open your terminal.
  2. Type cat filename and press Enter.
  3. The file content appears on your screen.

For example, to view a file named notes.txt, run:

cat notes.txt

Cat works best for small files. For large files, it can flood your terminal with text. You might miss the beginning of the file if it scrolls past.

You can also view multiple files at once. Use cat file1 file2 to see both files concatenated.

Using The Less Command

The less command is ideal for large files. It shows content one screen at a time. You can scroll up and down easily.

  1. Run less filename.
  2. Use the arrow keys or Page Up/Page Down to navigate.
  3. Press q to quit.

Less is more interactive than cat. It loads only part of the file, so it’s faster for big files. You can also search within the file by pressing / and typing a term.

For instance, to search for “error” in a log file, press /error and hit Enter. Less highlights all matches.

Using The More Command

The more command is an older version of less. It also displays content page by page.

  1. Type more filename.
  2. Press Space to go to the next page.
  3. Press b to go back one page (if supported).
  4. Press q to exit.

More is less flexible than less. You cannot scroll up easily in some versions. For modern systems, less is generally preferred.

Using The Head Command

The head command shows the first few lines of a file. By default, it displays the first 10 lines.

  1. Run head filename.
  2. To show a different number of lines, use head -n 20 filename.

Head is useful for previewing large files. You can quickly check the beginning of a log or configuration file without loading everything.

Using The Tail Command

The tail command shows the last few lines of a file. It also defaults to 10 lines.

  1. Type tail filename.
  2. To see more lines, use tail -n 50 filename.
  3. For real-time monitoring, use tail -f filename.

Tail is perfect for checking recent log entries. The -f option follows the file as it grows, showing new lines as they are added.

Using The Nl Command

The nl command displays file content with line numbers. It’s similar to cat but adds numbering.

  1. Run nl filename.
  2. Lines are numbered on the left side.

Nl is helpful when you need to reference specific lines. For example, when debugging code or reviewing configuration files.

Using The Od Command

The od command shows file content in octal or other formats. It’s useful for viewing binary files or non-printable characters.

  1. Type od filename.
  2. Use options like -c to display characters or -x for hexadecimal.

Od is not for everyday use, but it’s invaluable for low-level file inspection.

Using The Strings Command

The strings command extracts readable text from binary files. It’s great for finding human-readable content in executables or data files.

  1. Run strings filename.
  2. It outputs sequences of printable characters.

For example, to see text in a compiled program, use strings program.bin.

Using The Xxd Command

The xxd command creates a hex dump of a file. It shows both hexadecimal and ASCII representations.

  1. Type xxd filename.
  2. To reverse a hex dump back to binary, use xxd -r.

Xxd is essential for debugging file formats or analyzing raw data.

Using The Gedit Or Nano For GUI Viewing

If you prefer a graphical interface, you can use text editors like gedit or nano. These are not pure viewing tools but allow editing as well.

  • For gedit: gedit filename
  • For nano: nano filename

Gedit opens a window with the file content. Nano runs in the terminal but provides a simple editor interface.

Using The Vim Or Vi Editor

Vim and vi are powerful editors that can also be used for viewing. They are modal, meaning you need to be in normal mode to navigate.

  1. Run vim filename or vi filename.
  2. Use arrow keys to scroll.
  3. Press :q to quit.

Vim is overkill for simple viewing, but it’s a standard tool on many systems.

Comparing File Viewing Commands

Each command has its niche. Here’s a quick comparison to help you choose.

Command Best For Limitations
cat Small files, quick viewing Floods terminal for large files
less Large files, scrolling, searching Requires learning navigation keys
more Basic pagination Less flexible than less
head First few lines Only shows beginning
tail Last few lines, real-time logs Only shows end
nl Numbered lines Not for binary files
od Binary files, octal/hex Hard to read for text
strings Text in binaries May miss non-printable text
xxd Hex dumps Overkill for text files

Practical Examples For Everyday Use

Let’s look at real-world scenarios where these commands shine.

Viewing Log Files

Log files are often large and constantly updated. Use tail -f /var/log/syslog to monitor system events in real time. For older logs, use less /var/log/syslog.1 to scroll through.

Checking Configuration Files

Configuration files like /etc/ssh/sshd_config are usually small. Use cat /etc/ssh/sshd_config to see the whole file. If you need line numbers for editing, use nl.

Previewing CSV Or Data Files

For CSV files, use head -n 5 data.csv to see the first few rows. This helps you understand the structure before processing.

Inspecting Binary Files

When dealing with binary files, use strings binaryfile | head to extract readable text. Use xxd binaryfile | less for a detailed hex view.

Common Mistakes And How To Avoid Them

Even experienced users make errors. Here are some pitfalls.

  • Using cat on large files: This can freeze your terminal. Use less instead.
  • Forgetting to quit less: Press q to exit. Otherwise, the terminal stays in less mode.
  • Mixing up head and tail: Head shows the start, tail shows the end. Double-check your needs.
  • Not using absolute paths: If you’re not in the file’s directory, provide the full path like cat /home/user/file.txt.

Advanced Tips For Power Users

Once you master the basics, try these advanced techniques.

Combining Commands With Pipes

You can chain commands using pipes. For example, cat file.txt | grep "error" | head -n 10 shows the first 10 lines containing “error”.

Using Watch With Tail

The watch command runs a command periodically. Use watch -n 2 tail -n 20 /var/log/syslog to update the display every 2 seconds.

Viewing Compressed Files

For .gz files, use zcat file.gz or zless file.gz. These commands decompress and display without creating a temp file.

Using Sed For Selective Viewing

Sed can print specific lines. For example, sed -n '10,20p' file.txt prints lines 10 through 20.

When To Use Each Command

Here’s a quick decision guide.

  • Need to see everything quickly? Use cat.
  • File is huge? Use less.
  • Only need the start? Use head.
  • Only need the end? Use tail.
  • Need line numbers? Use nl.
  • Binary file? Use strings or xxd.

Frequently Asked Questions

What Is The Easiest Way To View A File In Linux?

The easiest way is using the cat command. Just type cat filename and the content appears. For larger files, less is easier to navigate.

How Do I View A File Without Opening An Editor?

Use any command-line tool like cat, less, head, or tail. These commands display content directly in the terminal without launching an editor.

Can I View A File While It Is Being Updated?

Yes, use tail -f filename. This command shows new lines as they are added. It’s perfect for monitoring log files in real time.

How Do I View The First 20 Lines Of A File?

Use head -n 20 filename. This shows the first 20 lines. You can change the number to any value.

What Command Shows Line Numbers When Viewing A File?

The nl command adds line numbers. Use nl filename to see numbered lines. Alternatively, you can use cat -n filename for a similar effect.

Mastering these commands will make you more efficient on the command line. Practice with different files to build confidence. Start with small text files, then move to logs and binaries. Each command has its place, and knowing when to use which is key.

Remember, the terminal is your friend. These tools are designed to help you work faster. Don’t be afraid to experiment with options like -n for head or -f for tail. The more you use them, the more natural they become.

If you ever get stuck, use the man pages. Type man commandname for detailed documentation. For example, man less explains all less options.

With practice, viewing file contents will become second nature. You’ll wonder how you ever managed without these commands. Happy viewing!