Requirements
Your system must have Python 3.6.x or greater installed, and boto3 if accessing S3 resources such as acacia or aws.
Note |
---|
A prepackaged python executable for pshell is available from here. |
Running
From the command line, you can start pshell as follows:
Code Block |
---|
python3 pshell |
Remotes
pshell maintains a list of possible remote connectionsregistered remote servers and the current connection state. The currently active remote is shown in the left part of pshell's command prompt:
Code Block |
---|
portal:> remote portal [ not connected ] * public [ not connected ] aws [ not connected to: https://data.pawsey.org.au:443 public not connected to: https://] |
You can query the configuration of a particular remote as follows:
Code Block |
---|
portal:/>remote portal --info name = portal type = mflux protocol = https server = data.pawsey.org.au:443 awsport = 443 domain not connected to: 'ap-southeast-2' pawsey0002 not connected to: https://acacia.pawsey.org.au= ivec |
New remotes can be added that point to either a Mediaflux server or an S3 resources, such as Acacia or AWS-S3 - see the guide for more detailsfor an additional Mediaflux server (similar to the default portal and public) or for an S3 resource. For further information, 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. If the login was successful, the connection status of the remote will be updated.
Code Block |
---|
portal:>login Username: sean Password: portal:>/>remote remote portal [ authenticated to https://data.pawsey.org.au/aterm as user=ivec:sean public ] * public [ not connected ] aws [ not connected to: https://data.pawsey.org.au:443] |
You can now navigate (cd, ls) and transfer files (put, get) between your local filesystem and your remote storage resource.
...
Local filesystem commands: lcd, lls, lpwd
Transfer commands: get, put
Code Block |
---|
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.
Code Block |
---|
pawsey:/projects>help DocumentedStandard commands (type help <topic>): ======================================== cd delegate info help lcd lls logout ls mkdir put quit rmdir debug remote unpublish exit get lcd login lpwd mkdir pwd rm whoami pawsey:/projects>info file Return metadata information on a remote file Usage: file <filename>import lls lpwd processes pwd rm whoami get info login ls publish quit rmdir Specialised commands ==================== delegate lifecycle policy |