Computer >> Máy Tính >  >> Hệ thống >> Linux

Cách tìm tệp trong Linux bằng lệnh Find

Cách tìm tệp trong Linux bằng lệnh Find

find của Linux command là một trong những lệnh quan trọng và tiện dụng nhất trong hệ thống Linux. Như tên cho thấy, nó có thể tìm các tệp trên PC Linux của bạn dựa trên khá nhiều điều kiện và biến số bạn đặt. Bạn có thể tìm tệp theo quyền, người dùng, nhóm, loại tệp, ngày, kích thước và các tiêu chí có thể có khác bằng cách sử dụng find yêu cầu. Sau đây, chúng tôi hướng dẫn bạn cách tìm tệp trong Linux bằng find lệnh.

find Lệnh có sẵn trên hầu hết các bản phân phối Linux theo mặc định, vì vậy bạn không phải cài đặt gói cho nó.

Tìm tệp theo tên trong thư mục hiện tại

Cách rõ ràng nhất để tìm kiếm tệp là theo tên. Để tìm một tệp theo tên trong thư mục hiện tại, hãy chạy:

find . -name photo.png
Cách tìm tệp trong Linux bằng lệnh Find

Nếu bạn muốn tìm một tệp theo tên có cả chữ hoa và chữ nhỏ, hãy chạy:

find . -iname photo.png
Cách tìm tệp trong Linux bằng lệnh Find

Nếu bạn muốn tìm một tệp trong thư mục gốc, hãy đặt tiền tố tìm kiếm của bạn bằng sudo , điều này sẽ cung cấp cho bạn tất cả các quyền cần thiết để làm như vậy và cả / biểu tượng, thông báo cho Linux tìm kiếm trong thư mục gốc. Cuối cùng, -print biểu thức hiển thị các thư mục của kết quả tìm kiếm của bạn. Nếu bạn đang tìm kiếm Gzip, bạn nhập:

sudo find / -name gzip -print
Cách tìm tệp trong Linux bằng lệnh Find

Tìm tệp trong thư mục cụ thể

Nếu bạn muốn tìm tệp trong một thư mục cụ thể như “/ home”, hãy chạy:

find /home -name filename.txt
Cách tìm tệp trong Linux bằng lệnh Find

Nếu bạn muốn tìm các tệp có phần mở rộng “.txt” trong thư mục “/ home”, hãy chạy:

find /home -name "*.txt"
Cách tìm tệp trong Linux bằng lệnh Find

Để tìm các tệp có tên là “test.txt” trong nhiều thư mục như “/ home” và “/ opt”, hãy chạy:

find /home /opt -name test.txt

Để tìm các tệp ẩn trong thư mục “/ home”, hãy chạy:

find /home -name ".*"

Để tìm một tệp duy nhất có tên “test.txt” và xóa nó, hãy chạy:

find /home -type f -name test.txt -exec rm -f {}

Để tìm tất cả các tệp trống trong thư mục “/ opt”, hãy chạy:

find /opt -type f -empty

Tìm thư mục bằng tên

Nếu bạn muốn tìm tất cả các thư mục có tên là “testdir” trong thư mục “/ home”, hãy chạy:

find /home -type d -name testdir

Để lưu trữ tất cả các thư mục trống trong “/ home”, hãy chạy:

find /home -type d -empty

Tìm tệp với các quyền nhất định

find lệnh có thể được sử dụng để tìm các tệp có quyền cụ thể bằng cách sử dụng perm tùy chọn.

Để tìm tất cả các tệp có quyền là “777” trong thư mục “/ home”, hãy chạy:

find /home -type f -perm 0777 -print

Để tìm tất cả các tệp mà không có quyền “777”, hãy chạy:

find . -type f ! -perm 777

Để tìm tất cả các tệp chỉ đọc, hãy chạy:

find /home -perm /u=r

Để tìm tất cả các tệp thực thi, hãy chạy:

find /home -perm /a=x

Để tìm tất cả các tệp tập hợp bit cố định có quyền là “553”, hãy chạy:

find /home -perm 1553

Để tìm tất cả các tệp bộ SUID, hãy chạy:

find /home -perm /u=s

Để tìm tất cả các tệp có quyền là “777” và thay đổi quyền của chúng thành “700”, hãy chạy:

find /home -type f -perm 0777 -print -exec chmod 700 {} ;

Tìm tệp và thư mục dựa trên ngày và giờ

Để tìm tất cả các tệp trong “/ opt” đã được sửa đổi 20 ngày trước đó, hãy chạy:

find /opt -mtime 20

Để tìm tất cả các tệp trong “/ opt” đã được truy cập hai mươi ngày trước đó, hãy chạy:

find /opt -atime 20

Để tìm tất cả các tệp trong “/ opt” đã được sửa đổi trước đó hơn 30 ngày và ít hơn 50 ngày sau:

find /opt -mtime +30 -mtime -50

Để tìm tất cả các tệp trong “/ opt” đã được thay đổi trong hai giờ qua, hãy chạy:

find /opt -cmin -120

Tìm tệp và thư mục dựa trên kích thước

Để tìm tất cả các tệp 10MB trong thư mục “/ home”, hãy chạy:

find /home -size 10M

Để tìm tất cả các tệp trong thư mục “/ home” lớn hơn 10MB và nhỏ hơn 50MB, hãy chạy:

find /home -size +10M -size -50M

Để tìm tất cả các tệp “.mp4” trong thư mục “/ home” có hơn 10MB và xóa chúng bằng một lệnh duy nhất, hãy chạy:

find /home -type f -name *.mp4 -size +10M -exec rm {} ;

Như bạn thấy, find lệnh cực kỳ hữu ích để quản trị một hệ thống, xem qua các thư mục để tìm tệp và nói chung là cắt bớt cây thư mục ảo trong Linux. Nếu bạn thích bài viết này về Linux, hãy đảm bảo rằng bạn xem một số nội dung Linux khác của chúng tôi, chẳng hạn như cách sử dụng lệnh scp để chuyển tệp một cách an toàn, cách sử dụng nnn làm trình quản lý tệp trong thiết bị đầu cuối và cách sửa các gói bị hỏng.