Close Menu
    Facebook X (Twitter) Instagram
    Command Linux
    • About
    • How to
      • Q&A
    • OS
      • Windows
      • Arch Linux
    • AI
    • Gaming
      • Easter Eggs
    • Statistics
    • Blog
      • Featured
    • MORE
      • IP Address
      • Man Pages
    • Write For Us
    • Contact
    Command Linux
    Home - man page - LESSOPEN

    LESSOPEN

    WillieBy WillieFebruary 23, 2026Updated:April 19, 2026No Comments5 Mins Read
     

    NAME

    lessfile, lesspipe – "input preprocessor" for less.  

    SYNOPSIS

    lessfile, lesspipe  

    DESCRIPTION

    This manual page documents briefly the lessfile, and lesspipe commands. This manual page was written for the Debian GNU/Linux distribution because the input preprocessor scripts are provided by Debian GNU/Linux and are not part of the original program.

    lessfile and lesspipe are programs that can be used to modify the way the contents of a file are displayed in less. What this means is that less can automatically open up tar files, uncompress gzipped files, and even display something reasonable for graphics files.

    lesspipe will toss the contents/info on STDOUT and less will read them as they come across. This means that you do not have to wait for the decoding to finish before less shows you the file. This also means that you will get a ‘byte N’ instead of an N% as your file position. You can seek to the end and back to get the N% but that means you have to wait for the pipe to finish.

    lessfile will toss the contents/info on a file which less will then read. After you are done, lessfile will then delete the file. This means that the process has to finish before you see it, but you get nice percentages (N%) up front.  

    USAGE

    Just put one of the following two commands in your login script (e.g. ~/.bash_profile):


      eval "$(lessfile)"

    or


      eval "$(lesspipe)"  

    FILE TYPE RECOGNITION

    File types are recognized by their extensions. This is a list of currently supported extensions (grouped by the programs that handle them):


      *.a
      *.arj
      *.tar.bz2
      *.bz
      *.bz2
      *.deb, *.udeb, *.ddeb
      *.doc
      *.gif, *.jpeg, *.jpg, *.pcd, *.png, *.tga, *.tiff, *.tif
      *.iso, *.raw, *.bin
      *.lha, *.lzh
      *.tar.lz, *.tlz
      *.lz
      *.7z
      *.pdf
      *.rar, *.r[0-9][0-9]
      *.rpm
      *.tar.gz, *.tgz, *.tar.z, *.tar.dz
      *.gz, *.z, *.dz
      *.tar
      *.tar.xz, *.xz
      *.jar, *.war, *.xpi, *.zip
      *.zoo  

    USER DEFINED FILTERS

    It is possible to extend and overwrite the default lesspipe and lessfile input processor if you have specialized requirements. Create an executable program with the name .lessfilter and put it into your home directory. This can be a shell script or a binary program.

    It is important that this program returns the correct exit code: return 0 if your filter handles the input, return 1 if the standard lesspipe/lessfile filter should handle the input.

    Here is an example script:


      #!/bin/sh


      case "$1" in
          *.extension)
              extension-handler "$1"
              ;;
          *)
              # We don’t handle this format.
              exit 1
      esac


      # No further processing by lesspipe necessary
      exit 0

     

    FILES

    ~/.lessfilter
    Executable file that can do user defined processing. See section USER DEFINED FILTERS for more information.
     

    BUGS

    When trying to open compressed 0 byte files, less displays the actual binary file contents. This is not a bug. less is designed to do that (see manual page less(1), section INPUT PREPROCESSOR). This is the answer of Mark Nudelman <[email protected]>:
    "I recognized when I designed it that a lesspipe filter cannot output an empty file and have less display nothing in that case; it’s a side effect of using the "no output" case to mean "the filter has nothing to do". It could have been designed to have some other mechanism to indicate "nothing to do", but "no output" seemed the simplest and most intuitive for lesspipe writers."

    Sometimes, less does not display the contents file you want to view but output that is produced by your login scripts (~/.bashrc or ~/.bash_profile). This happens because less uses your current shell to run the lesspipe filter. Bash first looks for the variable $BASH_ENV in the environment expands its value and uses the expanded value as the name of a file to read and execute. If this file produces any output less will display this. A way to solve this problem is to put the following lines on the top of your login script that produces output:


      if [ -z "$PS1" ]; then
          exit
      fi

    This tests whether the prompt variable $PS1 is set and if it isn’t (which is the case for non-interactive shells) it will exit the script.  

    Willie
    • Website

    Willie has over 15 years of experience in Linux system administration and DevOps. After managing infrastructure for startups and enterprises alike, he founded Command Linux to share the practical knowledge he wished he had when starting out. He oversees content strategy and contributes guides on server management, automation, and security.

    Related Posts

    GRUB-MKSTANDALONE

    April 20, 2026

    EVP_DigestInit

    April 20, 2026

    BASHBUG

    April 20, 2026

    XMAN

    April 20, 2026
    Top Posts

    SSHD

    January 30, 2026

    DIFF

    March 30, 2026

    How to Fix UnityPlayer.dll Errors on Windows

    January 12, 2026

    lsb_release

    January 23, 2026
    • Home
    • Contact Us
    • Privacy Policy
    • Terms of Use

    Type above and press Enter to search. Press Esc to cancel.