Lệnh tìm kiếm trong linux

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ó ownervinahost

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ó groupvinahost

# 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 50M

13. 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.txt

Phầ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: https://tel4vn.edu.vn/
🔗 Fanpage: https://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: