Cách sử dụng lệnh find trong Linux để tìm kiếm tệp?

How Use Find Command Linux Search Files



Nếu bạn là người dùng Linux, thì bạn không thể chỉ dựa vào GUI để thực hiện các tác vụ khác nhau, do đó, việc nắm chắc các lệnh đầu cuối là thực sự cần thiết. Tất cả các bản phân phối dựa trên Linux đều chạy các lệnh để thực hiện các tác vụ quản trị khác nhau.

Mặc dù thiết bị đầu cuối Linux là một giao diện văn bản có vẻ phức tạp, nhưng nó thực sự rất linh hoạt, dễ sử dụng và là một công cụ khá hữu ích. Các lệnh có thể dễ dàng được sao chép từ các nguồn trực tuyến và dán vào thiết bị đầu cuối để thực hiện các hoạt động khác nhau. Có rất nhiều lệnh nhưng bài đăng này sẽ tập trung vào lệnh find.







Lệnh find được sử dụng để tìm, lọc hoặc tìm kiếm các tệp và thư mục trong hệ thống của bạn theo các điều kiện do người dùng chỉ định và thực hiện một số thao tác trên chúng.



Hãy thảo luận chi tiết về cách sử dụng lệnh find, cú pháp của nó và các thao tác khác nhau được thực hiện bởi lệnh này.



Cú pháp tìm Command trong Linux

Cú pháp lệnh find được hiển thị bên dưới:





tìm thấy [con đường] [tùy chọn] [biểu hiện]

Ba thuộc tính đi kèm với lệnh find:

  • [path]: Nó xác định thư mục bắt đầu tìm kiếm.
  • [tùy chọn]: Nó xác định các tiêu chí lọc, ví dụ: tìm kiếm một tệp / thư mục theo tên, quyền, thời gian hoặc ngày của nó.
  • [biểu thức]: Nó xác định những hành động cần thực hiện với tệp.

Tất cả các thuộc tính trên là tùy chọn vì chúng có thể được sử dụng theo yêu cầu.



Để minh họa, tôi đã tạo các thư mục khác nhau và một số tệp văn bản, hãy xem hình ảnh bên dưới:

find / 1% 20copy.png

Tìm tệp theo tên

Để tìm kiếm tệp theo tên, hãy sử dụng lệnh dưới đây:

$tìm thấy.-TênMyTextFile1.txt

find / 2% 20copy.png

Dấu chấm sau khi tìm thấy trong lệnh trên cho biết thư mục hiện tại.

Nếu bạn không nhớ chính xác tên tệp, tìm kiếm có thể được tinh chỉnh thêm và phân biệt chữ hoa chữ thường bằng cách sử dụng -iname thay cho tên:

$tìm thấy.-inamemytextfile1.txt

find / 3% 20copy.png

Tìm tệp theo loại

Để tìm một tệp theo loại của nó, hãy sử dụng tùy chọn -type với các chữ cái còn được gọi là bộ mô tả, chẳng hạn như f cho tệp, d cho thư mục, l cho liên kết tượng trưng và s cho ổ cắm.

Để tìm kiếm tất cả các thư mục, hãy sử dụng:

$tìm thấy.-kiểuNS

find / 4% 20copy.png

Để tìm kiếm tệp, hãy sử dụng:

$tìm thấy.-kiểuNS

c% 20copy.png

Tìm tệp bằng phần mở rộng tệp

Để tìm kiếm tệp theo mẫu, ví dụ: phần mở rộng tệp, chẳng hạn như hiển thị tất cả các tệp bằng .txt, hãy sử dụng lệnh sau:

$tìm thấy.-Tên *.txt

find / 5% 20copy.png

Tất cả các tệp có .txt sẽ được hiển thị cùng với các thư mục tương ứng của chúng.

Tìm và xóa tệp

Để tìm kiếm và xóa một tệp, hãy sử dụng lệnh dưới đây:

$tìm thấy.-inamemytextfile1.txt-exec rm {} U0026quot;

find / 6% 20copy.png

Lệnh trên đầu tiên tìm kiếm tệp và sau đó xóa nó. Hình ảnh chứng minh rằng MyTextFile1 đã bị xóa.

Để xóa tất cả các tệp có đuôi .txt, bạn có thể sử dụng lệnh được nối thêm:

$tìm thấy.-Tên *.txt-xóa bỏ

find / 7% 20copy.png

Tìm tệp theo kích thước

Lệnh find cũng có thể tìm kiếm một tệp theo kích thước. Chỉ cần sử dụng tùy chọn -size cùng với các bộ mô tả của nó, chẳng hạn như b cho khối 512 Kb, c cho byte, k cho kilobyte, M và G cho megabyte và gigabyte tương ứng:

$tìm thấy.-kiểuNS-kích thước -1024c

find / 8% 20copy.png

Lệnh được đề cập ở trên tìm kiếm tất cả các tệp có kích thước nhỏ hơn 1024 byte. Tìm kiếm có thể được tinh chỉnh hơn nữa, ví dụ: nếu chúng ta muốn tìm tất cả các tệp có dung lượng nhỏ hơn 1Mb, thì chúng ta sử dụng lệnh dưới đây:

$tìm thấy.-kiểuNS-kích thước1M

ab / a% 20copy.png

Đối với tất cả các tệp lớn hơn 1Mb, hãy sử dụng lệnh bên dưới:

$tìm thấy.-kiểuNS-kích thước+1M

ab / b% 20copy.png

Một phạm vi kích thước cũng có thể được xác định bằng cách sử dụng lệnh thêm vào:

$tìm thấy. -kiểuNS-kích thước+1M-kích thước10 triệu

Tìm tệp theo quyền

Để tìm kiếm một tệp theo quyền, chúng tôi sẽ sử dụng tùy chọn -perm, sau đó là mã quyền, như được minh họa bên dưới:

$tìm thấy.-uốn 664

find / 10% 20copy.png

Tìm văn bản trong tệp văn bản

Để tìm văn bản trong nhiều tệp văn bản trong hệ thống của bạn, hãy sử dụng lệnh dưới đây:

$tìm thấy.-kiểuNS-Tên *.txt-exec nắm chặt'Xin chào'{} U0026quot;

find / 12% 20copy.png

Lệnh đang tìm kiếm từ Hello trong các tệp văn bản. Đầu ra là các chuỗi văn bản từ các tệp văn bản có chứa Hello.

Tìm tệp theo ngày và giờ sửa đổi

Để truy cập tệp bằng lần sửa đổi cuối cùng, hãy sử dụng lệnh bên dưới:

$tìm thấy.-kiểuNS-iname *.txt-mmin+10

find / 13% 20copy.png

Lệnh trên đang tìm kiếm tệp được sửa đổi lần cuối cách đây 4 phút và m biểu thị Sửa đổi.

$tìm thấy. -kiểuNS-iname *.txt-amin -10

find / 14% 20copy.png

Lệnh trên đang tìm kiếm một tệp được truy cập lần cuối 4 phút trước và một trong amin đang biểu thị Access. Để truy cập tệp đã được sửa đổi bốn ngày trước, hãy sử dụng -mtime +4 thay cho mmin +4.

Phần kết luận

Lệnh find trong Linux là một lệnh rất hữu ích cho phép bạn tìm kiếm một tệp hoặc thư mục bằng các tiêu chí khác nhau và thậm chí cho phép bạn sửa đổi các tệp từ thiết bị đầu cuối. Trong hướng dẫn này, chúng tôi đã quan sát cú pháp của lệnh find trong Linux và học cách sử dụng lệnh find để thực hiện các chức năng khác nhau.