“Find” là một trong những lệnh quan trọng nhất và được sử dụng thường xuyên trong các hệ điều hành giống như Unix. Lệnh Find được sử dụng để tìm kiếm và định vị danh sách các tệp và thư mục dựa trên các điều kiện bạn chỉ định cho các tệp khớp với các đối số cần tìm. Sau đây TEL4VN sẽ chia sẽ 29 Câu lệnh Find trong Linux
Lệnh Find có thể tìm kiếm theo nhiều điều kiện khác nhau như theo quyền, người dùng, nhóm, loại tệp, ngày, kích thước và các điều kiện khác có thể.
Bài viết này sẽ chia sẻ một số câu lệnh quen thuộc thường được sử dụng khi làm việc với hệ điều hành Linux.
Phần 1: Tìm kiếm theo tên file, thư mục #
1. Tìm file có trong thư mục hiện tại #
Câu lệnh tìm file có tên là config.txt bằng lệnh find như sau:
find . -name config.txt ./config.txt
Dấu chấm tương ứng với vị trí đang đứng
2. Tìm file có trong thư mục bất kì #
Câu lệnh tìm file có tên config.txt có trong thư mục /home theo tên như sau:
find /home -name config.txt /home/config.txt
3.Tìm kiếm file theo định dạng tên #
Tìm tất cả các tệp có tên là config.txt và chứa cả chữ hoa và chữ thường trong thư mục /home.
find /home -iname config.txt /home/config.txt /home/data/CONFIG.txt
4. Tìm kiếm thư mục theo tên #
Tìm thư mục có tên tel4vn có trong thư mục /
find / -type d -name tel4vn /home/tel4vn /usr/src/tel4vn ...
5. Tìm file theo định dạng file #
Tìm kiếm tất cả các file có định dạng .php trong thư mục /home
find /home -type f -name "*.php" /home/data/index.php /home/data/login.php /home/data/data.php
Phần 2: Tìm kiếm dựa trên phân quyền #
6. Tìm tất cả các file có quyền 700 #
Để tìm tất cả các file có quyền 700 trong thư mục /var/www/html ta dùng câu lệnh sau:
find /var/www/html -type f -perm 0700 -print /var/www/html/login.php
7. Tìm tất cả các file không có quyền 700 #
Để tìm tất cả các file không có quyền 700 trong thư mục /var/www/html ta dùng câu lệnh sau:
find /var/www/html -type f -perm 0700 -print /var/www/html/index.php
8. Tìm File SGID có quyền 644 #
Tìm tất cả các file SGID có quyền 644
find /home -perm 2644
9. Tìm file SUID #
Tìm tất cả các file SUID có trong thư mục /home
find /home -perm /u=s
10. Tìm file SGID #
Tìm tất cả các file SGID có trong thư mục /home
find /home -perm /g=s
11. Tìm file chỉ có quyền đọc (readonly) #
Tìm tất cả các file chỉ có quyền đọc (readonly) có trong thư mục /home
find /home -perm /u=r
12. Tìm file có quyền thực thi #
Tìm tất cả các file có quyền thực thi có trong thư mục /home
find /home -perm /a=x
13. Tìm file có quyền 777 và đổi quyền thành 644 #
Tìm tất cả các file có quyền 777 và sau đó đổi thành 644 có trong thư mục /home
find /home -type f -perm 0777 -print -exec chmod 644 {} \;
14. Tìm và xóa một file #
Tìm và xóa một file có tên tel4vn.txt có trong thư mục /home
find /home -type f -name "tel4vn.txt" -exec rm -f {} \;
15. Tìm và xóa nhiều file #
Tìm và xóa nhiều file có định dạng .txt trong thư mục /home
find /home -type f -name "*.txt" -exec rm -f {} \;
Những lệnh thế này hơi nguy hiểm cho những bạn mới làm quen với Linux. Nếu bạn gõ sai đường dẫn /home thành đường dẫn khác thì sẽ xóa nhầm file. Hoặc xóa tất cả các file dẫn đến lỗi server. Một lời khuyên cho bạn là nên backup dữ liệu hằng ngày để tránh những sai sót nghiêm trọng.
16. Tìm tất cả những file trống #
Tìm tất cả những file không chứa dữ liệu có trong thư mục /home
find /home -type f -empty
17. Tìm tất cả những thư mục trống #
Tìm tất cả những thu mục trống có trong server của bạn bằng lệnh sau:
find / -type d -empty
18. Tìm tất cả những file ẩn #
Tìm tất cả những file ẩn có trong thư mục /home. File ẩn thường là những file có tên bằng đầu bằng dấu chấm “.”
find /home -type f -name ".*"
Phần 3: Tìm kiếm theo Owners và Groups #
19. Tìm file với user #
Tìm file có tên là “tel4vn.txt” thuộc sở hữu của user root trong thư mục /home
find / -user root -name tel4vn.txt
20. Tìm nhiều file với user #
Tìm tất cả file thuộc sở hữu của user root trong thư mục /home
find /home -user root
21. Tìm nhiều file với group #
Tìm tất cả các file thuộc sở hữu của group dev nằm trong thư mục /home
find /home -group dev
22. Tìm file theo định dạng, user, thư mục #
Tìm file có định dạng là .txt có thuộc user root trong thư mục /home
find /home -user root -iname "*.txt"
Phần 4: Tìm kiếm file và thư mục theo thời gian #
23. Tìm file được chỉnh sửa thời gian gần nhất #
Tìm tất cả các file được chỉnh sửa trong thời gian 7 ngày gần nhất.
find /home -mtime 7
24. Tìm tất cả các file được truy cập theo thời gian #
Tìm tất cả các file được truy cập trong thời gian 7 ngày gần nhất.
find /home -atime 7
25. Tìm tất cả file được chỉnh sửa trong mốc thời gian #
Tìm tất cả các file được chỉnh sửa trong khoảng 1 tháng trước.
find /home -mtime +30 -mtime -60
26. Tìm file được chỉnh sửa theo giờ #
Tìm tất cả các file được chỉnh sửa trong khoảng 2 tiếng trước.
find /home -mmin -60
Phần 5: Tìm file theo dung lượng #
27. Tìm tất cả các file có dung lượng lớn hơn 10M #
Tìm tất cả các file có dung lượng lớn hơn 10M trong thư mục /home
find /home -size +10M
28. Tìm xóa file có dung lượng lớn hơn 50M #
Tìm tất cả các file có dung lượng lớn hơn 50M trong thư mục /home và xóa nó đi
find /home -size +50M -exec rm -rf {} \;
29. Tìm xóa file theo định dạng và dung lượng
Tìm file có định dạng mp3 có dung lượng lớn hơn 10M sau đó xóa
find /home -type f -name *.mp3 -size +10M -exec rm {} \;
Bài viết đã hướng dẫn cho bạn một số câu lệnh find thường dùng. Bạn có thể kết hợp các lệnh tùy vào mục đích của bạn.
Thông tin khóa học: tại đây