<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>去重 on KnightLi的博客</title>
        <link>https://www.knightli.com/zh-tw/tags/%E5%8E%BB%E9%87%8D/</link>
        <description>Recent content in 去重 on KnightLi的博客</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-tw</language>
        <lastBuildDate>Wed, 06 May 2026 09:23:09 +0800</lastBuildDate><atom:link href="https://www.knightli.com/zh-tw/tags/%E5%8E%BB%E9%87%8D/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>fdupes 怎麼控制刪除順序？按目錄優先級保留重複檔案</title>
        <link>https://www.knightli.com/zh-tw/2026/05/06/fdupes-delete-duplicates-by-directory-priority/</link>
        <pubDate>Wed, 06 May 2026 09:23:09 +0800</pubDate>
        
        <guid>https://www.knightli.com/zh-tw/2026/05/06/fdupes-delete-duplicates-by-directory-priority/</guid>
        <description>&lt;p&gt;用 &lt;code&gt;fdupes&lt;/code&gt; 刪除重複檔案時，如果有 &lt;code&gt;a&lt;/code&gt;、&lt;code&gt;b&lt;/code&gt;、&lt;code&gt;c&lt;/code&gt; 三個目錄，並且希望優先保留 &lt;code&gt;a&lt;/code&gt;，其次保留 &lt;code&gt;b&lt;/code&gt;，最後刪除 &lt;code&gt;c&lt;/code&gt; 中的重複檔案，關鍵不在於寫一個複雜規則，而在於目錄輸入順序。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;fdupes&lt;/code&gt; 在非互動刪除模式下，會保留每組重複檔案中最先出現的檔案，刪除後續發現的重複項。因此目錄參數要按「保留優先級從高到低」排列。&lt;/p&gt;
