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

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

Đôi khi bạn muốn truy cập một tệp cụ thể nhưng không thể tìm thấy tệp đó trên hệ thống của bạn do thiếu tổ chức thư mục. May mắn thay, Linux cung cấp cho bạn một số tiện ích hữu ích cho phép bạn dễ dàng tìm kiếm các tệp trên máy tính của mình.





Lệnh find là một trong những công cụ có thể được sử dụng để tìm kiếm tệp bằng tên tệp, quyền, phần mở rộng, kích thước, v.v. Hướng dẫn này sẽ giải thích lệnh Tìm trong Linux và cung cấp một số ví dụ chứng minh tiện ích này mạnh mẽ như thế nào.





Lệnh Tìm là gì?

Như tên cho thấy, tìm thấy lệnh cho phép người dùng tìm kiếm các tệp có trên bộ nhớ cục bộ của họ. Không giống như các tính năng tìm kiếm thông thường có trong trình quản lý tệp Linux, lệnh find có các chức năng bổ sung có thể lọc tệp theo các điều kiện nhất định.





Ngoài ra, lệnh find cung cấp một số tiêu chí để định vị tệp trên máy tính. Bạn thậm chí có thể sử dụng biểu thức chính quy để khớp tên tệp với một mẫu cụ thể.

Cách tìm tệp trong Linux

Lệnh find có nhiều tùy chọn và chức năng lọc các tệp dựa trên các điều kiện được chỉ định.



Tìm cú pháp lệnh

Cú pháp cơ bản của lệnh find là:

find [path] [options] [expression]

Ví dụ: lệnh sau sẽ tìm kiếm các tệp văn bản trong /Trang Chủ danh mục.





find /home -type f -name '*.txt'

Hãy nhớ rằng trước khi tìm kiếm các tệp trên bộ nhớ của mình, bạn cần có quyền đọc cho thư mục cụ thể đó.

làm thế nào để rời khỏi một cuộc trò chuyện nhóm trên iphone

Tìm kiếm tệp theo tên

Cách sử dụng phổ biến nhất của lệnh find là tìm kiếm một tệp theo tên của nó. Để tìm một tệp bằng tên tệp, hãy sử dụng -Tên gắn cờ bằng lệnh mặc định.





find /home -type f -name filename.txt

Lệnh nói trên sẽ tìm kiếm một tệp có tên filename.txt bên trong /Trang Chủ danh mục. Các -type f tùy chọn cho hệ thống biết rằng chúng tôi đang tìm kiếm Tập tin .

Nếu bạn muốn bỏ qua ký tự trong tên tệp, hãy thay thế -Tên tùy chọn với -iname .

find /home -type f -iname FileName

Lệnh này sẽ định vị tệp có một trong các tên sau: Tên tệp, tên tệp, Tên tệp, Tên FiLename, v.v.

Giống như bất kỳ lệnh Linux nào khác, bạn có thể sử dụng . (dấu chấm) để chỉ định đường dẫn tương đối của thư mục hiện tại.

find . -type f -name filename.txt

Tương tự, //nguồn gốc~/Trang Chủ cũng có thể được sử dụng.

Tìm tệp theo tiện ích mở rộng

Tìm kiếm tệp với một phần mở rộng cụ thể có thể giúp thu hẹp kết quả tìm kiếm của bạn. Để tìm một tệp theo phần mở rộng của nó, hãy sử dụng biểu thức chính quy sau với -Tên-iname lá cờ.

find /home -type f -name '*.pdf'

Lệnh này sẽ hiển thị danh sách tất cả các tệp có .pdf gia hạn. Lưu ý rằng bạn sẽ phải thoát khỏi dấu hoa thị ( * ) ký tự với một trong hai dấu ngoặc kép ( '' ) hoặc một dấu gạch chéo ngược ( ) để thiết bị đầu cuối diễn giải nó như một ký tự đại diện.

Bạn cũng có thể đảo ngược lệnh trên bằng cách sử dụng -không phải lá cờ. Lệnh sau sẽ tìm kiếm các tệp không có .pdf gia hạn.

find /home -type f -not -name '*.pdf'

Bạn thậm chí có thể kết hợp lệnh find với các lệnh Linux khác. Ví dụ: để thay đổi quyền kiểm duyệt cho từng tệp phù hợp với điều kiện:

find /home - type f '*.pdf' -exec chmod -777 {} ;

Lệnh này sẽ tìm kiếm tất cả PDF các tập tin trong /Trang Chủ và thay đổi quyền của chúng để bất kỳ ai cũng có thể đọc, ghi và thực thi các tệp đó.

Tìm kiếm các loại tệp cụ thể

Ngoài tệp, lệnh find cũng có thể tìm kiếm các loại tệp khác. Thư mục, liên kết tượng trưng, ​​ổ cắm và thiết bị ký tự là một số loại tệp được hỗ trợ bởi find.

Cho đến bây giờ, chúng tôi đã sử dụng -type f trong lệnh tìm. Các NS viết tắt của Tập tin . Để tìm kiếm các loại tệp khác trong Linux, hãy thay thế NS với các ký tự dành riêng khác.

  • NS : tệp thông thường
  • NS : thư mục
  • NS : liên kết tượng trưng
  • NS : thiết bị ký tự
  • NS : chặn thiết bị
  • P : đường ống được đặt tên
  • NS : ổ cắm

