Bài viết này nhằm giúp quý khách có một cái nhìn tổng quát về lệnh find - một lệnh tìm kiếm khá hay và thường được sử dụng trên Linux giúp quý khách cải thiện quá trình tìm kiếm file, thư mục với các tuỳ biến. Sau đây là 20 ví dụ đơn giản thường được sử dụng.
Phần 1. Tìm kiếm cơ bản
1. Tìm kiếm file theo tên file đầy đủ
# find . vinahost.txt
Kết quả:
./vinahost.txt
Lệnh trên sẽ tìm file có tên là vinahost.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 vinahost*
Kết quả:
/home/vinahost1.php
/var/vinahostabc.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 "vinahost"
3. Tìm kiếm file với phần mở rộng.
# find /home -name *.php
Kết quả:
/home/vinahost.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à vinahost
# find /home -user vinahostLệnh trên sẽ tìm kiếm tất cả những file trong thư mục home có owner là vinahost
6. Tìm kiếm file có group là vinahost
# find /home -group vinahost
Lệnh trên sẽ tìm kiếm tất cả những file trong thư mục home có group là vinahost
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
8. Tìm kiếm file rỗng
# find /tmp -type f -empty9. Tìm kiếm file được chỉnh sửa trong vòng 50 ngày
# find / -mtime 50
10. Tìm kiếm file được chỉnh sửa trong vòng 50 - 100 ngày
# find / -mtime +50 –mtime -10011. Tìm kiếm file vừa được tạo ra trong vòng 1 giờ
# find / -cmin -60
12. Tìm kiếm file có dung lượng 50M
# find / -size 50M13. Tìm kiếm file có dung lượng lớn hơn 50M nhỏ hơn 100M
# find / -size +50M -size -100M
14. Tìm thư mục có tên vinahost# find / -type d -name vinahost
15. Tìm kiếm trên nhiều thư mục
# find /opt /usr /var -name vinahost.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 vinahost.txtPhần 2. Tìm kiếm nâng cao, kết hợp với lệnh khác [rm, exec, cp, grep,..]
16. Tìm và xoá file có dung lượng trên 100M
# find / -size +100M -exec rm -rf {} \;17. Tìm và chmod 644 file có phần mở rộng là .html
# find /usr/local -name "*.html" -type f -exec chmod 644 {} \;
18. 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 \;
19. Tìm file có chứa nội dụng vinahost
# find /home -type f -exec grep -l 'vinahost' {} \;
20. 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.
Hi vọng 20 ví dụ trên có thể giúp ích được cho quý khách. Chúc quý khách thành công.
“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
Mọi thắc mắc vui lòng liên hệ:
🌐 Website: //tel4vn.edu.vn/
🔗 Fanpage: //www.facebook.com/tel4vn
🏠 Địa chỉ: 82/2/9 Đinh Bộ Lĩnh, P.26, Q.Bình Thạnh, TP.HCM
☎️ SĐT: 028 3622 0868
📩 Email: