<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>WSL on Margrop Blog</title>
		<link>https://blog.margrop.net/en/tag/wsl/</link>
		<description>Recent content in WSL on Margrop Blog</description>
		<generator>Hugo</generator>
		<language>en-US</language>
		
		
		
		
			<lastBuildDate>Sat, 11 Jul 2026 13:30:00 +0800</lastBuildDate>
		
			<atom:link href="https://blog.margrop.net/en/tag/wsl/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Stop Running rsync Blindly: Preview Differences Before a Safe Incremental Sync</title>
				<link>https://blog.margrop.net/en/post/rsync-diff-incremental-sync/</link>
				<pubDate>Sat, 11 Jul 2026 13:30:00 +0800</pubDate>
				<guid>https://blog.margrop.net/en/post/rsync-diff-incremental-sync/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;The short answer&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;The best rsync habit is not memorizing more switches. It is separating every risky job into two stages: &lt;strong&gt;generate a dry-run plan first, review it, and only then perform the real incremental sync&lt;/strong&gt;. Deletion should be a separate, explicit permission rather than a hidden default.&lt;/p&gt;&#xA;&lt;p&gt;The common &lt;code&gt;rsync -n -avz --delete --out-format=&amp;quot;%n&amp;quot;&lt;/code&gt; pattern can list paths that may change, but &lt;code&gt;%n&lt;/code&gt; only preserves the name. A safer machine-readable plan uses &lt;code&gt;--itemize-changes&lt;/code&gt; together with &lt;code&gt;%i&lt;/code&gt;, so each line identifies an addition, update, deletion, or metadata change.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
			</item>
			<item>
				<title>Windows Finally Gets Native Linux Commands: Microsoft Coreutils Replaces WSL, Cygwin, and Git Bash</title>
				<link>https://blog.margrop.net/en/post/windows-native-linux-commands-microsoft-coreutils/</link>
				<pubDate>Sat, 27 Jun 2026 08:00:00 +0800</pubDate>
				<guid>https://blog.margrop.net/en/post/windows-native-linux-commands-microsoft-coreutils/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Let me ask you something:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Have you ever tried to &lt;code&gt;grep&lt;/code&gt; a log file in Windows Terminal, only to be told that &lt;code&gt;grep&lt;/code&gt; is not a recognized command? Tried to use &lt;code&gt;find&lt;/code&gt; to locate files, only to discover that Windows&amp;rsquo; &lt;code&gt;find&lt;/code&gt; is a completely different beast from Linux&amp;rsquo;s &lt;code&gt;find&lt;/code&gt;? Written a cross-platform script that works perfectly on Linux, then falls apart the moment it touches Windows?&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s not your fault. It&amp;rsquo;s the &amp;ldquo;Berlin Wall&amp;rdquo; between Windows and Linux command lines.&lt;/p&gt;&#xA;&lt;p&gt;The good news? Microsoft just tore that wall down. In late 2025, Microsoft open-sourced &lt;strong&gt;coreutils&lt;/strong&gt; on GitHub — a native Windows port of the essential Linux command set. No WSL. No Cygwin. No Git Bash. Just one &lt;code&gt;winget install&lt;/code&gt; command, and your Windows terminal suddenly speaks fluent &lt;code&gt;ls&lt;/code&gt;, &lt;code&gt;grep&lt;/code&gt;, &lt;code&gt;sed&lt;/code&gt;, and &lt;code&gt;awk&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
			</item>
	</channel>
</rss>
