to look at the file C<daemon/debug.c> in the libguestfs source
to find out what you can do.
+=item $output = $h->df ();
+
+This command runs the C<df> command to report disk space used.
+
+This command is mostly useful for interactive sessions. It
+is I<not> intended that you try to parse the output string.
+Use C<statvfs> from programs.
+
+=item $output = $h->df_h ();
+
+This command runs the C<df -h> command to report disk space used
+in human-readable format.
+
+This command is mostly useful for interactive sessions. It
+is I<not> intended that you try to parse the output string.
+Use C<statvfs> from programs.
+
=item $kmsgs = $h->dmesg ();
This returns the kernel messages (C<dmesg> output) from
This automatically calls L<sync(2)> before the operation,
so that the maximum guest memory is freed.
+=item $sizekb = $h->du ($path);
+
+This command runs the C<du -s> command to estimate file space
+usage for C<path>.
+
+C<path> can be a file or a directory. If C<path> is a directory
+then the estimate includes the contents of the directory and all
+subdirectories (recursively).
+
+The result is the estimated size in I<kilobytes>
+(ie. units of 1024 bytes).
+
=item $h->e2fsck_f ($device);
This runs C<e2fsck -p -f device>, ie. runs the ext2/ext3
This command installs GRUB (the Grand Unified Bootloader) on
C<device>, with the root directory being C<root>.
+=item @lines = $h->head ($path);
+
+This command returns up to the first 10 lines of a file as
+a list of strings.
+
+Because of the message protocol, there is a transfer limit
+of somewhere between 2MB and 4MB. To transfer large files you should use
+FTP.
+
+=item @lines = $h->head_n ($nrlines, $path);
+
+If the parameter C<nrlines> is a positive number, this returns the first
+C<nrlines> lines of the file C<path>.
+
+If the parameter C<nrlines> is a negative number, this returns lines
+from the file C<path>, excluding the last C<nrlines> lines.
+
+If the parameter C<nrlines> is zero, this returns an empty list.
+
+Because of the message protocol, there is a transfer limit
+of somewhere between 2MB and 4MB. To transfer large files you should use
+FTP.
+
=item $dump = $h->hexdump ($path);
This runs C<hexdump -C> on the given C<path>. The result is
of somewhere between 2MB and 4MB. To transfer large files you should use
FTP.
+=item @filenames = $h->initrd_list ($path);
+
+This command lists out files contained in an initrd.
+
+The files are listed without any initial C</> character. The
+files are listed in the order they appear (not necessarily
+alphabetical). Directory names are listed as separate items.
+
+Old Linux kernels (2.4 and earlier) used a compressed ext2
+filesystem as initrd. We I<only> support the newer initramfs
+format (compressed cpio files).
+
=item $busy = $h->is_busy ();
This returns true iff this handle is busy processing a command
Create a directory named C<path>, creating any parent directories
as necessary. This is like the C<mkdir -p> shell command.
+=item $dir = $h->mkdtemp ($template);
+
+This command creates a temporary directory. The
+C<template> parameter should be a full pathname for the
+temporary directory name with the final six characters being
+"XXXXXX".
+
+For example: "/tmp/myprogXXXXXX" or "/Temp/myprogXXXXXX",
+the second one being suitable for Windows filesystems.
+
+The name of the temporary directory that was created
+is returned.
+
+The temporary directory is created with mode 0700
+and is owned by root.
+
+The caller is responsible for deleting the temporary
+directory and its contents after use.
+
+See also: L<mkdtemp(3)>
+
=item $h->mkfs ($fstype, $device);
This creates a filesystem on C<device> (usually a partition
B<This command is dangerous. Without careful use you
can easily destroy all your data>.
-=item $h->sfdisk_N ($device, $n, $cyls, $heads, $sectors, $line);
+=item $h->sfdisk_N ($device, $partnum, $cyls, $heads, $sectors, $line);
This runs L<sfdisk(8)> option to modify just the single
partition C<n> (note: C<n> counts from 1).
You should always call this if you have modified a disk image, before
closing the handle.
+=item @lines = $h->tail ($path);
+
+This command returns up to the last 10 lines of a file as
+a list of strings.
+
+Because of the message protocol, there is a transfer limit
+of somewhere between 2MB and 4MB. To transfer large files you should use
+FTP.
+
+=item @lines = $h->tail_n ($nrlines, $path);
+
+If the parameter C<nrlines> is a positive number, this returns the last
+C<nrlines> lines of the file C<path>.
+
+If the parameter C<nrlines> is a negative number, this returns lines
+from the file C<path>, starting with the C<-nrlines>th line.
+
+If the parameter C<nrlines> is zero, this returns an empty list.
+
+Because of the message protocol, there is a transfer limit
+of somewhere between 2MB and 4MB. To transfer large files you should use
+FTP.
+
=item $h->tar_in ($tarfile, $directory);
This command uploads and unpacks local file C<tarfile> (an
You should call this after C<$h-E<gt>launch> to wait for the launch
to complete.
+=item $chars = $h->wc_c ($path);
+
+This command counts the characters in a file, using the
+C<wc -c> external command.
+
+=item $lines = $h->wc_l ($path);
+
+This command counts the lines in a file, using the
+C<wc -l> external command.
+
+=item $words = $h->wc_w ($path);
+
+This command counts the words in a file, using the
+C<wc -w> external command.
+
=item $h->write_file ($path, $content, $size);
This call creates a file called C<path>. The contents of the