Liên hệProfile
Danh mục

Mục Lục

    Các lệnh tìm file trong Linux mới tạo hoặc chỉnh sửa trong ngày

    Nguyễn Hưng

    Ngày đăng:

    16/01/2026

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

    16/01/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:

    16/01/2026

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

    16/01/2026

    Mục lục

    Các lệnh tìm file trong Linux sẽ liệt kê các file vừa được tạo hoặc thay đổi từ đầu ngày đến thời điểm hiện tại, thường được ứng dụng cho thao tác kiểm tra hoặc tự động hóa trên Linux. Trong bài viết này, mình sẽ giới thiệu hai phương pháp hiệu quả và phổ biến nhất để lọc danh sách file theo thời gian thực đó là sử dụng tổ hợp lệnh ls và lệnh chuyên dụng find.

    Những điểm chính

    • Sử dụng kết hợp lệnh lsgrep: Nắm được phương pháp nhanh chóng để xem trực quan danh sách các file được tạo hoặc sửa đổi trong ngày ngay trên terminal.
    • Sử dụng lệnh find: Thành thạo phương pháp tìm kiếm mạnh mẽ và chính xác hơn, đặc biệt hữu ích khi cần tích hợp vào các kịch bản tự động hóa.
    • Giải đáp thắc mắc (FAQ): Có được câu trả lời cho các tình huống nâng cao như lọc đồng thời file mới tạo và sửa, bỏ qua các thư mục lớn, và các lỗi thường gặp.

    Cách 1: Sử dụng kết hợp lệnh ls và grep

    Cú pháp câu lệnh

    Kết hợp lệnh ls và grep là cách nhanh chóng giúp bạn tận dụng khả năng liệt kê của ls và khả năng lọc văn bản mạnh mẽ của grep. Cách này phù hợp khi bạn muốn xem danh sách trực quan ngay trên màn hình terminal.

    Để lọc các file có thời gian chỉnh sửa trùng với ngày hiện tại, bạn sử dụng câu lệnh sau:

    ls -al --time-style=+%D | grep "$(date +%D)"
    Lọc các file có thời gian chỉnh sửa trùng với ngày hiện tại
    Lọc các file có thời gian chỉnh sửa trùng với ngày hiện tại

    Giải thích chi tiết các tham số:

    • -a (All): Yêu cầu hệ thống hiển thị tất cả các file, bao gồm cả các file ẩn thường bắt đầu bằng dấu chấm.
    • -l (Long format): Hiển thị kết quả dưới dạng danh sách chi tiết bao gồm quyền hạn, chủ sở hữu, kích thước, thời gian.
    • --time-style=+%D: Yêu cầu ls hiển thị thời gian theo định dạng ngày tháng nhất định (mm/dd/yy) để đồng bộ hóa dữ liệu cho bộ lọc.
    • grep "$(date +%D)": Lệnh grep sẽ nhận đầu vào từ ls và chỉ giữ lại những dòng có chuỗi ngày tháng trùng khớp với ngày hiện tại của hệ thống.

    Các ví dụ nâng cao

    Bạn có thể kết hợp thêm các tùy chọn sắp xếp để quản lý kết quả đơn giản hơn:

    1. Sắp xếp kết quả theo phần mở rộng

    Bạn sử dụng tham số -X để nhóm các file cùng loại lại với nhau.

    ls -alX --time-style=+%D | grep "$(date +%D)"
    Sắp xếp kết quả theo phần mở rộng
    Sắp xếp kết quả theo phần mở rộng

    2. Sắp xếp kết quả theo kích thước

    Bạn sử dụng tham số -S để hiển thị file từ kích thước lớn nhất đến nhỏ nhất:

    ls -alS --time-style=+%D | grep "$(date +%D)"
    Sắp xếp kết quả theo kích thước
    Sắp xếp kết quả theo kích thước

    Cách 2: Sử dụng lệnh find

    Lệnh find là công cụ tìm kiếm mạnh mẽ và linh hoạt nhất trên Linux. Phương pháp này có độ chính xác cao hơn và thường được sử dụng trong các kịch bản tự động hóa.

    Cú pháp thực hiện

    Để tìm các file được tạo hoặc chỉnh sửa từ đầu ngày hôm nay (00:00:00) đến thời điểm hiện tại, bạn sử dụng lệnh dưới đây:

    find . -maxdepth 1 -newermt "$(date +%Y-%m-%d)"
    Kết quả hiển thị sau khi thực hiện lệnh find
    Kết quả hiển thị sau khi thực hiện lệnh find

    Giải thích chi tiết các tham số:

    • . (Dot): Đại diện cho thư mục hiện tại mà bạn đang đứng.
    • -maxdepth 1: Giới hạn phạm vi tìm kiếm chỉ trong thư mục hiện tại, không quét sâu vào các thư mục con.
    • -newermt: Tùy chọn này sẽ yêu cầu tìm các file có thời gian chỉnh sửa mới hơn mốc thời gian được chỉ định.
    • "$(date +%Y-%m-%d)": Lệnh này tự động lấy ngày hiện tại của hệ thống theo định dạng chuẩn quốc tế (Năm-Tháng-Ngày).

    Lưu ý quan trọng về định dạng ngày

    Lệnh find yêu cầu định dạng ngày tháng đầu vào phải tuyệt đối chính xác để tránh lỗi cú pháp.

    • Trường hợp sai: Sử dụng định dạng không chuẩn như “Ngày-Tháng-Năm”.
    find . -maxdepth 1 -newermt "27-06-2026" 
    # Kết quả: Hệ thống báo lỗi do không hiểu định dạng ngày.
    Sai định dạng dẫn đến lỗi
    Sai định dạng dẫn đến lỗi
    • Trường hợp đúng: Luôn tuân thủ định dạng YYYY-MM-DD hoặc MM/DD/YYYY.
    find . -maxdepth 1 -newermt "2025-06-26"
    Định dạng đúng
    Định dạng đúng

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

    Làm sao lọc cùng lúc file vừa tạo và vừa sửa trong ngày bằng một lệnh?

    Bạn có thể dùng lệnh find kết hợp tùy chọn -o để áp dụng đồng thời hai điều kiện với cú pháp lệnh như sau:
    find . maxdepth 1 \( -newermt "$(date +%Y%m-%d)" o -newerct "$(date +%Y%m-%d)" \)
    Lệnh trên sẽ tìm trong thư mục hiện tại (-maxdepth 1) những file nào có thời gian sửa đổi nội dung (-newermt) hoặc thời điểm tạo/thay đổi trạng thái (-newerct) kể từ 00:00 ngày hôm nay.

    Bỏ qua thư mục lớn khi dùng find quét file mới trong nhiều thư mục thế nào?

    Bạn có thể dùng cặp tùy chọn -prune kết hợp với -o để loại trừ các thư mục không mong muốn khỏi danh sách quét của find. Ví dụ:
    find . -path "./thu-muc-ngoai-le" -prune -o -newermt "$(date +%Y-%m-%d)" -print
    Lệnh trên sẽ bỏ qua toàn bộ thư mục “thu-muc-ngoai-le” và chỉ liệt kê các file thỏa điều kiện trong các thư mục còn lại.

    Các lỗi thường gặp khi lọc file bằng tổ hợp ls và grep theo ngày là gì?

    – Định dạng date không khớp giữa lsdate.
    – Phiên bản ls không có --time-style.
    – Quá nhiều file khiến grep thiếu sót.
    – Dùng sai định dạng ngày.

    Với các lệnh tìm file trong Linux theo thời gian tạo hoặc chỉnh sửa gần đây, bạn có thể nhanh chóng xác định những tệp cần xử lý mà không mất nhiều công sức. Việc nắm vững các lệnh này giúp tiết kiệm thời gian khi quản trị hệ thống hoặc làm việc với dữ liệu lớn. Khi kết hợp linh hoạt cùng các tham số tìm kiếm, hiệu quả làm việc trên Linux sẽ được nâng cao rõ rệt. Đây là kỹ năng thiết thực mà bất kỳ người dùng Linux nào cũng nên trang bị.

    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

    Hướng dẫn sử dụng lệnh groupdel trên Linux để xoá nhóm người dùng
    Hướng dẫn sử dụng lệnh groupdel trên Linux để xoá nhóm người dùng

    Lệnh groupdel trong Linux là công cụ dòng lệnh dùng để xóa nhóm người dùng khỏi hệ thống. Việc sử dụng groupdel đúng cách giúp hệ thống gọn gàng hơn, hạn chế rủi ro phân quyền sai và tăng tính bảo mật trong quá trình quản trị. Trong bài viết này, mình sẽ cùng bạn…

    09/02/2026

    Hướng dẫn sử dụng lệnh groupadd Linux để thêm nhóm người dùng
    Hướng dẫn sử dụng lệnh groupadd Linux để thêm nhóm người dùng

    Lệnh groupadd Linux là tiện ích dòng lệnh dùng để tạo nhóm người dùng mới trên hệ thống, phục vụ cho việc phân quyền và quản lý user theo nhóm. Việc sử dụng group giúp quản trị viên kiểm soát quyền truy cập hiệu quả hơn, giảm rủi ro sai sót và đơn giản hóa…

    09/02/2026

    Hướng dẫn sử dụng lệnh usermod trên Linux để chỉnh sửa tài khoản người dùng
    Hướng dẫn sử dụng lệnh usermod trên Linux để chỉnh sửa tài khoản người dùng

    Lệnh usermod trong Linux là công cụ dùng để chỉnh sửa thông tin các tài khoản người dùng đã tồn tại, hỗ trợ quản trị viên cập nhật nhóm, UID, thư mục home, shell và trạng thái tài khoản một cách linh hoạt. Trong bài viết này, mình sẽ cùng bạn tìm hiểu chi tiết…

    09/02/2026

    Sử dụng lệnh userdel Linux để xóa tài khoản người dùng an toàn
    Sử dụng lệnh userdel Linux để xóa tài khoản người dùng an toàn

    Lệnh userdel Linux là công cụ dòng lệnh dùng để xóa tài khoản người dùng khỏi hệ thống và các nhóm liên quan. Công cụ này giúp loại bỏ user không còn sử dụng, góp phần đảm bảo tính gọn gàng và bảo mật cho hệ thống. Trong bài viết này, mình sẽ cùng bạn…

    09/02/2026

    linux

    lenh

    text