Lệnh Find trong Linux: 35 ví dụ thực hành dễ hiểu nhất
Trong bài này chúng ta sẽ học cách sử dụng lệnh Find trong Linux thông qua 35 ví dụ thực hành rất dễ hiểu, bạn sẽ dễ dàng nắm bắt lệnh Find này.
Find là một trong những lệnh quan trọng của Linux, nó được sử dụng rất thường xuyên trong các hệ điều hành Unix. Lệnh Find được sử dụng để tìm kiếm các file và thư mục, dựa trên các điều kiện mà bạn chỉ định cho các file thông qua các đối số.
Lệnh find có thể được sử trong nhiều tiêu chí tìm kiếm như: bạn có thể tìm file theo quyền, người dùng, nhóm, loại file, ngày tạo, kích thước và nhiều tiêu chí khác.
I. Lệnh find trong Linux: Tìm theo tên cơ bản
Dưới đây là 21 ví dụ cách sử dụng lệnh Find cơ bản trong Linux.
Bài viết này được đăng tại [free tuts .net]
1. Tìm file nằm trong thư mục hiện tại
Tìm tất cả các file có tên là tecmint.txt trong thư mục hiện tại đang làm việc.
# find . -name tecmint.txt ./tecmint.txt
2. Tìm file nằm trong thư mục home
Tìm tất cả các file nằm trong thư mục / home
với tên tecmint.txt
.
# find /home -name tecmint.txt /home/tecmint.txt
3. Tìm file theo tên và điều kiện kèm theo
Tìm tất cả các file có tên là tecmint.txt và tên gồm cả chữ hoa và chữ thường trong thư mục /home
.
# find /home -iname tecmint.txt ./tecmint.txt ./Tecmint.txt
4. Tìm thư mục sử dụng tên
Tìm tất cả thư mục có tên là Tecmint nằm trong thư mục /
.
# find / -type d -name Tecmint /Tecmint
5. Tìm file có phần mở rộng là .php
Tìm file tecmint.php nằm trong thư mục đang làm việc.
# find . -type f -name tecmint.php ./tecmint.php
6. Tìm tất cả file PHP trong thư mục
Tìm tất cả file có phần mở rộng là php trong thư mục đang làm việc.
# find . -type f -name "*.php" ./tecmint.php ./login.php ./index.php
7. Tìm file có mã quyền là 777
# find . -type f -perm 0777 -print
Bạn có thể thay đổi 777 sang 775 hoặc một mã bất kì.
8. Tìm file có mã quyền khác 777
# find / -type f ! -perm 777
9. Tìm SGID Files có mã quyền là 644
# find / -perm 2644
10. Tìm Sticky Bit file có quyền là 551
# find / -perm 1551
11. Tìm file SUID
# find / -perm /u=s
12. Tìm file SGID
# find / -perm /g=s
13. Tìm file đang ở chế độ read only
# find / -perm /u=r
14. Tìm file có thể thực thi
# find / -perm /a=x
15. Tìm file có mã quyền 777 và chmod là 644
# find / -type f -perm 0777 -print -exec chmod 644 {} \;
16. Tìm thư mục có mã quyền 777 và chmod là 644
# find / -type d -perm 777 -print -exec chmod 755 {} \;
17. Tìm và xóa một file
# find . -type f -name "tecmint.txt" -exec rm -f {} \;
18. Tìm và xóa nhiều file
# find . -type f -name "*.txt" -exec rm -f {} \; OR # find . -type f -name "*.mp3" -exec rm -f {} \;
19. Tìm file rỗng
# find /tmp -type f -empty
20. Tìm thư mục rỗng
# find /tmp -type d -empty
21. Tìm tất cả file ẩn
# find /tmp -type f -name ".*"
II. Lệnh find Linux: Tìm dựa vào user và group
Sau đây là 4 ví dụ cách sử dụng lệnh find để tìm file và thư mục theo user / group.
22. Tìm một file dựa vào user
Để tìm tất cả hoặc một file có tên là tecmint.txt trong thư mục /root
của một user ta dùng lệnh sau.
# find / -user root -name tecmint.txt
23. Tìm tất cả các file dựa vào user
Tìm tất cả các file thuộc sở hữu của user Tecmint nằm trong thư mục /home
.
# find /home -user tecmint
24. Tìm tất cả các file dựa vào group
Tìm tất cả các file thuộc group Developer trong thư mục /home
.
# find /home -group developer
25. Tìm một file có phần mở rộng thuộc một group
Tìm tất cả file .txt
của user Tecmint nằm trong thư mục /home
.
# find /home -user tecmint -iname "*.txt"
III. Lệnh Find trong Linux: Tìm file dựa vào thời gian tạo
Dưới đây là 6 lệnh tìm kiếm dựa vào thời gian tạo file.
26. Tìm những file được sửa đổi 50 ngày qua
# find / -mtime 50
27. Tìm file được truy cập 50 ngày qua
# find / -atime 50
28. Tìm file được sửa đổi trong khoảng 50 - 100 ngày
# find / -mtime +50 –mtime -100
29. Tìm các file đã thay đổi trong 1 giờ qua
# find / -cmin -60
30. Tìm file đã sửa đổi trong 1 giờ qua
# find / -mmin -60
31. Tìm file đã truy cập trong 1 giờ qua
# find / -amin -60
V. Lệnh find trong Linux: Tìm file dựa vào kích thước
Sau đây là 6 lệnh cuối cùng về cách tìm file trong Linux dựa vào kích thước của file.
32. Tìm file có kích thước 50MB
# find / -size 50M
33. Tìm file có kích thước trong khoảng 50MB - 100MB
# find / -size +50M -size -100M
34. Tìm và xóa file có kích thước 100MB
# find / -type f -size +100M -exec rm -f {} \;
35. Tìm một file cụ thể và xóa
# find / -type f -name *.mp3 -size +10M -exec rm {} \;
Trên là tổng hợp 35 ví dụ về cách dùng lệnh Find trong Linux, đây là lệnh có công dùng tìm kiếm file và thư mục theo một tiêu chí cụ thể nào đó.