Document the LIBGUESTFS_MEMSIZE environment variable.
[libguestfs.git] / guestfish.pod
index 0870b9e..974a903 100644 (file)
@@ -282,6 +282,32 @@ will create a directory C<local> on the host, and then export
 the contents of C</remote> on the mounted filesystem to
 C<local/remote-data.tar.gz>.  (See C<tgz-out>).
 
+=head1 PIPES
+
+Use C<command E<lt>spaceE<gt> | command> to pipe the output of the
+first command (a guestfish command) to the second command (any host
+command).  For example:
+
+ cat /etc/passwd | awk -F: '$3 == 0 { print }'
+
+(where C<cat> is the guestfish cat command, but C<awk> is the host awk
+program).  The above command would list all accounts in the guest
+filesystem which have UID 0, ie. root accounts including backdoors.
+Other examples:
+
+ hexdump /bin/ls | head
+ list-devices | tail -1
+
+The space before the pipe symbol is required, any space after the pipe
+symbol is optional.  Everything after the pipe symbol is just passed
+straight to the host shell, so it can contain redirections, globs and
+anything else that makes sense on the host side.
+
+To use a literal argument which begins with a pipe symbol, you have
+to quote it, eg:
+
+ echo "|"
+
 =head1 EXIT ON ERROR BEHAVIOUR
 
 By default, guestfish will ignore any errors when in interactive mode
@@ -293,19 +319,10 @@ If you prefix a command with a I<-> character, then that command will
 not cause guestfish to exit, even if that (one) command returns an
 error.
 
-=head1 COMMANDS
-
-=head2 help
-
- help
- help cmd
-
-Without any parameter, this lists all commands.  With a C<cmd>
-parameter, this displays detailed help for a command.
+=head1 GUESTFISH COMMANDS
 
-=head2 quit | exit
-
-This exits guestfish.  You can also use C<^D> key.
+The commands in this section are guestfish convenience commands, in
+other words, they are not part of the L<guestfs(3)> API.
 
 =head2 alloc | allocate
 
@@ -358,6 +375,23 @@ editors.
 NOTE: This will not work reliably for large files
 (> 2 MB) or binary files containing \0 bytes.
 
+=head2 glob
+
+ glob command args...
+
+Expand wildcards in any paths in the args list, and run C<command>
+repeatedly on each matching path.
+
+See section WILDCARDS AND GLOBBING.
+
+=head2 help
+
+ help
+ help cmd
+
+Without any parameter, this lists all commands.  With a C<cmd>
+parameter, this displays detailed help for a command.
+
 =head2 lcd
 
  lcd directory
@@ -367,14 +401,25 @@ itself.
 
 Note that C<!cd> won't do what you might expect.
 
-=head2 glob
+=head2 more | less
 
- glob command args...
+ more filename
 
-Expand wildcards in any paths in the args list, and run C<command>
-repeatedly on each matching path.
+ less filename
 
-See section WILDCARDS AND GLOBBING.
+This is used to view a file.
+
+The default viewer is C<$PAGER>.  However if you use the alternate
+command C<less> you will get the C<less> command specifically.
+
+NOTE: This will not work reliably for large files
+(> 2 MB) or binary files containing \0 bytes.
+
+=head2 quit | exit
+
+This exits guestfish.  You can also use C<^D> key.
+
+=head1 COMMANDS
 
 @ACTIONS@
 
@@ -402,6 +447,13 @@ used.
 
 Pass additional options to the guest kernel.
 
+=item LIBGUESTFS_MEMSIZE
+
+Set the memory allocated to the qemu process, in megabytes.  For
+example:
+
+ LIBGUESTFS_MEMSIZE=700
+
 =item HOME
 
 If compiled with GNU readline support, then the command history