Cách tìm và loại bỏ các tệp trùng lặp trên Linux bằng fdupes | Học trực tuyến CNTT, học lập trình từ cơ bản đến nâng cao

Cách tìm và loại bỏ các tệp trùng lặp trên Linux bằng fdupes

Chia sẻ kiến thức 07/03/2022

Bạn mệt mỏi với việc xóa thủ công các tệp trùng lặp trên hệ thống của mình? Cùng FUNiX tìm hiểu về fdupes, một công cụ dòng lệnh tự động phát hiện các tệp trùng lặp trên Linux.

Bạn mệt mỏi với việc xóa thủ công các tệp trùng lặp trên hệ thống của mình? Cùng FUNiX tìm hiểu về fdupes, một công cụ dòng lệnh tự động phát hiện các tệp trùng lặp trên Linux.

Khi làm việc với một lượng lớn media và tài liệu, việc tích lũy nhiều bản sao của cùng một tệp trên máy tính là điều khá phổ biến. Cũng bởi vậy mà nhiều người dùng gặp phải tình trạng không gian lưu trữ lộn xộn, chứa đầy các tệp dư thừa, trùng lặp.

Có nhiều chương trình khác nhau để xác định và xóa các tệp trùng lặp. Và fdupes là một trong những chương trình như vậy cho Linux. Bài viết này sẽ thảo luận về fdupes và hướng dẫn bạn qua các bước để tìm và xóa các tệp trùng lặp trên Linux.

Fdupes là gì?

Fdupes là một chương trình dựa trên giao diện dòng lệnh (command-line interface, hay CLI) để tìm và xóa các tệp trùng lặp trên Linux. Nó được phát hành theo Giấy phép MIT trên GitHub.

Ở dạng đơn giản nhất, chương trình hoạt động bằng cách chạy thư mục được chỉ định thông qua md5sum để so sánh các chữ ký MD5 của các tệp. Sau đó, nó chạy so sánh từng byte trên chúng để tìm ra các tệp trùng lặp và đảm bảo không có bản sao nào bị bỏ sót.

Khi fdupes tìm được các tệp trùng lặp, nó cho bạn lựa chọn xóa chúng hoặc thay thế chúng bằng các liên kết cứng (liên kết đến tệp gốc). 

Làm thế nào để cài đặt fdupes trên Linux?

Fdup có sẵn trên hầu hết các bản phân phối Linux chính như Ubuntu, Arch, Fedora, v.v. Dựa trên bản phân phối bạn đang chạy trên máy tính của mình, hãy đưa ra các lệnh dưới đây.

Trên hệ thống dựa trên Ubuntu hoặc Debian:

sudo apt install fdupes

Để cài đặt fdupes trên Fedora/CentOS và các bản phân phối dựa trên RHEL khác:

sudo dnf install fdupes

Trên Arch Linux và Manjaro:

sudo pacman -S fdupes

Làm thế nào để sử dụng fdupes?

Sau khi bạn đã cài đặt chương trình trên máy tính của mình, hãy làm theo các bước bên dưới để tìm và xóa các tệp trùng lặp.

Tìm tệp trùng lặp với fdupes

Đầu tiên, hãy bắt đầu bằng cách tìm kiếm tất cả các tệp trùng lặp trong một thư mục. Cú pháp cơ bản cho điều này là:

fdupes path/to/directory

Ví dụ: nếu bạn muốn tìm các tệp trùng lặp trong thư mục Documents, bạn sẽ chạy:

fdupes ~/Documents

Đầu ra:

Nếu fdupes tìm thấy các tệp trùng lặp trong thư mục được chỉ định, nó sẽ trả về danh sách tất cả các tệp dư thừa được nhóm theo bộ và sau đó bạn có thể thực hiện các thao tác tiếp theo để xử lý chúng nếu cần.

Tuy nhiên, nếu thư mục bạn đã chỉ định bao gồm các thư mục con, lệnh trên sẽ không xác định các bản sao bên trong chúng. Trong những tình huống như vậy, những gì bạn cần làm là thực hiện tìm kiếm đệ quy để tìm tất cả các tệp trùng lặp có bên trong các thư mục con.

Để thực hiện tìm kiếm đệ quy trong fdupes, hãy sử dụng cờ (flag) -r:

fdupes -r path/to/directory

Ví dụ:

fdupes -r ~/Documents

Đầu ra:

Mặc dù hai lệnh trên có thể dễ dàng tìm thấy các tệp trùng lặp trong thư mục được chỉ định (và các thư mục con của nó), đầu ra của chúng cũng bao gồm các tệp trùng lặp có độ dài bằng 0 (hoặc trống).

