Bài viết này mình chia sẻ về lệnh find – một lệnh tìm kiếm khá hay và thường được sử dụng trên Linux.
1. Tìm kiếm file theo tên file đầy đủ
# find . abc.txt
Kết quả:
./abc.txt
Lệnh trên sẽ tìm file có tên là abc.txt ( dấu . đại diện cho thư mục hiện hành).
2. Tìm kiếm file theo tên không đầy đủ.
# find / -name abc*
Kết quả:
/home/abc1.php /var/abcabc.rar
Lệnh trên sẽ tìm trên toàn bộ hệ thống file có tên bắt đầu bằng “abc”
3. Tìm kiếm file với phần mở rộng.
# find /home -name *.php
Kết quả:
/home/abc.php /home/admin/login.php
Lệnh trên sẽ tìm trong thư mục /home những file có tên bất kỳ, miễn nó có phần mở rộng là .php
4. Tìm kiếm file ẩn
# find / -type f -name ".*"
5. Tìm kiếm file có owner là abc
# find /home -user abc
Lệnh trên sẽ tìm kiếm tất cả những file trong thư mục home có owner là abc
6. Tìm kiếm file có group là abc
# find /home -group abc
Lệnh trên sẽ tìm kiếm tất cả những file trong thư mục home có group là abc
7. Tìm kiếm file được phân quyền 777
# find . -type f -perm 777
8. Tìm file chỉ có quyền read
# find / -perm /u=r
9. Tìm kiếm file rỗng
# find /tmp -type f -empty
10. Tìm kiếm file được chỉnh sửa trong vòng 50 ngày
# find / -mtime 50
11. Tìm kiếm file được chỉnh sửa trong vòng 50 – 100 ngày
# find / -mtime +50 –mtime -100
12. Tìm kiếm file vừa được tạo ra trong vòng 1 giờ
# find / -cmin -60
13. Tìm kiếm file có dung lượng 50M
# find / -size 50M
14. Tìm kiếm file có dung lượng lớn hơn 50M nhỏ hơn 100M
# find / -size +50M -size -100M
15. Tìm thư mục có tên abc
# find / -type d -name abc
16. Tìm kiếm trên nhiều thư mục
# find /opt /usr /var -name abc.txt -type f
Lệnh trên sẽ tìm kiếm trên các thư mục /opt /usr /var tập tin abc.txt
Tìm kiếm nâng cao, kết hợp với lệnh khác (rm, exec, cp, grep,..)
17. Tìm và xoá file có dung lượng trên 100M
# find / -size +100M -exec rm -rf {} \;
18. Tìm và chmod 644 file có phần mở rộng là .html
# find /usr/local -name “*.html” -type f -exec chmod 644 {} \;
19. Tìm file có phần mở rộng là .mp3 và copy file đó đến thư mục /tmp/MusicFiles
# find . -type f -name "*.mp3" -exec cp {} /tmp/MusicFiles \;
20. Tìm file có chứa nội dụng abc
# find /home -type f -exec grep -l 'abc' {} \;
21. Tìm file theo tên hoặc phần mở rộng hoặc kích thước (-o = OR)
# find / \( -name '*.txt' -o -name 'doc*' -o -size +5M \)
Lệnh trên sẽ tìm những file có phần mở rộng là .txt hoặc những file có tên bắt đầu bằng doc hoặc những file có kích thước lớn hơn 5M.
Lời kết
Trên đây là tổng hợp các ví dụ về lệnh find để phục vụ cho việc vận hành trên hệ thống Linux. Chúc các bạn thành công!
Cảm ơn bạn đã trả lời.