less Command: Tutorial & Examples

List contents of a file

The less command is one of the most essential commands to know when working with Linux servers. It is a utility that allows you to read files in a shell interface, similar to more command but with more features. It is named "less" as a pun on its predecessor, more. The basic idea behind its creation was to offer more functionality than more.

The less command works by reading the input file one screenful at a time, making it more efficient than text editors like vi when dealing with large files. Unlike more, less allows both forward and backward navigation in the file. This feature is particularly useful when analyzing large log files or reading long configuration files.

Importance of the less command

Understanding the less command is crucial for managing and troubleshooting a Linux server. Often, Linux administrators have to deal with massive log files generated by services running on the server. Analyzing these log files can be a challenge due to their size. The less command makes this task manageable by offering features like backward navigation, searching, line numbering, and more.

Typical Use Cases

A common use case of the less command is to view the system's log files. When dealing with a network failure or a service failure, the first place to look for clues is the log files. The less command can also be used to view large text files without opening them in an editor.

Here are some examples of how to use the less command:

less /var/log/syslog

The above command will open the syslog file. You can navigate through the file using the arrow keys or the Page Up and Page Down keys.

less -N /var/log/syslog

The -N option will display line numbers, which can be useful when you want to reference a specific line.

less +/pattern /var/log/syslog

The +/ option allows you to start at the first occurrence of the pattern. Replace 'pattern' with the text you want to search for.

less -S /var/log/syslog

The -S option will prevent line wrapping, which is useful when dealing with wide log entries.

Typical Output

The less command doesn't provide output in the traditional sense. Instead, it displays the content of the file on the terminal screen. You can navigate through the file, search for patterns, and even edit the file if necessary.

For example, if you run less /var/log/syslog, you might see something like this:

Jan  1 00:00:01 myserver CRON[12345]: (root) CMD (command)
Jan  1 00:00:01 myserver kernel: [    0.000000] Initializing cgroup subsys cpuset
Jan  1 00:00:01 myserver kernel: [    0.000000] Initializing cgroup subsys cpu

These are just the first few lines of the syslog file.

You can use the up and down arrow keys to scroll through the file, or the space bar to move forward one page at a time. You can also use the / key followed by a search term to search for specific text within the file.

/search_term

To go to a specific line number within the file, you can use the g key followed by the line number:

g100

This will go to line number 100 in the file.

less is often used in conjunction with other commands, such as grep or tail, to filter and process the output of those commands before viewing it in less. For example, you can use less to view the /var/log/messages file by piping the output of cat to less:

cat /var/log/messages | less

Conclusion

Mastering the less command can significantly enhance your productivity when working with large text files or log files. Its ability to navigate backward and forward, search for patterns, and display line numbers makes it an indispensable tool for Linux administrators.

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