Add 'command' and 'command-lines'. Fix args freeing in Perl bindings.
[libguestfs.git] / guestfish-actions.pod
index 50ecfec..2d0a045 100644 (file)
@@ -214,6 +214,38 @@ Only numeric uid and gid are supported.  If you want to use
 names, you will need to locate and parse the password file
 yourself (Augeas support makes this relatively easy).
 
 names, you will need to locate and parse the password file
 yourself (Augeas support makes this relatively easy).
 
+=head2 command
+
+ command arguments,...
+
+This calls runs a command from the guest filesystem.  The
+filesystem must be mounted, and must contain a compatible
+operating system (ie. something Linux, with the same
+or compatible processor architecture).
+
+The single parameter is an argv-style list of arguments.
+The first element is the name of the program to run.
+Subsequent elements are parameters.  The list must be
+non-empty (ie. must contain a program name).
+
+The C<$PATH> environment variable will contain at least
+C</usr/bin> and C</bin>.  If you require a program from
+another location, you should provide the full path in the
+first parameter.
+
+Shared libraries and data files required by the program
+must be available on filesystems which are mounted in the
+correct places.  It is the caller's responsibility to ensure
+all filesystems that are needed are mounted at the right
+locations.
+
+=head2 command-lines
+
+ command-lines arguments,...
+
+This is the same as C<command>, but splits the
+result into a list of lines.
+
 =head2 config
 
  config qemuparam qemuvalue
 =head2 config
 
  config qemuparam qemuvalue
@@ -236,6 +268,18 @@ This returns C<true> if and only if there is a file, directory
 
 See also C<is_file>, C<is_dir>, C<stat>.
 
 
 See also C<is_file>, C<is_dir>, C<stat>.
 
+=head2 file
+
+ file path
+
+This call uses the standard L<file(1)> command to determine
+the type or contents of the file.  This also works on devices,
+for example to find out whether a partition contains a filesystem.
+
+The exact command which runs is C<file -bsL path>.  Note in
+particular that the filename is not prepended to the output
+(the C<-b> option).
+
 =head2 get-autosync
 
  get-autosync
 =head2 get-autosync
 
  get-autosync