Mặc dù chức năng này có thể vẫn hữu ích khi bạn có quá nhiều tệp trùng lặp trống trên hệ thống của mình, nhưng nó có thể gây nhầm lẫn khi bạn chỉ muốn tìm các tệp trùng lặp không trống trong một thư mục.

Rất may là fdupes cho phép bạn loại trừ các tệp có độ dài bằng 0 khỏi kết quả tìm kiếm của nó bằng cách sử dụng tùy chọn -n.

Lưu ý: Bạn có thể loại trừ các tệp trùng lặp không trống trong cả tìm kiếm thông thường cũng như tìm kiếm đệ quy.

Để chỉ tìm kiếm các tệp trùng lặp không trống trên máy của bạn:

fdupes -n ~/Documents

Đầu ra:

Nếu bạn đang xử lý nhiều tập hợp các tệp trùng lặp, bạn nên xuất kết quả ra tệp văn bản để tham khảo trong tương lai.

Để làm điều này, hãy chạy:

fdupes path/to/directory > file_name.txt

… trong đó path/to/directory là thư mục mà bạn muốn thực hiện tìm kiếm.

Để tìm kiếm các tệp trùng lặp trong thư mục Documents và sau đó gửi kết quả đến một tệp:

fdupes /home/Documents > output.txt

Cuối cùng nhưng không kém phần quan trọng, nếu bạn muốn xem tóm tắt tất cả thông tin liên quan đến các tệp trùng lặp trong một thư mục, bạn có thể sử dụng cờ -m trong các lệnh của mình:

fdupes -m path/to/directory

Để lấy thông tin tệp trùng lặp cho thư mục Documents:

fdupes -m ~/Documents

Đầu ra:

Bất kỳ lúc nào trong quá trình sử dụng fdup, nếu bạn muốn được trợ giúp về lệnh hoặc chức năng, hãy sử dụng tùy chọn -h để nhận trợ giúp về dòng lệnh:

fdupes -h

Xóa các tệp trùng lặp trong Linux với fdupes

Sau khi bạn đã xác định được các tệp trùng lặp trong một thư mục, bạn có thể tiến hành xóa các tệp này khỏi hệ thống của mình để bớt lộn xộn và giải phóng dung lượng lưu trữ.

Để xóa một tệp trùng lặp, hãy chỉ định cờ -d bằng lệnh và nhấn Enter:

fdupes -d path/to/directory

Để xóa các tệp trùng lặp trong thư mục Downloads: 

fdupes -d ~/Downloads

Bây giờ Fdupes sẽ hiển thị cho bạn danh sách tất cả các tệp trùng lặp trong thư mục đó và sẽ cung cấp cho bạn lựa chọn lưu giữ những tệp bạn muốn giữ trên máy tính của mình.

Ví dụ: nếu bạn muốn giữ lại tệp đầu tiên trong tập 1, bạn nhập 1 sau đầu ra của tìm kiếm fdupes và nhấn Enter.

Hơn nữa, nếu được yêu cầu, bạn cũng có thể lưu nhiều phiên bản tệp trong một tập hợp các tệp trùng lặp được trả về. Để làm điều này, bạn cần nhập các số tương ứng với các tệp trùng lặp trong danh sách được phân tách bằng dấu phẩy và nhấn Enter.

Ví dụ: nếu bạn muốn lưu tệp 1, 3 và 5, bạn cần nhập:

1,3,5

Trong trường hợp bạn muốn giữ nguyên phiên bản đầu tiên của tệp trong mọi tập hợp tệp trùng lặp và muốn bỏ qua lời nhắc, bạn có thể thực hiện việc này bằng cách thêm nút chuyển (switch) -N , như được hiển thị trong lệnh sau:

fdupes -d -N path/to/directory

Ví dụ:

fdupes -d -N ~/Documents

Thành công xóa các tệp trùng lặp trong Linux

Sắp xếp các tập tin là một công việc tẻ nhạt. Có khi bạn sẽ mất đến vài giờ cho việc sắp xếp bộ nhớ lộn xộn của mình.

Nhưng nhờ các tiện ích như fdupes, việc xác định và xóa các tệp trùng lặp trở nên dễ dàng và hiệu quả hơn nhiều. Và hướng dẫn ở trên sẽ hỗ trợ bạn thực hiện các thao tác này trên máy Linux của bạn.

Giống như các tệp trùng lặp, các từ trùng lặp và các dòng lặp lại trong tệp cũng có thể gây khó chịu khi xử lý và yêu cầu xóa các công cụ nâng cao. Nếu bạn cũng gặp phải những vấn đề như vậy, bạn có thể sử dụng uniq để xóa các dòng trùng lặp khỏi tệp văn bản.

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/shell-builtin-commands-in-linux/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
FUNiX V2 GenAI Chatbot ×

yêu cầu gọi lại