GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  REX::COMMANDS::FS (3)

.ds Aq ’

NAME

Rex::Commands::Fs - Filesystem commands

CONTENTS

DESCRIPTION

With this module you can do file system tasks like creating a directory, deleting files, moving files, and more.

SYNOPSIS



 my @files = list_files "/etc";

 unlink("/tmp/file");

 rmdir("/tmp");
 mkdir("/tmp");

 my %stat = stat("/etc/passwd");

 my $link = readlink("/path/to/a/link");
 symlink("/source", "/dest");

 rename("oldname", "newname");

 chdir("/tmp");

 is_file("/etc/passwd");
 is_dir("/etc");
 is_writeable("/tmp");
 is_writable("/tmp");

 chmod 755, "/tmp";
 chown "user", "/tmp";
 chgrp "group", "/tmp";



EXPORTED FUNCTIONS

    list_files(‘‘/path’’);

This function list all entries (files, directories, ...) in a given directory and returns a array.



 task "ls-etc", "server01", sub {
   my @tmp_files = grep { /\.tmp$/ } list_files("/etc");
 };



This command will not be reported.

    ls($path)

Just an alias for list_files

symlink($from, CW$to)

This function will create a symlink from $from to $to.



 task "symlink", "server01", sub {
   symlink("/var/www/versions/1.0.0", "/var/www/html");
 };



ln($from, CW$to)

ln is an alias for symlink

    unlink($file)

This function will remove the given file.



 task "unlink", "server01", sub {
   unlink("/tmp/testfile");
 };



    rm($file)

This is an alias for unlink.

    rmdir($dir)

This function will remove the given directory.



 task "rmdir", "server01", sub {
   rmdir("/tmp");
 };



Since: 0.45 Please use the file() resource instead.



 task "prepare", sub {
   file "/tmp",
     ensure => "absent";
 };



    mkdir($newdir)

This function will create a new directory.

Since: 0.45 Please use the file() resource instead.



 task "prepare", sub {
   file "/tmp",
     ensure => "directory",
     owner  => "root",
     group  => "root",
     mode   => 1777;
 };

 task "mkdir", "server01", sub {
   mkdir "/tmp";

   mkdir "/tmp",
     owner => "root",
     group => "root",
     mode => 1777;
 };



chown($owner, CW$file)

Change the owner of a file or a directory.



 chown "www-data", "/var/www/html";

 chown "www-data", "/var/www/html",
                recursive => 1;



This command will not be reported.

If you want to use reports, please use the file() resource instead.

chgrp($group, CW$file)

Change the group of a file or a directory.



 chgrp "nogroup", "/var/www/html";

 chgrp "nogroup", "/var/www/html",
              recursive => 1;



This command will not be reported.

If you want to use reports, please use the file() resource instead.

chmod($mode, CW$file)

Change the permissions of a file or a directory.



 chmod 755, "/var/www/html";

 chmod 755, "/var/www/html",
          recursive => 1;



This command will not be reported.

If you want to use reports, please use the file() resource instead.

    stat($file)

This function will return a hash with the following information about a file or directory.
mode
size
uid
gid
atime
mtime


 task "stat", "server01", sub {
   my %file_stat = stat("/etc/passwd");
 };



This command will not be reported.

    is_file($file)

This function tests if $file is a file. Returns 1 if true. 0 if false.



 task "isfile", "server01", sub {
   if( is_file("/etc/passwd") ) {
     say "it is a file.";
   }
   else {
     say "hm, this is not a file.";
   }
 };



This command will not be reported.

    is_dir($dir)

This function tests if $dir is a directory. Returns 1 if true. 0 if false.



 task "isdir", "server01", sub {
   if( is_dir("/etc") ) {
     say "it is a directory.";
   }
   else {
     say "hm, this is not a directory.";
   }
 };



This command will not be reported.

    is_symlink($file)

This function tests if $file is a symlink. Returns 1 if true. 0 if false.



 task "issym", "server01", sub {
   if( is_symlink("/etc/foo.txt") ) {
     say "it is a symlink.";
   }
   else {
     say "hm, this is not a symlink.";
   }
 };



This command will not be reported.

    is_readable($file)

This function tests if $file is readable. It returns 1 if true. 0 if false.



 task "readable", "server01", sub {
   if( is_readable("/etc/passwd") ) {
     say "passwd is readable";
   }
   else {
     say "not readable.";
   }
 };



This command will not be reported.

    is_writable($file)

This function tests if $file is writable. It returns 1 if true. 0 if false.



 task "writable", "server01", sub {
   if( is_writable("/etc/passwd") ) {
     say "passwd is writable";
   }
   else {
     say "not writable.";
   }
 };



This command will not be reported.

    is_writeable($file)

This is only an alias for is_writable.

This command will not be reported.

    readlink($link)

This function returns the link endpoint if $link is a symlink. If $link is not a symlink it will die.



 task "islink", "server01", sub {
   my $link;
   eval {
     $link = readlink("/tmp/testlink");
   };

   say "this is a link" if($link);
 };



This command will not be reported.

rename($old, CW$new)

This function will rename $old to $new. Will return 1 on success and 0 on failure.



 task "rename", "server01", sub {
   rename("/tmp/old", "/tmp/new");
 };



mv($old, CW$new)

mv is an alias for rename.

    chdir($newdir)

This function will change the current workdirectory to $newdir. This function currently only works local.



 task "chdir", "server01", sub {
   chdir("/tmp");
 };



This command will not be reported.

    cd($newdir)

This is an alias of chdir.

    df([$device])

This function returns a hashRef reflecting the output of df



 task "df", "server01", sub {
    my $df = df();
    my $df_on_sda1 = df("/dev/sda1");
 };



This command will not be reported.

    du($path)

Returns the disk usage of $path.



 task "du", "server01", sub {
   say "size of /var/www: " . du("/var/www");
 };



This command will not be reported.

cp($source, CW$destination)

cp will copy $source to $destination (it is recursive)



 task "cp", "server01", sub {
    cp("/var/www", "/var/www.old");
 };



mount($device, CW$mount_point, CW@options)

Mount devices.



 task "mount", "server01", sub {
   mount "/dev/sda5", "/tmp";
   mount "/dev/sda6", "/mnt/sda6",
          ensure    => "present",
          type      => "ext3",
          options   => [qw/noatime async/],
          on_change => sub { say "device mounted"; };
   #
   # mount persistent with entry in /etc/fstab

   mount "/dev/sda6", "/mnt/sda6",
          ensure     => "persistent",
          type       => "ext3",
          options    => [qw/noatime async/],
          on_change  => sub { say "device mounted"; };

   # to umount a device
   mount "/dev/sda6", "/mnt/sda6",
          ensure => "absent";

 };



In order to be more aligned with ‘mount‘ terminology, the previously used ‘fs‘ option has been deprecated in favor of the ‘type‘ option. The ‘fs‘ option is still supported and works as previously, but Rex prints a warning if it is being used. There’s also a warning if both ‘fs‘ and ‘type‘ options are specified, and in this case ‘type‘ will be used.

    umount($mount_point)

Unmount device.



 task "umount", "server01", sub {
   umount "/tmp";
 };



    glob($glob)



 task "glob", "server1", sub {
   my @files_with_p = grep { is_file($_) } glob("/etc/p*");
 };



This command will not be reported.

Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 REX::COMMANDS::FS (3) 2016-03-07

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.