PSHELL Quickstart
- 1 Requirements
- 2 Install
- 2.1 On Setonix
- 2.2 On other devices
- 3 Run
- 4 Remotes
- 5 Log in
- 6 Command syntax
- 7 Find out more
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 pshellif you want to specify a certain version of pshell, use
module avail pshelland 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
./pshellRun
From the command line, you can start pshell as follows:
python3 pshellRemotes
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 = ivecNew 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 (cd, ls) and transfer files (put, get) 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 | localfileFind 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