Liên hệProfile
Danh mục

Mục Lục

    Lệnh find Linux là gì? Cách sử dụng lệnh find trong Linux nhanh chóng

    Nguyễn Hưng

    Ngày đăng:

    13/03/2026

    Cập nhật lần cuối:

    13/03/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    5/5 - (1 bình chọn)

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    13/03/2026

    Cập nhật lần cuối:

    13/03/2026

    Mục lục

    Lệnh find trong Linux là công cụ dòng lệnh dùng để tìm kiếm file hoặc thư mục trong hệ thống theo nhiều điều kiện khác nhau như tên, loại, quyền, thời gian sửa đổi, dung lượng,… Trong bài viết này, mình sẽ cùng bạn tìm hiểu chi tiết về công dụng và cách sử dụng lệnh find chi tiết, nhanh chóng.

    Những điểm chính

    • Khái niệm: Hiểu rõ khái niệm và chức năng cốt lõi của lệnh find trong việc quét và truy vết file theo thời gian thực.
    • Công dụng chính: Nắm được các lợi ích của find như khả năng truy vấn đa chiều, tự động hóa xử lý và tối ưu hiệu suất quản trị.
    • Cú pháp và tùy chọn: Thành thạo cấu trúc lệnh cơ bản và bảng các tùy chọn quan trọng.
    • 8 ví dụ sử dụng thực tế: Học cách áp dụng find vào các tình huống cụ thể như tìm theo tên, loại file, kích thước, thời gian, dọn dẹp file rác và kiểm tra bảo mật.
    • Sử dụng nâng cao với xargs: Biết cách kết hợp findxargs để xử lý hàng loạt file lớn một cách tối ưu và an toàn.
    • Quản lý kết quả đầu ra: Nắm được kỹ thuật xuất kết quả ra file và lọc bỏ các thông báo lỗi để làm sạch dữ liệu tìm kiếm.
    • Lưu ý khi sử dụng: Nhận biết các rủi ro khi dùng quyền root, tầm quan trọng của việc khoanh vùng tìm kiếm và kiểm tra trước khi thực thi.
    • Câu hỏi thường gặp: Giải đáp các thắc mắc phổ biến liên quan đến lệnh find trong Linux

    Lệnh find Linux là gì? 

    Find Linux là lệnh được sử dụng để tìm kiếm các file hoặc thư mục nằm sâu trong cấu trúc lưu trữ của hệ thống theo thời gian thực. Điểm mạnh của lệnh find nằm ở khả năng tạo ra các bộ lọc tìm kiếm chi tiết, thay vì chỉ tìm theo tên, người dùng có thể định vị chính xác đối tượng cần tìm dựa trên hàng loạt tiêu chí kỹ thuật như:

    • Định danh: Tìm theo tên file.
    • Dung lượng: Lọc file theo kích thước.
    • Mốc thời gian: Tìm dựa trên ngày tạo, ngày sửa đổi nội dung hoặc ngày truy cập gần nhất.
    • Thuộc tính hệ thống: Tìm theo quyền truy cập, người sở hữu hoặc loại file.

    Lệnh find thường được ứng dụng khi người dùng làm việc với các hệ thống máy chủ có cấu trúc thư mục phức tạp và dữ liệu lớn. Lệnh này giúp người dùng nhanh chóng khoanh vùng dữ liệu cần thiết hoặc kết hợp với các lệnh khác để thực hiện các thao tác xử lý hàng loạt ngay sau khi tìm thấy file.

    Find Linux là lệnh được sử dụng để tìm kiếm các file hoặc thư mục nằm sâu trong cấu trúc lưu trữ của hệ thống theo thời gian thực.
    Lệnh Find Linux được sử dụng để tìm kiếm các file hoặc thư mục nằm sâu trong cấu trúc lưu trữ của hệ thống theo thời gian thực.

    Công dụng chính của lệnh find trong Linux

     Dưới đây là những công dụng chính mà công cụ này mang lại:

    • Khả năng truy vấn dữ liệu đa chiều: Thay vì chỉ tìm kiếm theo tên gọi thông thường, find cho phép người dùng thiết lập các bộ lọc chuyên sâu để định vị chính xác file mong muốn. Bạn có thể quét hệ thống dựa trên hàng loạt tiêu chí kỹ thuật như: Định dạng và kích thước file, mốc thời gian chi tiết, quyền sở hữu,…
    • Tự động hóa quy trình xử lý: Sau khi khoanh vùng được các file mục tiêu, lệnh file hỗ trợ thực thi trực tiếp các hành động như: Xóa bỏ file hàng loạt, sao chép hoặc di chuyển dữ liệu, đổi tên hoặc thay đổi quyền hạn của file,…
    • Tối ưu hóa hiệu suất cho mọi đối tượng: Find giúp bạn tiết kiệm đáng kể thời gian thao tác, giảm thiểu sai sót và nâng cao hiệu quả quản trị hệ thống Linux một cách toàn diện.
    Công dụng chính của lệnh Find
    Công dụng chính của lệnh find

    Cú pháp sử dụng và các tùy chọn của lệnh find

    Dưới đây là cú pháp của lệnh find:

    find [ĐƯỜNG_DẪN] [TIÊU_CHÍ] [HÀNH_ĐỘNG]
    • [ĐƯỜNG_DẪN]: Vị trí thư mục bạn muốn bắt đầu tìm kiếm.
    • [TIÊU_CHÍ]: Các tham số để lọc file như -name, -size, -mtime,…
    • [HÀNH_ĐỘNG]: Thao tác cần thực hiện với file tìm được như xóa, di chuyển hoặc in ra màn hình,…

    Để tối ưu hóa quá trình tìm kiếm, lệnh find cung cấp bộ lọc đa dạng giúp bạn khoanh vùng dữ liệu chính xác. Dưới đây là các tùy chọn quan trọng nhất mà bạn cần nắm vững:

    Tùy chọnChức năngVí dụ minh họa
    -name PATTERNTìm kiếm dựa trên tên file, có phân biệt hoa thường.find /etc -name "*.conf"
    -type TYPELọc theo loại đối tượng, giúp hệ thống xác định bạn đang muốn tìm file hay thư mục.find . -type d -name "logs"
    -size NTìm kiếm dựa trên kích thước file, bạn có thể dùng dấu + (lớn hơn) hoặc – (nhỏ hơn).find /var/log -size +10M
    -mtime NLọc theo thời gian sửa đổi nội dung.find . -mtime -7
    -perm MODELọc theo quyền truy cập.find /tmp -perm 644
    -exec CMD {} ;Thực thi một lệnh khác trên mỗi file tìm được.find . -name "*.tmp" -exec rm {} \;
    -printHiển thị đường dẫn đầy đủ của file ra màn hình.find /home -type f -print

    1. Tìm file theo tên cụ thể

    Lệnh sau sẽ giúp xác định vị trí file cấu hình khi bạn chỉ nhớ tên file là nginx.conf bằng cách đệ quy qua /etc để tìm file nginx.conf:

    find /etc -name "nginx.conf"
    Tìm file theo tên cụ thể
    Tìm file theo tên cụ thể

    2. Tìm kiếm thư mục

    Bạn có thể kết hợp tham số -type d để lọc ra các thư mục và loại bỏ các file nhiễu:

    find /var -type d -name "logs"
    Dùng tùy chọn -type d để tìm thư mục theo tên
    Dùng tùy chọn -type d để tìm thư mục theo tên

    3. Quản lý dung lượng đĩa

    Để tìm tất cả các file có kích thước lớn hơn 100MB khi dọn dẹp ổ cứng, bạn thực hiện câu lệnh như sau:

    find -type f -size +100M
    Tìm file có kích thước lớn hơn 100MB khi dọn ổ cứng
    Tìm file có kích thước lớn hơn 100MB khi dọn ổ cứng

    4. Giám sát thay đổi hệ thống

    Lệnh dưới đây sẽ giúp bạn tìm các file đã bị sửa đổi nội dung trong vòng 7 ngày qua (-7):

    find /home/user -type f -mtime -7
    Tìm các file đã bị sửa đổi nội dung trong vòng 7 ngày
    Tìm các file đã bị sửa đổi nội dung trong vòng 7 ngày

    5. Tự động dọn dẹp file rác

    Để tìm và xóa các file tạm (.tmp), bạn thực hiện lệnh sau:

    find /tmp -type f -name "*.tmp" -exec rm -v {} \;

    Trong đó:

    • -exec COMMAND {} \;: Cho phép chạy một lệnh bất kỳ trên từng file mà find tìm thấy.
    • {}: Là placeholder đại diện cho đường dẫn của từng file khớp điều kiện, mỗi lần lệnh find tìm được một file sẽ thay {} bằng đường dẫn thật của file đó trong lệnh rm -v.
    • \;: Dấu chấm phẩy dùng để kết thúc phần lệnh -exec và phải escape thành \; để shell không tự xử lý trước khi truyền cho find.
    Tự động dọn dẹp file rác
    Tự động dọn dẹp file rác

    6. Kiểm tra bảo mật

    Để tìm các file có quyền hạn cụ thể (ví dụ 644) nhằm đảm bảo tuân thủ chính sách bảo mật, bạn thực hiện lệnh sau:

    find /var/www -type f -perm 644

    Kết quả sẽ hiển thị như sau:

    Tìm các file có quyền 644
    Tìm các file có quyền 644

    Lệnh trên hỗ trợ lọc file theo permission để xem có file nào đang để quyền không đúng chuẩn policy, đồng thời quản lý security hoặc audit file để kiểm tra nhanh quyền file web nhằm tránh lộ mã nguồn, config quan trọng cho group/others.

    7. Phân tích log nâng cao

    Bạn có thể kết hợp với grep để tìm nội dung lỗi bên trong các file log tìm được với cú pháp lệnh như sau:

    find /var/log -type f -name "*.log" | xargs grep "ERROR"

    Kết quả sẽ hiển thị tất cả log và lọc dòng có “ERROR”:

    Kết hợp grep để lọc chi tiết
    Kết hợp grep để lọc chi tiết

    8. Di chuyển dữ liệu

    Bạn thực thi lệnh sau để tìm file ảnh và tự động sao chép sang thư mục backup:

    find /home/user -type f -name "*.jpg" -exec cp {} /backup/photos/ \;
    Dùng find để di chuyển/copy file theo pattern
    Dùng find để di chuyển/copy file theo pattern

    Cách sử dụng lệnh find nâng cao với xargs

    Khi xử lý số lượng file lớn lên tới hàng triệu file, việc sử dụng -exec có thể gây chậm hệ thống vì lệnh này phải khởi tạo một tiến trình mới cho mỗi file. Lúc này, bạn có thể kết hợp findxargs với cú pháp lệnh như sau để tối ưu hiệu năng và đảm bảo an toàn cho dữ liệu:

    find . -type f -name "*.tmp" -print0 | xargs -0 rm -v
    Sử dụng lệnh find với xargs để tối ưu hiệu năng
    Sử dụng lệnh find với xargs để tối ưu hiệu năng

    Ưu điểm của giải pháp trên như sau:

    • Hiệu năng tối ưu: xargs sẽ gom nhiều tên file lại và gửi cho lệnh rm xử lý trong một lần, điều này giúp giảm tải CPU đáng kể.
    • An toàn cho dữ liệu: Tham số -print0-0 giúp bạn xử lý chính xác các file có chứa khoảng trắng hoặc ký tự đặc biệt trong tên, tránh lỗi xóa nhầm file.

    Cách quản lý kết quả đầu ra hiệu quả

    Dưới đây là cách lưu trữ và làm sạch dữ liệu tìm kiếm:

    1. Xuất kết quả ra file

    Bạn nên lưu danh sách tìm được vào một file văn bản để dễ dàng rà soát, báo cáo hoặc xử lý sau này.

    Ví dụ thực tế: Bạn muốn liệt kê tất cả các file Excel (.xlsx) đã tải về thư mục Downloads để xem xét dọn dẹp và lưu danh sách này vào file danh_sach.txt. Để thực hiện, bạn sử dụng ký tự điều hướng > như sau:

    find /home/myname/Downloads -name "*.xlsx" -type f > danh_sach.txt

    Màn hình sẽ không hiển thị thông tin, nhưng toàn bộ đường dẫn file tìm được đã nằm gọn trong danh_sach.txt.

    2. Kỹ thuật lọc bỏ thông báo lỗi

    Khi lệnh find quét qua các thư mục mà người dùng hiện tại không có quyền truy cập, màn hình sẽ xuất hiện hàng loạt thông báo lỗi dạng “Permission denied”. Để khắc phục, bạn thực thi cú pháp lệnh sau:

    find /home/myname -name "*.conf" -type f 2>/dev/null > ket_qua_tim_kiem.txt

    Giải thích cơ chế:

    • 2>/dev/null: Bắt tất cả các lỗi và loại bỏ.
    • > ket_qua_tim_kiem.txt: Chỉ lưu lại những kết quả tìm kiếm thành công vào file.

    Những lưu ý khi sử dụng lệnh find

    Dưới đây là những lưu ý quan trọng để bạn tối ưu hiệu năng khi sử dụng lệnh find cũng như đảm bảo an toàn, tránh mất dữ liệu:

    • Hạn chế lạm dụng quyền Root: Bạn nên hạn chế chạy lệnh find dưới quyền root hoặc sudo vì điều này sẽ cấp cho lệnh find khả năng truy cập và tác động toàn diện lên hệ điều hành, do đó một sai sót nhỏ trong cú pháp cũng có thể dẫn đến việc mất dữ liệu vĩnh viễn hoặc hỏng hệ điều hành. 
    • Khoanh vùng phạm vi tìm kiếm: Bạn nên hạn chế việc tìm kiếm trên toàn bộ hệ thống vì hành động này sẽ buộc hệ thống phải quét qua hàng triệu file, gây tiêu tốn lượng lớn tài nguyên CPU và I/O ổ cứng. Do đó bạn hãy chỉ định thư mục cụ thể nhất có thể.
    • Kiểm tra trước khi thực thi lệnh: Trước khi sử dụng tùy chọn -exec để thực hiện các hành động như xóa (rm) hay di chuyển (mv), bạn hãy luôn chạy lệnh find ở chế độ hiển thị thông thường trước. Điều này giúp bạn xác nhận danh sách file tìm được là chính xác, tránh trường hợp xóa nhầm gây mất dữ liệu quan trọng.
    Những lưu ý khi sử dụng lệnh Find
    Những lưu ý khi sử dụng lệnh Find

    Câu hỏi thường gặp

    Làm thế nào để tìm kiếm file mà không phân biệt chữ hoa/thường?

    Mặc định, lệnh find phân biệt chữ hoa và thường. Để bỏ qua sự phân biệt này, bạn hãy thay tham số -name bằng -iname.
    Ví dụ:
    find . -iname “logo.png”
    Khi đó, bạn sẽ tìm thấy cả Logo.PNG, logo.png, LOGO.png.

    Tại sao lệnh find chạy rất chậm trên các ổ đĩa lớn?

    Lệnh find hoạt động theo cơ chế Real-time, duyệt qua từng thư mục trên ổ cứng ngay lúc bạn gõ lệnh để đảm bảo kết quả chính xác nhất. Do đó với ổ đĩa lớn, thao tác này sẽ tiêu tốn nhiều I/O.
    Giải pháp thay thế: Nếu bạn chỉ cần tìm tên file và chấp nhận dữ liệu có thể không mới nhất, hãy dùng lệnh locate filename. Lệnh này tìm trong cơ sở dữ liệu index nên tốc độ nhanh, gần như tức thì.

    Làm sao để ẩn hàng loạt thông báo lỗi “Permission denied” khi tìm kiếm?

    Khi bạn chạy find từ thư mục gốc với tài khoản thường, hệ thống có thể sẽ báo lỗi khi cố truy cập vào các thư mục hệ thống. Để lọc bỏ các thông báo rác này, hãy chuyển hướng luồng lỗi vào /dev/null. Cú pháp thực thi lệnh như sau:
    find / -name “config.php” 2>/dev/null

    Lệnh find Linux là công cụ hữu ích trong việc tìm kiếm cơ bản đến các tác vụ quản trị phức tạp. Do đó, việc nắm vững các tùy chọn và kỹ thuật xử lý đầu ra sẽ giúp bạn làm chủ hệ thống một cách hiệu quả và an toàn hơn. Chúc bạn thao tác thành công và hẹn gặp lại bạn trong các bài viết tiếp theo.

    5/5 - (1 bình chọn)
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Cách dùng lệnh less Linux để xem nội dung file nhanh chóng và đơn giản
    Cách dùng lệnh less Linux để xem nội dung file nhanh chóng và đơn giản

    Less Linux là một trình phân trang chạy trên dòng lệnh, cho phép xem nội dung file văn bản theo kiểu cuộn trang một cách tương tác mà không cần nạp toàn bộ file vào bộ nhớ. Trong bài viết dưới đây, mình sẽ cùng bạn tìm hiểu về những lợi ích khi dùng lệnh…

    13/03/2026

    Cách sử dụng lệnh sed Linux để biên tập dòng lệnh nhanh chóng
    Cách sử dụng lệnh sed Linux để biên tập dòng lệnh nhanh chóng

    sed Linux là một trình biên tập dòng dùng để xử lý và chỉnh sửa văn bản theo cách tự động, không tương tác trực tiếp như khi mở file bằng vim/nano. Trong bài viết dưới đây, mình sẽ cùng bạn tìm hiểu các tính năng quan trọng và hướng dẫn bạn sử dụng lệnh…

    13/03/2026

    Cách dùng lệnh realpath để xác định đường dẫn tuyệt đối chính xác trong Linux
    Cách dùng lệnh realpath để xác định đường dẫn tuyệt đối chính xác trong Linux

    Realpath Linux là lệnh dùng để chuyển đường dẫn tương đối hoặc có symlink thành đường dẫn tuyệt đối, đã được chuẩn hóa đầy đủ. Trong bài viết dưới đây, mình sẽ cùng bạn tìm hiểu về chức năng, các tùy chọn phổ biến cũng như hướng dẫn bạn cách sử dụng lệnh realpath chi…

    13/03/2026

    Lệnh ln Linux là gì? Cách dùng lệnh ln chi tiết, đơn giản trong Linux
    Lệnh ln Linux là gì? Cách dùng lệnh ln chi tiết, đơn giản trong Linux

    Ln Linux là lệnh dùng để tạo liên kết giữa các file hoặc thư mục, giúp nhiều tên file cùng trỏ tới một dữ liệu mà không cần sao chép nội dung. Trong bài viết này, mình sẽ hướng dẫn bạn cách dùng lệnh ln để tạo Hard Link và Symbolic Link đơn giản, nhanh…

    13/03/2026

    linux

    lenh

    text