SQFSCAT(1)

NAME
sqfscat - tool to cat files from a squashfs filesystem to stdout

SYNOPSIS
sqfscat [OPTIONS] FILESYSTEM [list of files to cat to stdout]

DESCRIPTION
Squashfs is a highly compressed read-only filesystem for Linux. It uses either gzip/xz/lzo/lz4/zstd compression to compress both files, inodes and directories. Inodes in the system are very small and all blocks are packed to minimise data overhead. Block sizes greater than 4K are supported up to a maximum of 1Mbytes (default block size 128K).

Squashfs is intended for general read-only filesystem use, for archival use (i.e. in cases where a .tar.gz file may be used), and in constrained block device/memory systems (e.g. embedded systems) where low overhead is needed.

OPTIONS

  Runtime options:

-v, -version
    print version, licence and copyright information.

-p NUMBER, -processors NUMBER
    use NUMBER processors. By default will use the number of processors available.

-mem SIZE
    use SIZE physical memory for caches. Use K, M or G to specify Kbytes, Mbytes or Gbytes respectively. Default 512 Mbytes.

-mem-percent PERCENT
    use PERCENT physical memory for caches.

-o BYTES, -offset BYTES
    skip BYTES at start of FILESYSTEM. Optionally a suffix of K, M or G can be given to specify Kbytes, Mbytes or Gbytes respectively (default 0 bytes).

-ig, -ignore-errors
    treat errors writing files to stdout as non-fatal.

-st, -strict-errors
    treat all errors as fatal.

-no-exit, -no-exit-code
    don't set exit code (to nonzero) on non-fatal errors.

  Filter options:

-no-wild, -no-wildcards
    do not use wildcard matching in filenames.

-r, -regex
    treat filenames as POSIX regular expressions rather than use the default shell wildcard expansion (globbing).

  Help options:

-h, -help
    print help summary information to pager (or stdout if not a terminal).

-help-option REGEX
    print the help information for options matching REGEX to pager (or stdout if not a terminal).

-help-section SECTION
    print the help information for section SECTION to pager (or stdout if not a terminal). If SECTION does not exactly match a section name, it is treated as a regular expression, and all section names that match are displayed. Use "list" as section name to get a list of sections and their names.

-help-all
    print help information for all Sqfscat options and sections to pager (or stdout if not a terminal).

-ho REGEX
    shorthand alternative to -help-option.

-hs SECTION
    shorthand alternative to -help-section.

-ha shorthand alternative to -help-all.

-no-pager
    do not use a pager to output help information.

-cols WIDTH
    use WIDTH columns to output help information. Useful if output is not to a terminal.

EXIT STATUS

0   The file or files were output to stdout OK.

1   FATAL errors occurred, e.g. filesystem corruption, I/O errors. Sqfscat did not continue and aborted.

2   Non-fatal errors occurred, e.g. not a regular file, or failed to resolve pathname. Sqfscat continued and did not abort.

See -ignore-errors, -strict-errors and -no-exit-code options for how they affect the exit status.

DECOMPRESSORS AVAILABLE
gzip, lzo, lz4, xz, zstd, lzma

ENVIRONMENT

SQFS_CMDLINE
    If set, this is used as the directory to write the file sqfs_cmdline which contains the command line arguments given to Sqfscat. Each command line argument is wrapped in quotes to ensure there is no ambiguity when arguments contain spaces. If the file already exists then the command line is appended to the file.

PAGER
    If set, this is used as the name of the program used to display the help text. The value can be a simple command or a pathname. The default is /usr/bin/pager.

EXAMPLES

sqfscat IMAGE.SQFS hello
    Output the contents of "hello" to stdout.

sqfscat IMAGE.SQFS hello world
    Output the contents of "hello" and then "world" to stdout.

sqfscat IMAGE.SQFS "*.[ch]"
    Output the contents of all the files in the root directory that match the wildcard *.[ch], to stdout, e.g. hello.c, hello.h, world.c, world.h.

Note: when passing wildcarded names to Sqfscat, they should be quoted (as in the above examples), to ensure that they are not processed by the shell.

AUTHOR
Written by Phillip Lougher <phillip@squashfs.org.uk>

COPYRIGHT
Copyright © 2025 Phillip Lougher <phillip@squashfs.org.uk>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

SEE ALSO
mksquashfs(1), unsquashfs(1), sqfstar(1)

The README for the Squashfs-tools 4.7.4 release, describing the new features can be read here https://github.com/plougher/squashfs-tools/blob/master/Documentation/4.7.4/README.md

The Sqfscat usage guide can be read here https://github.com/plougher/squashfs-tools/blob/master/Documentation/4.7.4/USAGE-SQFSCAT.md

The CHANGELOG for Squashfs tools can be read here https://github.com/plougher/squashfs-tools/blob/master/CHANGES.md