...
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> |