偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

如何在Linux中找到并刪除重復(fù)文件

系統(tǒng) Linux
在編輯或修改配置文件或舊文件前,我經(jīng)常會(huì)把它們備份到硬盤的某個(gè)地方,因此我如果意外地改錯(cuò)了這些文件,我可以從備份中恢復(fù)它們。

[[246402]]

 在編輯或修改配置文件或舊文件前,我經(jīng)常會(huì)把它們備份到硬盤的某個(gè)地方,因此我如果意外地改錯(cuò)了這些文件,我可以從備份中恢復(fù)它們。但問題是如果我忘記清理備份文件,一段時(shí)間之后,我的磁盤會(huì)被這些大量重復(fù)文件填滿 —— 我覺得要么是懶得清理這些舊文件,要么是擔(dān)心可能會(huì)刪掉重要文件。如果你們像我一樣,在類 Unix 操作系統(tǒng)中,大量多版本的相同文件放在不同的備份目錄,你可以使用下面的工具找到并刪除重復(fù)文件。

提醒一句:

在刪除重復(fù)文件的時(shí)請(qǐng)盡量小心。如果你不小心,也許會(huì)導(dǎo)致意外丟失數(shù)據(jù)。我建議你在使用這些工具的時(shí)候要特別注意。

在 Linux 中找到并刪除重復(fù)文件

出于本指南的目的,我將討論下面的三個(gè)工具:

  1. Rdfind
  2. Fdupes
  3. FSlint

這三個(gè)工具是自由開源的,且運(yùn)行在大多數(shù)類 Unix 系統(tǒng)中。

1. Rdfind

Rdfind 意即 redundant data find(冗余數(shù)據(jù)查找),是一個(gè)通過(guò)訪問目錄和子目錄來(lái)找出重復(fù)文件的自由開源的工具。它是基于文件內(nèi)容而不是文件名來(lái)比較。Rdfind 使用排序算法來(lái)區(qū)分原始文件和重復(fù)文件。如果你有兩個(gè)或者更多的相同文件,Rdfind 會(huì)很智能的找到原始文件并認(rèn)定剩下的文件為重復(fù)文件。一旦找到副本文件,它會(huì)向你報(bào)告。你可以決定是刪除還是使用硬鏈接或者符號(hào)(軟)鏈接代替它們。

安裝 Rdfind

Rdfind 存在于 AUR 中。因此,在基于 Arch 的系統(tǒng)中,你可以像下面一樣使用任一如 Yay AUR 程序助手安裝它。

  1. $ yay -S rdfind

在 Debian、Ubuntu、Linux Mint 上:

  1. $ sudo apt-get install rdfind

在 Fedora 上:

  1. $ sudo dnf install rdfind

在 RHEL、CentOS 上:

  1. $ sudo yum install epel-release
  2. $ sudo yum install rdfind

用法

一旦安裝完成,僅帶上目錄路徑運(yùn)行 Rdfind 命令就可以掃描重復(fù)文件。

  1. $ rdfind ~/Downloads

正如你看到上面的截屏,Rdfind 命令將掃描 ~/Downloads 目錄,并將結(jié)果存儲(chǔ)到當(dāng)前工作目錄下一個(gè)名為 results.txt 的文件中。你可以在 results.txt 文件中看到可能是重復(fù)文件的名字。

  1. $ cat results.txt
  2. # Automatically generated
  3. # duptype id depth size device inode priority name
  4. DUPTYPE_FIRST_OCCURRENCE 1469 8 9 2050 15864884 1 /home/sk/Downloads/tor-browser_en-US/Browser/TorBrowser/Tor/PluggableTransports/fte/tests/dfas/test5.regex
  5. DUPTYPE_WITHIN_SAME_TREE -1469 8 9 2050 15864886 1 /home/sk/Downloads/tor-browser_en-US/Browser/TorBrowser/Tor/PluggableTransports/fte/tests/dfas/test6.regex
  6. [...]
  7. DUPTYPE_FIRST_OCCURRENCE 13 0 403635 2050 15740257 1 /home/sk/Downloads/Hyperledger(1).pdf
  8. DUPTYPE_WITHIN_SAME_TREE -13 0 403635 2050 15741071 1 /home/sk/Downloads/Hyperledger.pdf
  9. # end of file