&lt;p&gt;也就是說，想實現「先刪 c，再刪 b，最後盡量保留 a」，命令應該寫成：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fdupes -rdN a b c
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;掃描順序是 &lt;code&gt;a -&amp;gt; b -&amp;gt; c&lt;/code&gt;。當三個目錄中存在相同檔案時，&lt;code&gt;a&lt;/code&gt; 裡的檔案會先被發現並保留，&lt;code&gt;b&lt;/code&gt; 和 &lt;code&gt;c&lt;/code&gt; 中重複的檔案會被刪除。如果只有 &lt;code&gt;b&lt;/code&gt; 和 &lt;code&gt;c&lt;/code&gt; 有重複檔案，則保留 &lt;code&gt;b&lt;/code&gt;，刪除 &lt;code&gt;c&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id=&#34;參數含義&#34;&gt;參數含義
&lt;/h2&gt;&lt;p&gt;常用參數如下：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-r&lt;/code&gt;：遞迴掃描子目錄。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-d&lt;/code&gt;：刪除重複檔案。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-N&lt;/code&gt;：與 &lt;code&gt;-d&lt;/code&gt; 配合使用，不進入互動確認，自動保留每組重複檔案中的第一個，刪除其餘檔案。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;因此，自動刪除重複檔案的基本格式是：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fdupes -rdN 目录A 目录B 目录C
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;目錄越靠前，保留優先級越高；目錄越靠後，越容易被刪除。&lt;/p&gt;
&lt;h2 id=&#34;先預覽再刪除&#34;&gt;先預覽再刪除
&lt;/h2&gt;&lt;p&gt;直接使用 &lt;code&gt;-dN&lt;/code&gt; 會刪除檔案，建議先預覽重複檔案分組：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fdupes -r a b c
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;輸出結果會按重複檔案分組展示。每組中靠前的檔案，就是非互動刪除時更可能被保留的檔案。&lt;/p&gt;
&lt;p&gt;也可以查看統計資訊：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fdupes -rm a b c
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果資料重要，建議先把結果保存下來人工檢查：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fdupes -r a b c &amp;gt; duplicates.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;確認每組重複檔案的排列順序符合預期後，再執行：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fdupes -rdN a b c
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;子目錄怎麼處理&#34;&gt;子目錄怎麼處理
&lt;/h2&gt;&lt;p&gt;只要開啟 &lt;code&gt;-r&lt;/code&gt;，&lt;code&gt;fdupes&lt;/code&gt; 會遞迴掃描傳入目錄下的所有檔案。決定保留優先級的，仍然是命令中路徑出現的先後順序。&lt;/p&gt;
&lt;p&gt;例如：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fdupes -rdN dir_a dir_b dir_c
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;這表示：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;dir_a&lt;/code&gt; 的優先級最高。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dir_b&lt;/code&gt; 次之。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dir_c&lt;/code&gt; 最低。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果 &lt;code&gt;dir_a/sub1/file.txt&lt;/code&gt; 和 &lt;code&gt;dir_c/sub1/file.txt&lt;/code&gt; 內容相同，會保留 &lt;code&gt;dir_a&lt;/code&gt; 下的檔案。如果 &lt;code&gt;dir_a/x/y/file.txt&lt;/code&gt; 和 &lt;code&gt;dir_c/file.txt&lt;/code&gt; 內容相同，也會優先保留 &lt;code&gt;dir_a&lt;/code&gt; 下的檔案。&lt;code&gt;fdupes&lt;/code&gt; 比較的是檔案內容，不要求檔名或目錄層級完全一致。&lt;/p&gt;
&lt;h2 id=&#34;精確控制子目錄優先級&#34;&gt;精確控制子目錄優先級
&lt;/h2&gt;&lt;p&gt;如果只傳父目錄，子目錄內部的掃描順序由 &lt;code&gt;fdupes&lt;/code&gt; 的遍歷邏輯決定。多數情況下，這已經夠用。但如果你想讓某個子目錄擁有更高優先級，就要把它顯式寫在前面。&lt;/p&gt;
&lt;p&gt;例如，希望優先保留 &lt;code&gt;dir_a&lt;/code&gt;，然後保留 &lt;code&gt;dir_b/special&lt;/code&gt;，再處理 &lt;code&gt;dir_b&lt;/code&gt; 的其他內容，最後處理 &lt;code&gt;dir_c&lt;/code&gt;：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fdupes -rdN dir_a dir_b/special dir_b dir_c
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;這樣 &lt;code&gt;dir_b/special&lt;/code&gt; 會先於 &lt;code&gt;dir_b&lt;/code&gt; 被掃描。之後掃描 &lt;code&gt;dir_b&lt;/code&gt; 時，&lt;code&gt;special&lt;/code&gt; 裡的檔案已經被記錄，整體優先級就會高於 &lt;code&gt;dir_b&lt;/code&gt; 的其他部分。&lt;/p&gt;
&lt;p&gt;這個寫法適合下面這種需求：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;a&lt;/code&gt; 是最重要的基準目錄。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;b&lt;/code&gt; 中某個子目錄比 &lt;code&gt;b&lt;/code&gt; 的其他內容更重要。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;c&lt;/code&gt; 主要作為低優先級備份目錄。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;路徑順序可以繼續擴展：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fdupes -rdN a b/important b c/keep-first c
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;規則仍然只有一個：越靠前，越優先保留。&lt;/p&gt;
&lt;h2 id=&#34;目錄很多時使用列表&#34;&gt;目錄很多時使用列表
&lt;/h2&gt;&lt;p&gt;如果有很多目錄和子目錄，手動寫一長串命令容易出錯。可以把路徑按優先級寫入一個文字檔，比如 &lt;code&gt;folders.txt&lt;/code&gt;：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/path/to/dir_a
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/path/to/dir_b/sub_important
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/path/to/dir_b
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/path/to/dir_c/sub_1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/path/to/dir_c
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;然後用 &lt;code&gt;xargs&lt;/code&gt; 傳給 &lt;code&gt;fdupes&lt;/code&gt;：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat folders.txt &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; xargs fdupes -rdN
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果路徑中可能包含空格，更穩妥的方式是使用空字元分隔：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tr &lt;span class=&#34;s1&#34;&gt;&amp;#39;\n&amp;#39;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;\0&amp;#39;&lt;/span&gt; &amp;lt; folders.txt &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; xargs -0 fdupes -rdN
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;需要注意的邊界&#34;&gt;需要注意的邊界
&lt;/h2&gt;&lt;p&gt;第一，&lt;code&gt;fdupes&lt;/code&gt; 比較的是檔案內容，而不是檔名。如果兩個檔名完全不同，但內容一致，也會被識別為重複檔案。&lt;/p&gt;
&lt;p&gt;第二，如果 &lt;code&gt;a&lt;/code&gt; 目錄內部本身就有重複檔案，使用 &lt;code&gt;fdupes -rdN a b c&lt;/code&gt; 時，&lt;code&gt;a&lt;/code&gt; 內部靠後的重複項也可能被刪除。這個命令表達的是「按整體掃描順序保留最先出現的檔案」，不是「絕對不刪除 a 中任何檔案」。&lt;/p&gt;
&lt;p&gt;第三，預設情況下，&lt;code&gt;fdupes&lt;/code&gt; 不會跟隨符號連結。如果需要處理軟連結相關檔案，要先確認是否需要加 &lt;code&gt;-s&lt;/code&gt;，以及這樣做是否符合你的資料安全預期。&lt;/p&gt;
&lt;p&gt;第四，&lt;code&gt;fdupes&lt;/code&gt; 只刪除重複檔案，不負責清理空目錄。刪除完成後，如果 &lt;code&gt;b&lt;/code&gt;、&lt;code&gt;c&lt;/code&gt; 中留下了空資料夾，可以再執行：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;find b c -type d -empty -delete
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;更安全的操作習慣&#34;&gt;更安全的操作習慣
&lt;/h2&gt;&lt;p&gt;如果目錄裡是重要資料，不建議一上來就執行 &lt;code&gt;-rdN&lt;/code&gt;。更穩的流程是：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;先執行 &lt;code&gt;fdupes -r a b c&lt;/code&gt; 查看重複分組。&lt;/li&gt;
&lt;li&gt;確認每組中排在前面的檔案確實應該保留。&lt;/li&gt;
&lt;li&gt;再執行 &lt;code&gt;fdupes -rdN a b c&lt;/code&gt; 自動刪除。&lt;/li&gt;
&lt;li&gt;刪除後檢查是否需要清理空目錄。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;如果你非常擔心誤刪 &lt;code&gt;a&lt;/code&gt; 中的檔案，可以先只對低優先級目錄做更小範圍的清理，或者把結果匯出後人工篩選。&lt;code&gt;fdupes&lt;/code&gt; 的目錄順序很好用，但它不是權限隔離規則；只要路徑被納入掃描，路徑內部的重複檔案就可能參與刪除判斷。&lt;/p&gt;
&lt;h2 id=&#34;小結&#34;&gt;小結
&lt;/h2&gt;&lt;p&gt;用 &lt;code&gt;fdupes&lt;/code&gt; 按優先級刪除重複檔案，核心就是把「想保留的目錄」放在前面，把「優先刪除的目錄」放在後面。&lt;/p&gt;
&lt;p&gt;想保留 &lt;code&gt;a&lt;/code&gt;，再保留 &lt;code&gt;b&lt;/code&gt;，優先刪除 &lt;code&gt;c&lt;/code&gt;：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fdupes -rdN a b c
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;想讓某個子目錄優先級更高，就把它單獨寫在父目錄前面：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fdupes -rdN a b/important b c
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;記住一句話就夠了：&lt;code&gt;fdupes -dN&lt;/code&gt; 會保留先出現的重複檔案，刪除後出現的重複檔案。目錄順序，就是你的保留優先級。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
