In the world of HPC there is frequent need to copy or move files and folders. This page covers various methods of performing these basic file operations.
SMB/Samba Using a Graphic User Interface (GUI)
In brief, here’s how to connect to file shares from common GUI’s:
Windows: search for or click on the ‘File Explorer App’ (a manila folder held upright by a light blue rack), then in the address bar for the window, type in \\<servername>.arcc.uwyo.edu\<pathto>\<yourproject> and hit enter.
Mac: from the Finder, click ‘Go’ → ‘Connect to Server’. In the ‘Connect to Server’ window that pops up, enter: smb://<servername>.arcc.uwyo.edu/<pathto>/<yourproject> and click ‘Connect’.
Command Line Tools
Here are several command line tools to make managing files easier:
scp (secure copy)
Secure copy or SCP is a means of securely transferring computer files between a local host and a remote host or between two remote hosts. It is based on the Secure Shell (SSH) protocol.
Copy file or folder from a remote host to local host SCP example:
Secure Shell File Transfer Protocol is a command-line interface client program to securely transfer files using an encrypted Secure Shell connection. SFTP should not be confused with running an FTP client over an SSH connection.
Start the sftp interface: SFTP firstname.lastname@example.org
This gets a txt file from Teton and moves it to the Local System: get hello_world.txt destination_directory
This puts a txt file from the Local System onto Teton: put source_directory/hello_world.txt destination_directory
rsync is a utility to keep copies of a file on two computer systems
functions as both a file synchronization and file transfer program
The rsync algorithm is a type of delta encoding and is used to minimize network usage. Zlib may be used for additional compression, and SSH or stunnel can be used for data security
Rsync is typically used to synchronize files and directories between two different systems.
For example, if the command rsync local-file email@example.com:remote-file is run, rsync will use SSH to connect as the user to remote-host
To sync the contents of dir1 to dir2 on the same system: rsync -r dir1/ dir2
To sync with a remote system: rsync -a ~/dir1 firstname.lastname@example.org:destination_directory
FTP (File Transfer Protocol) is a network protocol for transmitting files between computers over Transmission Control Protocol/Internet Protocol (TCP/IP) connections. Within the TCP/IP suite, FTP is considered an application layer protocol.
Although some systems might have a ftp client installed directly on the system, due to various security concerns, and that the protocol is being deprecated, ARCC does not have a client installed.
As a starting point, see the Wiki entry that states “Throughout 2021, the two major web browser vendors removed this ability. Support for the FTP protocol was first disabled in Google Chrome 88 in January 2021, followed by Firefox 88.0 in April 2021. In July 2021, Firefox 90 dropped FTP entirely, and Google followed suit in October 2021, removing FTP entirely in Google Chrome 95”.
Where users require an ftp client we can offer a number of alternatives:
Globus manages file transfers between two computer systems. It is ideal for large files and available for many institutional clusters and networks. This document covers the basics of using Globus and provides external links to more detailed information. If you’re a first time user or simply need a refresher, please refer to Globus’ excellent step by step guide.
See Globus' instructions on sharing data to learn how to create and share an upload/download repository that you can control access to.
Globus Connect Personal
Globus Connect Personal allows you to share and transfer files to and from your laptop or desktop computer. GCP supports the three primary OS’s. The default is for Mac; click the ‘Show me other supported operating systems’ toggle to download for Linux and Windows.
Note that GCP has a “High Assurance” option for Protected Health Information or Controlled Unclassified Information.
Globus Command Line Interface (CLI)
If you need to use a command line interface, please refer to Globus’ excellent step by step guide.