通過(guò)檢查 results.txt 文件,你可以很容易的找到那些重復(fù)文件。如果愿意你可以手動(dòng)的刪除它們。

此外,你可在不修改其他事情情況下使用 -dryrun 選項(xiàng)找出所有重復(fù)文件,并在終端上輸出匯總信息。

  1. $ rdfind -dryrun true ~/Downloads

一旦找到重復(fù)文件,你可以使用硬鏈接或符號(hào)鏈接代替他們。

使用硬鏈接代替所有重復(fù)文件,運(yùn)行:

  1. $ rdfind -makehardlinks true ~/Downloads

使用符號(hào)鏈接/軟鏈接代替所有重復(fù)文件,運(yùn)行:

  1. $ rdfind -makesymlinks true ~/Downloads

目錄中有一些空文件,也許你想忽略他們,你可以像下面一樣使用 -ignoreempty 選項(xiàng):

  1. $ rdfind -ignoreempty true ~/Downloads

如果你不再想要這些舊文件,刪除重復(fù)文件,而不是使用硬鏈接或軟鏈接代替它們。

刪除重復(fù)文件,就運(yùn)行:

  1. $ rdfind -deleteduplicates true ~/Downloads

如果你不想忽略空文件,并且和所喲重復(fù)文件一起刪除。運(yùn)行:

  1. $ rdfind -deleteduplicates true -ignoreempty false ~/Downloads

更多細(xì)節(jié),參照幫助部分:

  1. $ rdfind --help

手冊(cè)頁(yè):

  1. $ man rdfind

2. Fdupes

Fdupes 是另一個(gè)在指定目錄以及子目錄中識(shí)別和移除重復(fù)文件的命令行工具。這是一個(gè)使用 C 語(yǔ)言編寫的自由開源工具。Fdupes 通過(guò)對(duì)比文件大小、部分 MD5 簽名、全部 MD5 簽名,***執(zhí)行逐個(gè)字節(jié)對(duì)比校驗(yàn)來(lái)識(shí)別重復(fù)文件。

與 Rdfind 工具類似,F(xiàn)dupes 附帶非常少的選項(xiàng)來(lái)執(zhí)行操作,如:

  • 在目錄和子目錄中遞歸的搜索重復(fù)文件
  • 從計(jì)算中排除空文件和隱藏文件
  • 顯示重復(fù)文件大小
  • 出現(xiàn)重復(fù)文件時(shí)立即刪除
  • 使用不同的擁有者/組或權(quán)限位來(lái)排除重復(fù)文件
  • 更多

安裝 Fdupes

Fdupes 存在于大多數(shù) Linux 發(fā)行版的默認(rèn)倉(cāng)庫(kù)中。

在 Arch Linux 和它的變種如 Antergos、Manjaro Linux 上,如下使用 Pacman 安裝它。

  1. $ sudo pacman -S fdupes

在 Debian、Ubuntu、Linux Mint 上:

  1. $ sudo apt-get install fdupes

在 Fedora 上:

  1. $ sudo dnf install fdupes

在 RHEL、CentOS 上:

  1. $ sudo yum install epel-release
  2. $ sudo yum install fdupes

用法

Fdupes 用法非常簡(jiǎn)單。僅運(yùn)行下面的命令就可以在目錄中找到重復(fù)文件,如:~/Downloads。

  1. $ fdupes ~/Downloads

我系統(tǒng)中的樣例輸出:

  1. /home/sk/Downloads/Hyperledger.pdf
  2. /home/sk/Downloads/Hyperledger(1).pdf

你可以看到,在 /home/sk/Downloads/ 目錄下有一個(gè)重復(fù)文件。它僅顯示了父級(jí)目錄中的重復(fù)文件。如何顯示子目錄中的重復(fù)文件?像下面一樣,使用 -r 選項(xiàng)。

  1. $ fdupes -r ~/Downloads

現(xiàn)在你將看到 /home/sk/Downloads/ 目錄以及子目錄中的重復(fù)文件。

