tac Command: Tutorial & Examples

tac stands for 'cat reversed', which hints to its function. Unlike the cat command that reads files sequentially, tac prints the contents in reverse order, line by line.

How tac Works

The tac command reads each line of a file or standard input, then prints the lines in reverse order to standard output. It accomplishes this by initially reading the entire file into memory, then traversing it backwards. The Kernel takes care of this functionality.

Use Cases for tac

Tac is extremely helpful when you want to analyze files that record events in chronological order. It's commonly used in system log files located in the /var/log directory because the most recent entries are appended to the end. tac allows you to view the most recent entries first.

Using the tac Command

Using tac is straightforward. Here's the basic syntax:

tac [option] [file...]

Here are some examples:

  • To reverse the contents of a file:

    tac filename
  • To concatenate and display files in reverse:

    tac file1 file2

Common tac Command Parameters

While tac is simple to use, it does have a few options:

  • -b or --before: Attach the separator before instead of after.
  • -r or --regex: Interpret the separator as a regular expression.
  • -s or --separator=STRING: Use STRING as the separator instead of newline.

Potential Problems and Pitfalls

A potential issue with tac arises when dealing with very large files. Since tac reads the entire file into memory, this might lead to a system slowdown or even a crash if the file size exceeds available memory.


In conclusion, the tac command is an efficient tool for reversing the contents of a file. Its application in troubleshooting and log analysis makes it an essential command for any Linux user. It's simple to use, but knowing how and when to use it can significantly impact your productivity.

Except where otherwise noted, content on this site is licensed under a CC BY-SA 4.0 license CC BY SA