<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://info.stat.cmu.edu/index.php?action=history&amp;feed=atom&amp;title=Command_Line_Data_Transfer</id>
	<title>Command Line Data Transfer - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://info.stat.cmu.edu/index.php?action=history&amp;feed=atom&amp;title=Command_Line_Data_Transfer"/>
	<link rel="alternate" type="text/html" href="https://info.stat.cmu.edu/index.php?title=Command_Line_Data_Transfer&amp;action=history"/>
	<updated>2026-11-05T07:33:12Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://info.stat.cmu.edu/index.php?title=Command_Line_Data_Transfer&amp;diff=798&amp;oldid=prev</id>
		<title>Ajshen at 02:54, 29 June 2026</title>
		<link rel="alternate" type="text/html" href="https://info.stat.cmu.edu/index.php?title=Command_Line_Data_Transfer&amp;diff=798&amp;oldid=prev"/>
		<updated>2026-06-29T02:54:14Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:54, 29 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Terminal and Command Line]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;When transitioning to remote server workflows, your first instinct might be to drag and drop files using the built-in file explorer in VS Code or other IDEs. While fine for small scripts, GUI-based transfers quickly break down when moving gigabytes or terabytes of research data.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;When transitioning to remote server workflows, your first instinct might be to drag and drop files using the built-in file explorer in VS Code or other IDEs. While fine for small scripts, GUI-based transfers quickly break down when moving gigabytes or terabytes of research data.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key infowiki:diff:1.41:old-705:rev-798:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Ajshen</name></author>
	</entry>
	<entry>
		<id>https://info.stat.cmu.edu/index.php?title=Command_Line_Data_Transfer&amp;diff=705&amp;oldid=prev</id>
		<title>Ajshen: /* 3. Where to Put Your Data: Home vs. Scratch */</title>
		<link rel="alternate" type="text/html" href="https://info.stat.cmu.edu/index.php?title=Command_Line_Data_Transfer&amp;diff=705&amp;oldid=prev"/>
		<updated>2026-06-27T06:18:39Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;3. Where to Put Your Data: Home vs. Scratch&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 06:18, 27 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l68&quot;&gt;Line 68:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 68:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;Best Practice:&amp;#039;&amp;#039;&amp;#039; Keep your code, scripts, and small configuration files in &amp;lt;code&amp;gt;/home&amp;lt;/code&amp;gt; so you can run them anywhere. Keep your large &amp;lt;code&amp;gt;.csv&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.parquet&amp;lt;/code&amp;gt;, or image files in &amp;lt;code&amp;gt;/scratch&amp;lt;/code&amp;gt; on the specific node you are computing on.&amp;lt;/blockquote&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;Best Practice:&amp;#039;&amp;#039;&amp;#039; Keep your code, scripts, and small configuration files in &amp;lt;code&amp;gt;/home&amp;lt;/code&amp;gt; so you can run them anywhere. Keep your large &amp;lt;code&amp;gt;.csv&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.parquet&amp;lt;/code&amp;gt;, or image files in &amp;lt;code&amp;gt;/scratch&amp;lt;/code&amp;gt; on the specific node you are computing on.&amp;lt;/blockquote&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== How to Find the Scratch Directory ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;While local storage is often predictably located at &amp;lt;code&amp;gt;/scratch&amp;lt;/code&amp;gt;, the exact path can vary depending on how the server was configured. Here is how to locate it step-by-step:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# &#039;&#039;&#039;Log into the server:&#039;&#039;&#039; Open your terminal and connect to your target node.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# &#039;&#039;&#039;Check available disk space:&#039;&#039;&#039; Run the &amp;lt;code&amp;gt;df&amp;lt;/code&amp;gt; (disk free) command with the &amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt; (human-readable) flag to list all mounted drives and their capacities:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;syntaxhighlight lang=&quot;bash&quot;&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;df -h&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# &#039;&#039;&#039;Identify the large local drive:&#039;&#039;&#039; Look at the output table. You are searching for a line where the &quot;Size&quot; is massive (often several Terabytes) and the &quot;Mounted on&quot; path is something like &amp;lt;code&amp;gt;/scratch&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/data&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;/local&amp;lt;/code&amp;gt;. (Ignore drives mounted on &amp;lt;code&amp;gt;/home&amp;lt;/code&amp;gt; or network shares).&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# &#039;&#039;&#039;Create your personal folder:&#039;&#039;&#039; You must have a dedicated place to store your files so you don&#039;t clutter the main directory. Once you have identified the scratch path, create a directory for your Andrew ID:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;syntaxhighlight lang=&quot;bash&quot;&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;mkdir /scratch/your_andrew_id&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 4. Special Note: Slurm-Managed Clusters ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 4. Special Note: Slurm-Managed Clusters ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key infowiki:diff:1.41:old-704:rev-705:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Ajshen</name></author>
	</entry>
	<entry>
		<id>https://info.stat.cmu.edu/index.php?title=Command_Line_Data_Transfer&amp;diff=704&amp;oldid=prev</id>
		<title>Ajshen: Created page with &quot;When transitioning to remote server workflows, your first instinct might be to drag and drop files using the built-in file explorer in VS Code or other IDEs. While fine for sm...&quot;</title>
		<link rel="alternate" type="text/html" href="https://info.stat.cmu.edu/index.php?title=Command_Line_Data_Transfer&amp;diff=704&amp;oldid=prev"/>
		<updated>2026-06-27T06:17:04Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;When transitioning to remote server workflows, your first instinct might be to drag and drop files using the built-in file explorer in VS Code or other IDEs. While fine for sm...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;When transitioning to remote server workflows, your first instinct might be to drag and drop files using the built-in file explorer in VS Code or other IDEs. While fine for small scripts, GUI-based transfers quickly break down when moving gigabytes or terabytes of research data. &lt;br /&gt;