Để tìm kiếm các thư mục con có trong /Trang Chủ danh mục:

find /home -type d

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

Các -kích thước cờ cho phép bạn tìm kiếm các tệp chiếm một lượng không gian cụ thể trên đĩa. Các hậu tố sau biểu thị các kích thước tệp khác nhau:

  • NS : Khối 512 byte
  • NS : byte
  • trong : từ hai byte
  • đến : Kilobyte
  • NS : Megabyte
  • NS : Gigabyte

Để tìm tất cả các tệp có kích thước tệp là 1GB:

find /home -type f -size 1G

Để tìm kiếm các tệp nhỏ hơn 1GB, hãy thêm dấu trừ ( - ) ký tự trước khi chỉ định kích thước:

find /home -type f -size -1G

Tương tự, sử dụng hơn ( + ) để định vị các tệp lớn hơn 1GB:

find /home -type f -size +1G

Để tìm kiếm các tệp trong một phạm vi kích thước:

find /home -type f -size +1M -size -10M

Tìm tệp bằng dấu thời gian

Bạn có thể đã biết rằng Linux chỉ định dấu thời gian cụ thể cho từng và mọi tệp trên bộ nhớ của bạn. Các dấu thời gian này chứa thời gian sửa đổi, thời gian thay đổi và thời gian truy cập.

Để tìm các tệp có thời gian sửa đổi cụ thể:

find /home -type f -name '*.txt' -mtime 5

Lệnh nói trên sẽ in tất cả các tệp đã được sửa đổi trong năm ngày qua. Tương tự, bạn cũng có thể sử dụng -một thời gian-ctime để lọc các tệp theo thời gian truy cập và thời gian thay đổi.

Bạn cũng có thể sử dụng hơndấu trừ dấu hiệu để tìm tệp lớn hơn hoặc nhỏ hơn một dấu thời gian cụ thể.

find /home -type f -name '*.txt' -mtime +5

Tìm kiếm tệp có quyền cụ thể

Các -uốn cho phép người dùng tìm kiếm các tệp với một tập hợp các quyền cụ thể.

find /home -type f -perm 777

Sử dụng dấu gạch chéo tính cách ( / ) để liệt kê tệp nếu ít nhất một danh mục đã chỉnh sửa tập hợp các quyền được cung cấp.

cách khôi phục về windows 7 từ 10
find /home -type f -perm /777

Tìm tệp của chủ sở hữu

Sử dụng -người sử dụng gắn cờ để lấy các tệp thuộc về một người dùng cụ thể.

find /home -user randomuser

Tìm và xóa tệp

Để xóa tất cả các tệp đã lọc bằng cách sử dụng tìm, hãy thêm -xóa bỏ cờ ở cuối lệnh.

find /home -type f -name '*.pdf' -delete

Lệnh nói trên sẽ xóa tất cả PDF các tệp có trong /Trang Chủ danh mục.

Bạn sẽ không thể xóa các thư mục không trống với tìm. Bạn sẽ phải sử dụng lệnh rm để xóa các thư mục như vậy trên hệ thống Linux của bạn.

Tổ chức tệp trong Linux

Việc tìm kiếm các tệp rất khó khăn nếu bạn có hàng trăm thư mục trên hệ thống của mình mà không có tên phù hợp. Lệnh find rất hữu ích khi bạn muốn lọc ra các tệp trong thư mục theo một tiêu chí cụ thể.

Để tận dụng tối đa dung lượng lưu trữ của bạn trên hệ thống Linux, việc tổ chức và quản lý tệp là điều bắt buộc. Việc nhóm các thư mục và loại bỏ dữ liệu thừa có thể giúp bạn nhanh chóng truy cập các tệp mà bạn muốn.

Đăng lại Đăng lại tiếng riu ríu E-mail 9 Mẹo chính để quản lý và sắp xếp các tập tin máy tính của bạn

Không có cách nào hoàn hảo khi nói đến quản lý tệp máy tính, nhưng những mẹo này sẽ giúp bạn tạo ra trật tự khỏi sự hỗn loạn.

Đọc tiếp
Chủ đề liên quan
  • Linux
  • Quản lý tệp
  • Linux
Giới thiệu về tác giả Deepesh Sharma(Đã xuất bản 79 bài báo)

Deepesh là Junior Editor cho Linux tại MUO. Anh ấy viết các hướng dẫn thông tin về Linux, nhằm mục đích cung cấp trải nghiệm thú vị cho tất cả những người mới đến. Không chắc về phim, nhưng nếu bạn muốn nói về công nghệ, anh ấy là người của bạn. Khi rảnh rỗi, bạn có thể bắt gặp anh ấy đọc sách, nghe các thể loại âm nhạc khác nhau hoặc chơi guitar.

Xem thêm từ Deepesh Sharma

Theo dõi bản tin của chúng tôi

Tham gia bản tin của chúng tôi để biết các mẹo công nghệ, đánh giá, sách điện tử miễn phí và các ưu đãi độc quyền!

Bấm vào đây để đăng ký