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

Running


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 pshell's command prompt:

portal:> remote
portal               not connected to: https://data.pawsey.org.au:443
public               not connected to: https://data.pawsey.org.au:443
aws                  not connected to: 'ap-southeast-2'
pawsey0002           not connected to: https://acacia.pawsey.org.au

New remotes can be added for a Mediaflux server (such as the default portal and public above) or for S3 resources, see: pshell and S3 remotes.

Logging in


Authenticate to a remote using the appropriate credentials. In the case of the data portal it will be your Pawsey credentials. In the case of an S3 resource it will be your key and secret pair.

portal:>login
Username: sean
Password:

portal:> remote
portal               authenticated to: https://data.pawsey.org.au/aterm as user=ivec:sean
public               not connected to: https://data.pawsey.org.au:443

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

Finding out more


To see an overview of the available commands, type "help" at the prompt. You can also type "help <command>" to obtain specific help on the named command.

portal:/>help

Documented commands (type help <topic>):
========================================
cd        get     info  login   ls         publish  quit    rmdir    
delegate  help    lcd   logout  mkdir      put      remote  unpublish
exit      import  lls   lpwd    processes  pwd      rm    

portal:/>help info

Return information for a remote file or folder

Usage: info <filename/folder>