&lt;br /&gt;
This guide covers the essential command-line tools for reliably moving data to and from the department servers.&lt;br /&gt;
&lt;br /&gt;
== 1. The Limits of GUI-Based Transfers ==&lt;br /&gt;
Integrated Development Environments (IDEs) like VS Code Remote are incredible for writing code, but their built-in file uploaders are not built for big data. Relying on them for large datasets introduces several risks:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;No Checkpointing:&amp;#039;&amp;#039;&amp;#039; If your Wi-Fi drops 90% of the way through a 50GB transfer, GUI tools usually force you to start over from the beginning.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;UI Freezing:&amp;#039;&amp;#039;&amp;#039; Moving thousands of small files (like image datasets) can overwhelm the IDE&amp;#039;s file watcher, causing your entire editor to freeze or crash.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Memory Overhead:&amp;#039;&amp;#039;&amp;#039; GUI tools often load chunks of the file into your local and remote RAM during transfer, which is incredibly inefficient and can trigger out-of-memory errors.&lt;br /&gt;
&lt;br /&gt;
Command-line interface (CLI) tools bypass the visual overhead, offer robust error handling, and allow you to pause and resume massive transfers.&lt;br /&gt;
&lt;br /&gt;
== 2. Essential CLI Transfer Tools ==&lt;br /&gt;
Below are the three core commands you will use for data management. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039; For tools like &amp;lt;code&amp;gt;scp&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;rsync&amp;lt;/code&amp;gt;, you must run these commands from your &amp;#039;&amp;#039;&amp;#039;local machine&amp;#039;s terminal&amp;#039;&amp;#039;&amp;#039;, not from inside the server.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;wget&amp;lt;/code&amp;gt;: Downloading Directly to the Server ===&lt;br /&gt;
If your data is already hosted online (e.g., on GitHub, an open data portal, or a public AWS bucket), do not download it to your laptop first. Use &amp;lt;code&amp;gt;wget&amp;lt;/code&amp;gt; to pull it directly onto the server at gigabit speeds.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step-by-step Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Connect to the server: &amp;lt;code&amp;gt;ssh your_stat_id@leviathan1.stat.cmu.edu&amp;lt;/code&amp;gt;&lt;br /&gt;
# Navigate to your target folder: &amp;lt;code&amp;gt;cd /scratch/your_andrew_id/data&amp;lt;/code&amp;gt;&lt;br /&gt;
# Download the file:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://example-data-portal.com/massive_dataset.csv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;scp&amp;lt;/code&amp;gt; (Secure Copy): Best for Single Files ===&lt;br /&gt;
&amp;lt;code&amp;gt;scp&amp;lt;/code&amp;gt; uses the same security protocol as SSH. It is the easiest way to push a specific file from your laptop to the server, or pull a results file back down.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step-by-step Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Open a terminal on your &amp;#039;&amp;#039;&amp;#039;local computer&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# To push a file &amp;#039;&amp;#039;to&amp;#039;&amp;#039; the server:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
scp ./local_model_weights.pt your_stat_id@leviathan1.stat.cmu.edu:/home/your_stat_id/models/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# To pull a file &amp;#039;&amp;#039;from&amp;#039;&amp;#039; the server:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
scp your_stat_id@leviathan1.stat.cmu.edu:/home/your_stat_id/results.csv ./Desktop/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;rsync&amp;lt;/code&amp;gt;: The Gold Standard for Big Data ===&lt;br /&gt;
If you are moving entire directories or datasets, &amp;lt;code&amp;gt;rsync&amp;lt;/code&amp;gt; is mandatory. It checks what files already exist at the destination and only transfers the differences. If your internet dies, simply run the exact same &amp;lt;code&amp;gt;rsync&amp;lt;/code&amp;gt; command again, and it will pick up right where it left off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step-by-step Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Open a terminal on your &amp;#039;&amp;#039;&amp;#039;local computer&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Sync a local folder to the server. The flags &amp;lt;code&amp;gt;-avP&amp;lt;/code&amp;gt; stand for Archive (keeps file structures intact), Verbose (shows progress), and Partial (allows resuming).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
rsync -avP ./my_massive_dataset/ your_stat_id@leviathan1.stat.cmu.edu:/scratch/your_stat_id/dataset/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See 🔗 https://www.geeksforgeeks.org/linux-unix/rsync-command-in-linux-with-examples/&lt;br /&gt;
&lt;br /&gt;
== 3. Where to Put Your Data: Home vs. Scratch ==&lt;br /&gt;
Before you start moving terabytes of data, it is critical to understand &amp;#039;&amp;#039;where&amp;#039;&amp;#039; you are putting it. The department clusters have two distinct types of storage:&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;/home&amp;lt;/code&amp;gt; (Network Attached Storage) ===&lt;br /&gt;
Your home directory (e.g., &amp;lt;code&amp;gt;/home/your_andrew_id&amp;lt;/code&amp;gt;) is hosted on a central Network Attached Storage (NAS) drive. &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;The Benefit:&amp;#039;&amp;#039;&amp;#039; Data stored here &amp;quot;follows&amp;quot; you. If you download a file to &amp;lt;code&amp;gt;/home&amp;lt;/code&amp;gt; while logged into &amp;lt;code&amp;gt;leviathan1&amp;lt;/code&amp;gt;, that exact same file will be waiting for you if you log into &amp;lt;code&amp;gt;leviathan2&amp;lt;/code&amp;gt; or the &amp;lt;code&amp;gt;ghidorah&amp;lt;/code&amp;gt; nodes.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;The Drawback:&amp;#039;&amp;#039;&amp;#039; NAS drives have strict storage quotas and slower read/write speeds over the network. &amp;#039;&amp;#039;&amp;#039;Do not put massive datasets here.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;/scratch&amp;lt;/code&amp;gt; (Local Disk) ===&lt;br /&gt;
Every individual server node has its own dedicated physical hard drive, usually mounted at &amp;lt;code&amp;gt;/scratch&amp;lt;/code&amp;gt;. &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;The Benefit:&amp;#039;&amp;#039;&amp;#039; Massive capacity and extremely fast disk I/O, meaning your code will read the data much faster. Always transfer your large datasets here.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;The Drawback:&amp;#039;&amp;#039;&amp;#039; Scratch space is local to the machine. If you download a dataset to &amp;lt;code&amp;gt;/scratch/your_andrew_id/&amp;lt;/code&amp;gt; on &amp;lt;code&amp;gt;leviathan1&amp;lt;/code&amp;gt;, you &amp;#039;&amp;#039;&amp;#039;cannot&amp;#039;&amp;#039;&amp;#039; see or access it from &amp;lt;code&amp;gt;leviathan2&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;Best Practice:&amp;#039;&amp;#039;&amp;#039; Keep your code, scripts, and small configuration files in &amp;lt;code&amp;gt;/home&amp;lt;/code&amp;gt; so you can run them anywhere. Keep your large &amp;lt;code&amp;gt;.csv&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.parquet&amp;lt;/code&amp;gt;, or image files in &amp;lt;code&amp;gt;/scratch&amp;lt;/code&amp;gt; on the specific node you are computing on.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. Special Note: Slurm-Managed Clusters ==&lt;br /&gt;
If you are graduating from the Leviathans to massive shared clusters managed by &amp;#039;&amp;#039;&amp;#039;Slurm&amp;#039;&amp;#039;&amp;#039; (like the Wright GPU cluster or PSC), there is one strict rule regarding data transfer:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Never run heavy data transfers on the login nodes.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
When you SSH into a Slurm cluster, you land on a shared &amp;quot;login node.&amp;quot; If you run a massive &amp;lt;code&amp;gt;wget&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;rsync&amp;lt;/code&amp;gt; command there, you will consume the network bandwidth for everyone else trying to log in, and system administrators may kill your process. &lt;br /&gt;
&lt;br /&gt;
Instead, you must either:&lt;br /&gt;
# Start an interactive compute session (&amp;lt;code&amp;gt;salloc&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;srun&amp;lt;/code&amp;gt;) and run your &amp;lt;code&amp;gt;wget&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;rsync&amp;lt;/code&amp;gt; command from inside that active compute node.&lt;br /&gt;
# Check the cluster&amp;#039;s documentation for a dedicated &amp;#039;&amp;#039;&amp;#039;Data Transfer Node (DTN)&amp;#039;&amp;#039;&amp;#039;, which is a specific server address built exclusively to handle heavy &amp;lt;code&amp;gt;rsync&amp;lt;/code&amp;gt; or Globus traffic.&lt;/div&gt;</summary>
		<author><name>Ajshen</name></author>
	</entry>
</feed>