Fdupes 也可用來(lái)從多個(gè)目錄中迅速查找重復(fù)文件。

  1. $ fdupes ~/Downloads ~/Documents/ostechnix

你甚至可以搜索多個(gè)目錄,遞歸搜索其中一個(gè)目錄,如下:

  1. $ fdupes ~/Downloads -r ~/Documents/ostechnix

上面的命令將搜索 ~/Downloads 目錄,~/Documents/ostechnix 目錄和它的子目錄中的重復(fù)文件。

有時(shí),你可能想要知道一個(gè)目錄中重復(fù)文件的大小。你可以使用 -S 選項(xiàng),如下:

  1. $ fdupes -S ~/Downloads
  2. 403635 bytes each:
  3. /home/sk/Downloads/Hyperledger.pdf
  4. /home/sk/Downloads/Hyperledger(1).pdf

類似的,為了顯示父目錄和子目錄中重復(fù)文件的大小,使用 -Sr 選項(xiàng)。

我們可以在計(jì)算時(shí)分別使用 -n-A 選項(xiàng)排除空白文件以及排除隱藏文件。

  1. $ fdupes -n ~/Downloads
  2. $ fdupes -A ~/Downloads

在搜索指定目錄的重復(fù)文件時(shí),***個(gè)命令將排除零長(zhǎng)度文件,后面的命令將排除隱藏文件。

匯總重復(fù)文件信息,使用 -m 選項(xiàng)。

  1. $ fdupes -m ~/Downloads
  2. 1 duplicate files (in 1 sets), occupying 403.6 kilobytes

刪除所有重復(fù)文件,使用 -d 選項(xiàng)。

  1. $ fdupes -d ~/Downloads

樣例輸出:

  1. [1] /home/sk/Downloads/Hyperledger Fabric Installation.pdf
  2. [2] /home/sk/Downloads/Hyperledger Fabric Installation(1).pdf
  3.  
  4. Set 1 of 1, preserve files [1 - 2, all]:

這個(gè)命令將提示你保留還是刪除所有其他重復(fù)文件。輸入任一號(hào)碼保留相應(yīng)的文件,并刪除剩下的文件。當(dāng)使用這個(gè)選項(xiàng)的時(shí)候需要更加注意。如果不小心,你可能會(huì)刪除原文件。

如果你想要每次保留每個(gè)重復(fù)文件集合的***個(gè)文件,且無(wú)提示的刪除其他文件,使用 -dN 選項(xiàng)(不推薦)。

  1. $ fdupes -dN ~/Downloads

當(dāng)遇到重復(fù)文件時(shí)刪除它們,使用 -I 標(biāo)志。

  1. $ fdupes -I ~/Downloads

關(guān)于 Fdupes 的更多細(xì)節(jié),查看幫助部分和 man 頁(yè)面。

  1. $ fdupes --help
  2. $ man fdupes

3. FSlint

FSlint 是另外一個(gè)查找重復(fù)文件的工具,有時(shí)我用它去掉 Linux 系統(tǒng)中不需要的重復(fù)文件并釋放磁盤空間。不像另外兩個(gè)工具,F(xiàn)Slint 有 GUI 和 CLI 兩種模式。因此對(duì)于新手來(lái)說(shuō)它更友好。FSlint 不僅僅找出重復(fù)文件,也找出壞符號(hào)鏈接、壞名字文件、臨時(shí)文件、壞的用戶 ID、空目錄和非精簡(jiǎn)的二進(jìn)制文件等等。

安裝 FSlint

FSlint 存在于 AUR,因此你可以使用任一 AUR 助手安裝它。

  1. $ yay -S fslint

在 Debian、Ubuntu、Linux Mint 上:

  1. $ sudo apt-get install fslint

在 Fedora 上:

  1. $ sudo dnf install fslint

在 RHEL,CentOS 上:

  1. $ sudo yum install epel-release
  2. $ sudo yum install fslint

一旦安裝完成,從菜單或者應(yīng)用程序啟動(dòng)器啟動(dòng)它。

FSlint GUI 展示如下:

如你所見,F(xiàn)Slint 界面友好、一目了然。在 “Search path” 欄,添加你要掃描的目錄路徑,點(diǎn)擊左下角 “Find” 按鈕查找重復(fù)文件。驗(yàn)證遞歸選項(xiàng)可以在目錄和子目錄中遞歸的搜索重復(fù)文件。FSlint 將快速的掃描給定的目錄并列出重復(fù)文件。

從列表中選擇那些要清理的重復(fù)文件,也可以選擇 “Save”、“Delete”、“Merge” 和 “Symlink” 操作他們。

在 “Advanced search parameters” 欄,你可以在搜索重復(fù)文件的時(shí)候指定排除的路徑。

FSlint 命令行選項(xiàng)

FSlint 提供下面的 CLI 工具集在你的文件系統(tǒng)中查找重復(fù)文件。

  • findup — 查找重復(fù)文件
  • findnl — 查找名稱規(guī)范(有問題的文件名)
  • findu8 — 查找非法的 utf8 編碼的文件名
  • findbl — 查找壞鏈接(有問題的符號(hào)鏈接)
  • findsn — 查找同名文件(可能有沖突的文件名)
  • finded — 查找空目錄
  • findid — 查找死用戶的文件
  • findns — 查找非精簡(jiǎn)的可執(zhí)行文件
  • findrs — 查找文件名中多余的空白
  • findtf — 查找臨時(shí)文件
  • findul — 查找可能未使用的庫(kù)
  • zipdir — 回收 ext2 目錄項(xiàng)下浪費(fèi)的空間

所有這些工具位于 /usr/share/fslint/fslint/fslint 下面。

例如,在給定的目錄中查找重復(fù)文件,運(yùn)行:

  1. $ /usr/share/fslint/fslint/findup ~/Downloads/

類似的,找出空目錄命令是:

  1. $ /usr/share/fslint/fslint/finded ~/Downloads/

獲取每個(gè)工具更多細(xì)節(jié),例如:findup,運(yùn)行:

  1. $ /usr/share/fslint/fslint/findup --help

關(guān)于 FSlint 的更多細(xì)節(jié),參照幫助部分和 man 頁(yè)。

  1. $ /usr/share/fslint/fslint/fslint --help
  2. $ man fslint
總結(jié)

現(xiàn)在你知道在 Linux 中,使用三個(gè)工具來(lái)查找和刪除不需要的重復(fù)文件。這三個(gè)工具中,我經(jīng)常使用 Rdfind。這并不意味著其他的兩個(gè)工具效率低下,因?yàn)榈侥壳盀橹刮腋矚g Rdfind。好了,到你了。你的最喜歡哪一個(gè)工具呢?為什么?在下面的評(píng)論區(qū)留言讓我們知道吧。

就到這里吧。希望這篇文章對(duì)你有幫助。更多的好東西就要來(lái)了,敬請(qǐng)期待。

謝謝!

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2015-03-30 11:34:19

LinuxFSlint

2022-12-12 11:14:06

LinuxID

2018-05-28 11:10:08

Linux命令IP地址

2021-08-09 11:31:54

Linux重復(fù)相片刪除

2021-02-03 10:43:54

Linux系統(tǒng)磁盤

2022-05-27 11:59:22

Linux內(nèi)存CPU

2020-04-08 10:42:14

多云云計(jì)算云開發(fā)

2009-08-10 19:30:09

運(yùn)維知識(shí)庫(kù)IT運(yùn)維管理廣通信達(dá)科技

2022-03-28 19:53:24

Linux恢復(fù)文件意外刪除文件

2021-04-30 13:19:20

Linux刪除分區(qū)

2020-10-12 11:16:32

數(shù)組特定值元素

2015-09-02 15:47:05

命令行fdupesLinux

2023-04-24 13:37:04

Unity游戲開發(fā)

2015-08-13 09:09:10

LinuxdupeGuru

2023-03-03 00:07:24

2021-01-17 16:26:19

JSONKey爬蟲

2020-09-30 06:00:00

Linux誤刪除恢復(fù)文件

2016-11-22 19:37:54

Linux恢復(fù)文件

2017-05-25 12:04:48

Linux刪除超大文件

2021-10-25 12:23:06

Linux僵尸進(jìn)程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)