To transmit more than a few files at a time, we recommend using rsync, which only transfers the differences between files if partial data already exists at the target file system. To sync an entire directory, you can use the following command

$ rsync -r -p -t -l -D -u -v sourcedir/* [userid]@login.marcc.jhu.edu:/home/[userid]/targetdir

This will copy all files and subfolders within sourcedir in the local system over to targetdir on MARCC. The -u option prevents older files from overwriting newer ones and can be omitted if you are certain the source files should always replace the target files. The -r option transfers files recursively from subfolders and should be omitted if you only need to transfer files from the current directory level. Note that if you omit the * then rsync will also copy hidden files and directories (those starting with .), which are usually configuration files that may cause problems if copied between different machines.