Basic pshell commands

Basic pshell commands

Simple SFTP commands

Pshell is a python command line client that 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 

Type help command to get information on the syntax of each.

Simple wildcards are accepted for file transfers.
There are also a few shell-like commands, such as:

  • whoami: reports the current logged in identity

  • file: reports metadata information on a file

Pagination

For file listings that are longer than the terminal height, a pagination control prompt will be displayed with the following options:

Entry

Result

<enter>

Display the next page of files

<page number><enter>

Display the requested page number

/<pattern>

Filter the result on the pattern

q

Leave (quit) paginated display mode

Exercises

Exercise 1 - pshell with Pawsey account

Perform the following:

  • run pshell and login to the mediaflux server,

  • query what your logged in identity is,

  • display your current working directory on the server,

  • display your local working directory

  • list the contents of the remote directory on the server.

magnus-1:~> ./pshell === pshell: type 'help' for a list of commands === pawsey:offline>login Username: sean Password: pawsey:/projects>whoami actor = ivec:sean role = ivec role = user role = Data Team:administer role = Demo:administer pawsey:/projects>pwd Remote: /projects pawsey:/projects>lpwd Local: /home/sean pawsey:/projects>ls 2 items, 29 items per page, remote folder: /projects [Folder] Data Team [Folder] Demo

Exercise 2 - downloading data

Perform the following:

  • Navigate to the /projects/Data Team folder,

  • download the testfiles folder to your local machine,

  • check the download by listing the files locally.

pawsey:/projects>cd Data Team/ Remote: /projects/Data Team pawsey:/projects/Data Team>get testfiles Total files=30, transferring ... Progress=100%, rate=0.5 MB/s Completed. pawsey:/projects/Data Team>lls testfiles Local folder: /home/sean/testfiles 48.75 KB | IMG_0033.jpg 15.77 KB | IMG_0009.jpg 17 KB | i000769.jpg 19.09 KB | i000768.jpg etc

Exercise 3 - uploading data

Perform the following:

  • Navigate to the /projects/Demo folder

  • create a unique new folder (eg your Pawsey account name)

  • change into this unique folder and confirm it is your current working directory

  • upload the files you downloaded in the previous exercise

  • check the upload by listing the remote files.

pawsey:/projects/Data Team>cd ../Demo Remote: /projects/Demo pawsey:/projects/Demo>mkdir sean pawsey:/projects/Demo>cd sean Remote: /projects/Demo/sean pawsey:/projects/Demo/sean>lcd testfiles Local: /home/sean/testfiles pawsey:/projects/Demo/sean>put * Total files=30, transferring... Progress: 100% at 0.2 MB/s Completed. pawsey:/projects/Demo/sean>ls 31 items, 29 items per page, remote folder: /projects/Demo/sean 69776130 | online | 17.69 KB | i000771.jpg 69776131 | online | 17.02 KB | i000765.jpg 69776132 | online | 17.21 KB | i000767.jpg etc

Exercise 4 - deleting data

Perform the following:

  • Navigate to the folder where you uploaded files in the previous exercise,

  • use a filter to display files with 077 in the filename,

  • delete files that match that pattern.

pawsey:/projects/Demo/sean>ls *077* 4 items, 29 items per page, remote folder: /projects/Demo/sean 69776130 | online | 17.69 KB | i000771.jpg 69776135 | online | 18.96 KB | i000770.jpg 69776136 | online | 17.58 KB | i000772.jpg 69776138 | online | 16.62 KB | i000773.jpg Page 1 of 1, file filter ['*077*']: q pawsey:/projects/Demo/sean>rm *077* Remove 4 files: (y/n) y