Implement 'strings' and 'hexdump' commands.
[libguestfs.git] / guestfish.pod
index 9d988bf..b464c71 100644 (file)
@@ -18,7 +18,7 @@ Create a new C</etc/motd> file in a guest:
  add disk.img
  run
  mount /dev/VolGroup00/LogVol00 /
- upload new_motd /etc/motd
+ write_file /etc/motd "Hello users" 0
  _EOF_
 
 List the LVs in a guest:
@@ -97,6 +97,11 @@ automatically launched.
 Disable autosync.  This is enabled by default.  See the discussion
 of autosync in the L<guestfs(3)> manpage.
 
+=item B<-r> | B<--ro>
+
+This changes the C<-m> option so that mounts are done read-only
+(see C<guestfs_mount_ro> in the L<guestfs(3)> manpage).
+
 =item B<-v> | B<--verbose>
 
 Enable very verbose messages.  This is particularly useful if you find
@@ -156,6 +161,47 @@ The only exception is that if the C<-m> or C<--mount> option was
 given, the guest is automatically run for you (simply because
 guestfish can't mount the disks you asked for without doing this).
 
+=head1 QUOTING
+
+You can quote ordinary parameters using either single or double
+quotes.  For example:
+
+ add "file with a space.img"
+
+ rm '/file name'
+
+ rm '/"'
+
+A few commands require a list of strings to be passed.  For these, use
+a space-separated list, enclosed in quotes.  For example:
+
+ vgcreate VG "/dev/sda1 /dev/sdb1"
+
+=head1 COMMENTS
+
+Any line which starts with a I<#> character is treated as a comment
+and ignored.  The I<#> can optionally be preceeded by whitespace,
+but B<not> by a command.  For example:
+
+ # this is a comment
+         # this is a comment
+ foo # NOT a comment
+
+Blank lines are also ignored.
+
+=head1 RUNNING COMMANDS LOCALLY
+
+Any line which starts with a I<!> character is treated as a command
+sent to the local shell (C</bin/sh> or whatever L<system(3)> uses).
+For example:
+
+ !mkdir local
+ tgz-out /remote local/remote-data.tar.gz
+
+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 COMMANDS
 
 =head2 help
@@ -201,6 +247,26 @@ number of 512 byte sectors
 
 =back
 
+=head2 echo
+
+ echo [params ...]
+
+This echos the parameters to the terminal.
+
+=head2 edit | vi | emacs
+
+ edit filename
+
+This is used to edit a file.  It downloads the file, edits it
+locally using your editor, then uploads the result.
+
+The editor is C<$EDITOR>.  However if you use the alternate
+commands C<vi> or C<emacs> you will get those corresponding
+editors.
+
+NOTE: This will not work reliably for large files
+(> 2 MB) or binary files containing \0 bytes.
+
 @ACTIONS@
 
 =head1 ENVIRONMENT VARIABLES
@@ -217,6 +283,22 @@ same effect as using the B<-v> option.
 Set the path that guestfish uses to search for kernel and initrd.img.
 See the discussion of paths in L<guestfs(3)>.
 
+=item LIBGUESTFS_QEMU
+
+Set the default qemu binary that libguestfs uses.  If not set, then
+the qemu which was found at compile time by the configure script is
+used.
+
+=item HOME
+
+If compiled with GNU readline support, then the command history
+is saved in C<$HOME/.guestfish>
+
+=item EDITOR
+
+The C<edit> command uses C<$EDITOR> as the editor.  If not
+set, it uses C<vi>.
+
 =back
 
 =head1 SEE ALSO