Hướng dẫn sử dụng lệnh find trong Linux

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

Lệnh find 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 cần phải cài đặt gói cho nó.

Trong hướng dẫn này, Quantrimang sẽ chỉ cho bạn cách tìm file trên Linux bằng cách sử dụng các kết hợp phổ biến khác nhau của những biểu thức tìm kiếm trong dòng lệnh.

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

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

find . -name photo.png
Tìm file theo tên trong thư mục hiện tại
Tìm file theo tên trong thư mục hiện tại

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

find . -iname photo.png
Tìm file theo tên có cả chữ hoa và chữ nhỏ
Tìm file theo tên có cả chữ hoa và chữ nhỏ

Nếu bạn muốn tìm một file trong thư mục root, hãy đặt tiền tố sudo trước tìm kiếm của bạn. Đ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ũng có biểu tượng “/” cho phép Linux tìm kiếm trong thư mục root. Cuối cùng, biểu thức -print hiển thị các thư mục trong kết quả tìm kiếm. Nếu đang tìm kiếm Gzip, bạn phải nhập:

sudo find / -name gzip -print
Tìm một file trong thư mục root
Tìm một file trong thư mục root

Tìm file trong thư mục cụ thể

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

find /home -name filename.txt

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

find /home -name *.txt

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

find /home /opt -name test.txt

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

find /home -name ".*"

Để tìm một file 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 file 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 file với một số quyền nhất định

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

Để tìm tất cả các file 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 file không có quyền "777", hãy chạy:

find . -type f ! -perm 777

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

find /home -perm /u=r

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

find /home -perm /a=x

Để tìm tất cả các tập hợp file Sticky Bit có quyền là “553”, hãy chạy:

find /home -perm 1553

Để tìm tất cả các tập hợp file SUID, hãy chạy:

find /home -perm /u=s

Để tìm tất cả các file 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 file và thư mục dựa trên ngày và giờ

Để tìm tất cả các file 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 file trong “/opt” được truy cập 20 ngày trước đó, hãy chạy:

find /opt -atime 20

Để tìm tất cả các file trong “/opt” được sửa đổi trong khoảng 30 đến 50 ngày, hãy chạy:

find /opt -mtime +30 -mtime -50

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

find /opt -cmin -120

Tìm file và thư mục dựa trên dung lượng

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

find /home -size 10M

Để tìm tất cả các file 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 file “.mp4” trong thư mục “/home” có dung lượng 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 {} ;
Thứ Ba, 15/12/2020 14:44
3,73 👨 16.345
0 Bình luận
Sắp xếp theo