]> wimlib.net Git - wimlib/blobdiff - doc/man1/imagex-extract.1.in
Move manpages from doc/ to doc/man1/
[wimlib] / doc / man1 / imagex-extract.1.in
diff --git a/doc/man1/imagex-extract.1.in b/doc/man1/imagex-extract.1.in
new file mode 100644 (file)
index 0000000..309430b
--- /dev/null
@@ -0,0 +1,240 @@
+.TH WIMLIB-IMAGEX "1" "March 2014" "@IMAGEX_PROGNAME@ @VERSION@" "User Commands"
+.SH NAME
+@IMAGEX_PROGNAME@-extract \- Extract files or directories from a WIM image
+.SH SYNOPSIS
+\fB@IMAGEX_PROGNAME@ extract\fR \fIWIMFILE\fR \fIIMAGE\fR [(\fIPATH\fR | @\fILISTFILE\fR)...]  [\fIOPTION\fR...]
+.SH DESCRIPTION
+\fB@IMAGEX_PROGNAME@ extract\fR extracts one or more files or directory trees
+from the specified \fIIMAGE\fR contained in the Windows Imaging (WIM) file
+\fIWIMFILE\fR.
+This command is also available as simply \fBwimextract\fR if the appropriate hard
+link or batch file has been installed.
+.PP
+\fB@IMAGEX_PROGNAME@ extract\fR is intended for extracting only a subset of a
+WIM image.  If you want to extract or "apply" a full WIM image to a directory or
+NTFS volume, use \fB@IMAGEX_PROGNAME@ apply\fR (1) instead.
+.PP
+\fIIMAGE\fR specifies the image in \fIWIMFILE\fR that contains the files or
+directory trees to extract.  It may be a 1-based index of an image in the WIM or
+the name of an image in the WIM.  Use the \fB@IMAGEX_PROGNAME@ info\fR (1)
+command to show what images a WIM file contains.
+.PP
+If no additional arguments are given, the entire WIM image is extracted.
+Otherwise, each additional argument is interpreted as a \fIPATH\fR if it does
+not begin with the '@' character, or a \fILISTFILE\fR if it does.  Each
+\fIPATH\fR specifies a file or directory tree within the WIM image to extract,
+whereas each \fILISTFILE\fR specifies a file that itself contains a list of
+paths to extract.  See \fBPATHS AND LISTFILES\fR for more details.
+.PP
+By default, files and directories are extracted to the current directory.  Use
+\fB--dest-dir\fR to select a different destination directory.  Alternatively,
+use \fB--to-stdout\fR to extract a file to standard output to pipe into another
+program.
+.PP
+A file or directory extracted from a \fIPATH\fR argument is by default extracted
+directly into the destination directory, whereas a file or directory extracted
+from a \fILISTFILE\fR argument is by default extracted into the destination
+directory in such a way that the archive's directory structure is
+preserved.  Use \fB--preserve-dir-structure\fR to always get the latter
+behavior.
+.PP
+\fB@IMAGEX_PROGNAME@ extract\fR supports extracting files and directory trees
+from stand-alone WIMs as well as split WIMs.  See \fBSPLIT WIMS\fR.
+.SH PATHS AND LISTFILES
+Each path, including those on the command line and those in listfiles, must be
+specified as an absolute path starting from the root of the WIM image, like
+those output by the \fB@IMAGEX_PROGNAME@ dir\fR (1) command.  However, path
+separators may be either forward or backward slashes, and the leading slash is
+optional.
+.PP
+On Windows, by default paths are treated case-insensitively, whereas on
+UNIX-like systems, by default paths are treated case-sensitively.  In either
+case, the default behavior may be overridden through the
+\fBWIMLIB_IMAGEX_IGNORE_CASE\fR environmental variable, as documented in
+\fB@IMAGEX_PROGNAME@\fR (1).
+.PP
+By default, each path may contain the wildcard characters '?' and '*'.  The '?'
+character matches any non-path-separator character, whereas the '*' character
+matches zero or more non-path-separator characters.  Consequently, a single
+wildcard pattern may expand to multiple actual files or directories.  Use the
+\fB--no-wildcards\fR option to disable wildcard matching and search for each
+path literally.
+.PP
+Each \fILISTFILE\fR must be a UTF-8 text file that contains a list of paths to
+extract, one per line.  Wildcard characters are allowed by default.  The
+following demonstrates an example listfile:
+.PP
+.RS
+.nf
+
+; This is a comment (begins with semicolon)
+/Users
+/Windows/explorer.exe
+/Windows/System32/en-US/*
+
+; Both forward and backslashes are valid.
+; Don't quote paths containing spaces.
+\\Program Files\\A*
+
+; Leading and trailing whitespace is ignored
+    \\Windows\\notepad*
+
+.SH SPLIT WIMS
+You may use \fB@IMAGEX_PROGNAME@ extract\fR to extract files or directory trees
+from a split WIM.  This uses the \fB--refs\fR="\fIGLOB\fR" option in the same
+way as in other commands such as \fB@IMAGEX_PROGNAME@ apply\fR.  See
+\fB@IMAGEX_PROGNAME@ apply\fR (1) for more details.
+.SH OPTIONS
+.TP 6
+\fB--check\fR
+When reading \fIWIMFILE\fR, verify its integrity if an integrity table is
+present.
+.TP
+\fB--ref\fR="\fIGLOB\fR"
+File glob of additional WIMs or split WIM parts to reference resources from.
+See \fBSPLIT_WIMS\fR.  Note: \fIGLOB\fR is listed in quotes because it is
+interpreted by \fB@IMAGEX_PROGNAME@\fR and may need to be quoted to protect
+against shell expansion.
+.TP
+\fB--dest-dir\fR=\fIDIR\fR
+Extract the files and directories to the directory \fIDIR\fR instead of to the
+current working directory.
+.TP
+\fB--to-stdout\fR
+Extract the files to standard output instead of to the filesystem.  This can
+only be provided if all the specified paths are to regular files (not
+directories or reparse points).  If present, alternate data streams are not
+extracted.
+.TP
+\fB--unix-data\fR
+See the documentation for this option in \fB@IMAGEX_PROGNAME@-apply\fR (1).
+.TP
+\fB--no-acls\fR
+See the documentation for this option in \fB@IMAGEX_PROGNAME@-apply\fR (1).
+.TP
+\fB--strict-acls\fR
+See the documentation for this option in \fB@IMAGEX_PROGNAME@-apply\fR (1).
+.TP
+\fB--no-attributes\fR
+See the documentation for this option in \fB@IMAGEX_PROGNAME@-apply\fR (1).
+.TP
+\fB--include-invalid-names\fR
+See the documentation for this option in \fB@IMAGEX_PROGNAME@-apply\fR (1).
+.TP
+\fB--no-wildcards\fR
+Do not interpret wildcard characters in paths.  Each path will be searched for
+literally.
+.TP
+\fB--nullglob\fR
+If a wildcard pattern (a.k.a. a "glob") does not match any paths, ignore it and
+print a warning instead of failing with an error.  In other words, this option
+allows a wildcard pattern to successfully match zero files.  Note that this
+applies even if one of the paths does not contain wildcard characters.  Such a
+path is still treated as a "wildcard pattern", so with this option it may not
+match anything and therefore produce no error.  This option cannot be combined
+with \fB--no-wildcards\fR, as that would be meaningless.
+.TP
+\fB--preserve-dir-structure\fR
+When extracting paths, preserve the archive directory structure instead of
+extracting the file or directory tree named by each path directly to the
+destination directory.  Note: \fB--preserve-dir-structure\fR is already the
+default behavior for paths in listfiles, but not paths directly specified on the
+command line.
+.TP
+\fB--wimboot\fR
+See the documentation for this option in \fB@IMAGEX_PROGNAME@-apply\fR (1).
+.SH NOTES
+See the documentation \fB@IMAGEX_PROGNAME@ apply\fR (1) for documentation about
+what data and metadata are extracted on UNIX-like systems versus on Windows.
+.PP
+On UNIX-like systems that support userspace filesystems with FUSE (e.g. Linux),
+one can alternatively mount the WIM image with \fB@IMAGEX_PROGNAME@ mount\fR (1)
+and then extract the desired files or directories using any standard
+command-line or graphical program.
+.PP
+Reparse-point fixups (a.k.a. changing absolute symbolic links and junctions to
+point within the extraction location) are never done by \fB@IMAGEX_PROGNAME@
+extract\fR.  Use \fB@IMAGEX_PROGNAME@ apply\fR if you want this behavior.
+.PP
+Unlike \fB@IMAGEX_PROGNAME@ apply\fR, \fB@IMAGEX_PROGNAME@ extract\fR does not
+support extracting files directly to a NTFS volume using libntfs-3g.
+.PP
+wimlib v1.6.0 and later can extract files from version 3584 WIMs, which usually
+use packed, LZMS-compressed streams and may carry the \fI.esd\fR file extension
+rather than \fI.wim\fR.  However, \fI.esd\fR files downloaded directly by the
+Windows 8 web downloader have encrypted segments, and wimlib cannot extract such
+files until they are first decrypted.  Furthermore, such files are not designed
+for random access, so extracting individual files from them may be slow.
+.SH EXAMPLES
+Extract a file from the first image in "boot.wim" to the current directory:
+.RS
+.PP
+@IMAGEX_PROGNAME@ extract boot.wim 1 /Windows/System32/notepad.exe
+.RE
+.PP
+Extract a file from the first image in "boot.wim" to standard output:
+.RS
+.PP
+@IMAGEX_PROGNAME@ extract boot.wim 1 /Windows/System32/notepad.exe \\
+.br
+.RS
+--to-stdout
+.RE
+.RE
+.PP
+Extract a file from the first image in "boot.wim" to the specified directory:
+.RS
+.PP
+@IMAGEX_PROGNAME@ extract boot.wim 1 /Windows/System32/notepad.exe \\
+.br
+.RS
+--dest-dir=somedir
+.RE
+.RE
+.PP
+Extract the "sources" directory from the first image in "boot.wim" to the
+current directory:
+.RS
+.PP
+@IMAGEX_PROGNAME@ extract boot.wim 1 /sources
+.RE
+.PP
+Extract multiple files and directories in one command:
+.RS
+.PP
+@IMAGEX_PROGNAME@ extract boot.wim 1 /Windows/Fonts \\
+.br
+.RS
+/sources /Windows/System32/cmd.exe
+.RE
+.RE
+.PP
+Extract many files to the current directory using a wildcard pattern:
+.RS
+.PP
+@IMAGEX_PROGNAME@ extract install.wim 1 "/Windows/Fonts/*.ttf"
+.RE
+.PP
+Extract files using a list file:
+.RS
+.PP
+@IMAGEX_PROGNAME@ extract install.wim 1 @files.txt
+.RE
+.PP
+ ...  where files.txt could be something like:
+.PP
+.RS
+.RS
+.nf
+Windows\\System32\\*.*
+Windows\\System32\\??-??\\*.*
+Windows\\System32\\en-US\\*.*
+.RE
+.RE
+.fi
+.SH SEE ALSO
+.BR @IMAGEX_PROGNAME@ (1)
+.BR @IMAGEX_PROGNAME@-apply (1)
+.BR @IMAGEX_PROGNAME@-dir (1)
+.BR @IMAGEX_PROGNAME@-info (1)
+.BR @IMAGEX_PROGNAME@-mount (1)