Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

HTML
<HTML><HEAD><TITLE>Manpage of ECFS</TITLE>

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">

</HEAD><BODY>

<H1>ECFS</H1>

Section: User Contributed Perl Documentation (1)<BR>Updated: 2015-10-26<BR><A HREF="#index">Index</A>

<A HREF="http://confluence.ecmwf.int/display/UDOC/Commands/">Return to Main Contents</A><HR>













<A NAME="lbAB"> </A>

<H2>NAME</H2>



ecfs - ECMWF file storage

<A NAME="lbAC"> </A>

<H2>DESCRIPTION</H2>



<A NAME="ixAAC"></A>

<FONT SIZE="-1">ECFS</FONT> is designed and run by the <FONT SIZE="-1">DHS</FONT> group at <FONT SIZE="-1">ECMWF.</FONT>

It adds additional storage domains to a UNIX-like filesystem,

and is modelled on the <FONT SIZE="-1">UNIX</FONT> file interface,

mapping files to a Unix-compatible directory tree.

<P>



In each domain it supports absolute and relative pathnames,

a current working directory and home directory (analogous to those in <FONT SIZE="-1">UNIX</FONT>)

and some wildcard support.

<P>



Each <FONT SIZE="-1">ECFS</FONT> command, say <B>ecp</B>, tries to be closely modelled

on its corresponding <FONT SIZE="-1">UNIX</FONT> command, in this case <B>cp</B>,

and generally implements a subset of its options.

<A NAME="lbAD"> </A>

<H3><FONT SIZE="-1">ECFS</FONT> domains at <FONT SIZE="-1">ECMWF</FONT></H3>



<A NAME="ixAAD"></A>

An <FONT SIZE="-1">ECFS</FONT> domain is specified by prefixing a pathname with

a domain name thus: <I>domain:path/to/file</I>.

<P>



At <FONT SIZE="-1">ECMWF</FONT> there are two storage domains:

<DL COMPACT>

<DT>*<DD>

<B>ec:</B> - Permanent; files are kept indefinitely,

although future developments might offer or apply an expiry facility.

<DT>*<DD>

<B>ectmp:</B> - Temporary; files are stored for a limited time (currently 90 days)

after which they are automatically deleted.

</DL>

<P>



In addition the local <FONT SIZE="-1">UNIX</FONT> filesystem can also be regarded as a domain

with an optional prefix <B>local</B>.

<A NAME="lbAE"> </A>

<H3>Specifying domains</H3>



<A NAME="ixAAE"></A>

In most commands, there is a default domain, which is not the local

domain; it is usually <B>ec:</B>.

So, for example, the commands:

<DL COMPACT>

<DT>*<DD>

<B>els -l </B>ec:foo<B></B>

<DT>*<DD>

<B>els -l </B>foo<B></B>

</DL>

<P>



are equivalent; in the latter case the default <FONT SIZE="-1">ECFS</FONT> domain is implied.

<P>



But for commands that involve two domains,

the <FONT SIZE="-1">ECFS</FONT> domain must be explicitly specified.

For example,

copying local file <I>foo</I> into domain <I>ec:</I> as filename <I>bar</I> is:

<DL COMPACT>

<DT>*<DD>

<B>ecp </B>foo<B> </B>ec:bar<B></B>

</DL>

<P>



Note (1) the default domain is now local, so <I>foo</I> is local;

(2) the <I>ec:</I> specification for the <FONT SIZE="-1">ECFS</FONT> domain is mandatory.

<P>



If in doubt, state the domain.

<A NAME="lbAF"> </A>

<H3>Specifying paths</H3>



<A NAME="ixAAF"></A>

A pathname in <FONT SIZE="-1">ECFS</FONT> resembles that in <FONT SIZE="-1">UNIX,</FONT>

but there may be restrictions on the character set supported.

The currently accepted set is:





<P>





<DL COMPACT><DT><DD>

alphanumeric: <B>A-Z</B>, <B>a-z</B>, <B>0-9</B>





<P>





other: '<B>_</B>' '<B>,</B>' '<B>.</B>' '<B>+</B>' '<B>-</B>'





<P>





directory separator: '<B>/</B>'

</DL>



<P>



There is limited wildcard support of '*', '?' and '[...]'

as per the simple <FONT SIZE="-1">UNIX</FONT> Bourne shell.

But wildcards are only available in the final component of a path.

So <I>some/path/to/*something*</I> is supported

but <I>some/*guess*/to/something</I> is not.

<A NAME="lbAG"> </A>

<H3>Some differences from <FONT SIZE="-1">UNIX</FONT> commands</H3>



<A NAME="ixAAG"></A>

Where reasonably possible

an <FONT SIZE="-1">ECFS</FONT> command mimics the corresponding <FONT SIZE="-1">UNIX</FONT> command.

But there are some inevitable restrictions, a few additions

and some differences.

<P>



This section headlines a few of those, mainly by way of example

and to give a feel for for principles at work.

It is not a complete list; the relevant man pages provide the detail.

<DL COMPACT>

<DT>*<DD>

<B>emove</B>: <FONT SIZE="-1">UNIX</FONT> offers <B>cp</B> and <B>mv</B>, so <FONT SIZE="-1">ECFS</FONT> offers <B>ecp</B> and <B>emv</B>.

But <FONT SIZE="-1">ECFS</FONT> additionally offers <B>emove</B>.

The <FONT SIZE="-1">UNIX </FONT><B>mv</B> actually does two different things:

<DL COMPACT><DT><DD>

<DL COMPACT>

<DT>*<DD>

Across filesystems it is a copy of the contents from an old location

to a new location and a deletion of the old location; this is a big

operation for big files.

<DT>*<DD>

Within a filesystem

it simply renames a file; this is a very fast and efficient operation

irrespective of file size

</DL>

</DL>



<DL COMPACT><DT><DD>





<P>





In <FONT SIZE="-1">ECFS

</FONT><B>emv</B> is for the copy-new-then-delete-old operation

across different domains.

An <B>emove</B> command is introduced for the swift rename case;

it requires that both the old and new locations are within the same domain.

</DL>



<DT>*<DD>

<B>ecp</B>, <B>emv</B>, <B>emove</B>: Additional option flags control whether

or not to overwrite an existing destination file.

<DT>*<DD>

<B>ecp</B>, <B>emv</B>, <B>emove</B>: When a destination path includes

non-existent directories, they are automatically created.

This can be envisaged as similar to <FONT SIZE="-1">UNIX </FONT><B>mkdir -p</B>

and being enabled by default.

<DT>*<DD>

<B>els</B>: Whereas the <FONT SIZE="-1">UNIX </FONT><B>ls</B> command has a wide range of option flags

<B>els</B> has a small subset.

<DT>*<DD>

Wildcards in pathnames are restricted to the final component.

<DT>*<DD>

Associated with each domain are its own current working directory

and home directory:

see <B>epwd</B> and <B>ecd</B>.

<DT>*<DD>

There is a separate 'umask' specification for <FONT SIZE="-1">ECFS</FONT> domains,

controlled by <B>eumask</B>.

<DT>*<DD>

<B>ecat</B> always requires two arguments to delineate the source

and destination;

one of these is always '<B>-</B>' for the corresponding standard input (<FONT SIZE="-1">STDIN</FONT>)

or standard output (<FONT SIZE="-1">STDOUT</FONT>).

Further, when the destination is an <FONT SIZE="-1">ECFS</FONT> pathname,

an estimated size must be supplied as '<B>-s</B> <I>bytes</I>' command line arguments.

<DT>*<DD>

<B>etest</B> implements only those options which apply to files and directories.

</DL>

<A NAME="lbAH"> </A>

<H2>RETURN VALUE</H2>



<A NAME="ixAAH"></A>

Commands return 0 if successful, and a non-zero code otherwise.

<A NAME="lbAI"> </A>

<H2>SEE ALSO</H2>



<A NAME="ixAAI"></A>

<I><A HREF="http://confluence.ecmwf.int/display/UDOC/Commands/epwd">epwd</A></I>(1), <I><A HREF="http://confluence.ecmwf.int/display/UDOC/Commands/ecd">ecd</A></I>(1),

<I><A HREF="http://confluence.ecmwf.int/display/UDOC/Commands/ecp">ecp</A></I>(1), <I><A HREF="http://confluence.ecmwf.int/display/UDOC/Commands/emv">emv</A></I>(1), <I><A HREF="http://confluence.ecmwf.in
tint/display/UDOC/Commands/emoveemo
ve">emove</A></I>(1), <I><A HREF="http://confluence.ecmwf.int/display/UDOC/Commands/ecat">ecat</A></I>(1), <I><A HREF="http://confluence.ecmwf.int/display/UDOC/Commands/etouch">
etouch<>etouch</A></I>(1), <I><A HREF="http://confluenceconflue
nce.ecmwf.int/display/UDOC/Commands/erm">erm</A></I>(1),

<I><A HREF="http://confluence.ecmwf.int/display/UDOC/Commands/emkdir">emkdir</A></I>(1), <I><A HREF="http://confluence.ecmwf.int/display/UDOC/Commands/ermdir">ermdir</A></I>(1),

<I><A HREF="http://confluence.ecmwf.int/display/UDOC/Commands/echgrp">echgrp</A></I>(1), <I><A HREF="http://confluence.ecmwf.int/display/UDOC/Commands/echmod">echmod</A></I>(1), <I><A HREF="http://conflue
nceconfluence.ecmwf.int/displaydisp
lay/UDOC/Commands/eumask">eumask</A></I>(1),

<I><A HREF="http://confluence.ecmwf.int/display/UDOC/Commands/els">els</A></I>(1), <I><A HREF="http://confluence.ecmwf.int/display/UDOC/Commands/etest">etest</A></I>(1)

<P>



<HR>

<A NAME="index"> </A><H2>Index</H2>

<DL>

<DT><A HREF="#lbAB">NAME</A><DD>

<DT><A HREF="#lbAC">DESCRIPTION</A><DD>

<DL>

<DT><A HREF="#lbAD"><FONT SIZE="-1">ECFS</FONT> domains at <FONT SIZE="-1">ECMWF</FONT></A><DD>

<DT><A HREF="#lbAE">Specifying domains</A><DD>

<DT><A HREF="#lbAF">Specifying paths</A><DD>

<DT><A HREF="#lbAG">Some differences from <FONT SIZE="-1">UNIX</FONT> commands</A><DD>

</DL>

<DT><A HREF="#lbAH">RETURN VALUE</A><DD>

<DT><A HREF="#lbAI">SEE ALSO</A><DD>

</DL>

<HR>

This document was created by

<A HREF="http://github.com/hamano/man2html/">man2html</A>,

using the manual pages.<BR>

Time: 14:4251:0757 GMT, July 23, 2018

</BODY>

</HTML>