PSHELL Quickstart

PSHELL Quickstart

Requirements

Your system must have Python 3.6.x or greater installed, and boto3 if accessing S3 resources such as acacia or aws.

A prepackaged python executable for pshell is available here.

Install

On Setonix

pshell is available in Setonix as a module, it could be installed by running

module load pshell

if you want to specify a certain version of pshell, use

module avail pshell

and then load the module with a certain version number.

On other devices

curl -L https://github.com/PawseySC/pshell/releases/latest/download/pshell -o pshell chmod +x pshell ./pshell

Run

From the command line, you can start pshell as follows:

python3 pshell

Remotes

pshell maintains a list of registered remote servers and the current connection state. The active remote is shown in the left part of the pshell command prompt:

portal:> remote portal [ not connected ] * public [ not connected ] aws [ not connected ]

 You can query the configuration of a particular remote.

portal:/>remote portal --info name = portal type = mflux protocol = https server = data.pawsey.org.au port = 443 domain = ivec

New remotes can be added for an additional Mediaflux server (similar to the default portal and public) or for an S3 resource. For further information, see: pshell and S3 remotes.

Log in

Authenticate to a remote using the appropriate credentials. In the case of the Mediaflux data portal it will be your Pawsey credentials. In the case of an S3 resource it will be your S3 key and secret pair. If the login was successful, the connection status of the remote will be updated.

portal:>login Username: sean Password: portal:/>remote portal [ authenticated ] * public [ not connected ] aws [ not connected ]

You can now navigate (cdls) and transfer files (putget) between your local filesystem and your remote storage resource.

Command syntax

The command line client implements a subset of the standard SFTP commands.

Remote filesystem commands: cd, ls, pwd, mkdir, rmdir

Local filesystem commands: lcd, lls, lpwd

Transfer commands: get, put

portal:/projects/Data Team>mkdir remotefolder portal:/projects/Data Team>cd remotefolder/ portal:/projects/Data Team/remotefolder/>ls 200032136 | 12 MB | remotefile portal:/projects/Data Team/remotefolder/>lcd localfolder Local: /Users/sean/localfolder portal:/projects/Data Team/remotefolder/>lls Local folder: /Users/sean/localfolder 3 MB | localfile portal:/projects/Data Team/remotefolder/>put localfile put: 1/1 files, errors=0, skipped=0, progress: 100.0% at 1.51 MB/s portal:/projects/Data Team/remotefolder/>get remotefile get: 1/1 files, errors=0, skipped=0, progress=100.0% at 3.1 MB/s portal:/projects/Data Team/remotefolder/>ls 200032136 | 12 MB | remotefile 200032137 | 3 MB | localfile portal:/projects/Data Team/remotefolder/>lls Local folder: /Users/sean/localfolder 12 MB | remotefile 3 MB | localfile

Find out more

To see an overview of the available commands, type help at the prompt. You can also type help <command> for more specific help.

Standard commands ================= cd help lcd logout mkdir put remote unpublish exit import lls lpwd processes pwd rm whoami get info login ls publish quit rmdir Specialised commands ==================== delegate lifecycle policy