SweStore/iRODS icommand

From SNIC Documentation
Jump to: navigation, search

For accessing the Swestore National Storage, we use, since Nov 2013, iRODS. And more specifically the iRODS client called "icommands", which is a set of commands similar to the unix commands "ls", "cd", "imkdir" etc, but with an "i" in front, plus two FTP-like commands: "iput" and "iget".

The iRODS icommands client is loaded through the module system.

1. Log in to SNIC cluster
2. Execute:
   module load irods 
   iinit

Now, your starting point is either your Swestore home directory or one of your projects. If you run "ils", you will then see a listing of files and folders in that directory, something like this:

[samuel@kalkyl4 ~]$ ils
 /ssUppnexZone/proj/b2011221:
   C- /ssUppnexZone/proj/b2011221/firstRun


Navigate around To enter one of the (or the only) folder(s), do:

icd [proj-id]

... in this case:

icd firstrun

To switch to another project, use

icd ..

to back up a level. After that, you can change to another project or folder using icd as previously

icd b2011222

Upload files To upload the above mentioned folder, do (-r is needed to recurse into directories):

iput -r [a local folder]

For single files, the -r flag is not needed:

iput [a local file]

To list the newly uploaded file/directory:

ils

To create folders, do:

imkdir [folder-name]

If you want to verify the upload outside of iRODS, there's a utility called ssverify.sh that will let you do that.

Downloading files To download a file again, do:

iget [a file in iRODS]

... or, for folders, do it recursively:

iget -r [a folder in iRODS]

File removal To remove a file, you'll like need to use -f to irm in order to bypass the use of a trash area, which is currently not supported at Uppmax.

More hints You can have iput show the progress with the -P flag If you want to be placed in a particular directory when you load the irods module, you can create a file called

$HOME/.irods/.irodsEnv

containing

irodsHome '/ssUppnexZone/proj/myproj'
irodsCwd '/ssUppnexZone/proj/myproj'

where

myproj

is replaced by your project id. Read more info about the respective i-commands with "[command] -h"