close

Hướng dẫn sử dụng lệnh Find trên Linux hiệu quả

Tác giả: Hồng Nhi Ngày cập nhật: 10/01/2024 Chuyên mục: Hỗ trợ Web hosting
Disclosure
Website Wiki.tino.org được cung cấp bởi Tino Group. Truy cập và sử dụng website đồng nghĩa với việc bạn đồng ý với các điều khoản và điều kiện trong chính sách bảo mật - điều khoản sử dụng nội dung. Wiki.tino.org có thể thay đổi điều khoản sử dụng bất cứ lúc nào. Việc bạn tiếp tục sử dụng Wiki.tino.org sau khi thay đổi có nghĩa là bạn chấp nhận những thay đổi đó.
Why Trust Us
Các bài viết với hàm lượng tri thức cao tại wiki.tino.org được tạo ra bởi các chuyên viên Marketing vững chuyên môn và được kiểm duyệt nghiêm túc theo chính sách biên tập bởi đội ngũ biên tập viên dày dặn kinh nghiệm. Mọi nỗ lực của chúng tôi đều hướng đến mong muốn mang đến cho cộng đồng nguồn thông tin chất lượng, chính xác, khách quan, đồng thời tuân thủ các tiêu chuẩn cao nhất trong báo cáo và xuất bản.

Dù bạn là một người mới bắt đầu hay là một người dùng Linux kinh nghiệm, việc nắm vững cách sử dụng lệnh Find sẽ giúp bạn dễ dàng xác định vị trí của những tập tin cần tìm và thực hiện các tác vụ quản lý hệ thống một cách hiệu quả. Trong bài viết hôm nay, TinoHost sẽ hướng dẫn bạn cách sử dụng lệnh Find trên Linux hiệu quả.

Tìm hiểu về lệnh Find trên Linux

Giới thiệu lệnh Find trên Linux

Lệnh Find trên Linux là một công cụ dòng lệnh mạnh mẽ được sử dụng để tìm kiếm các tập tin và thư mục dựa trên các tiêu chí cụ thể, bao gồm tìm kiếm theo tên tập tin, kích thước, ngày tạo, quyền truy cập và nhiều tiêu chí khác. Nhìn chung, Find sẽ giúp bạn thực hiện các tác vụ như tìm kiếm tệp tin cụ thể, xóa các tệp lớn hơn một giới hạn kích thước, thực hiện các tác vụ xử lý hàng loạt và nhiều công việc khác liên quan đến quản lý tệp tin và thư mục.

Ví dụ: Bạn muốn tìm kiếm một thứ gì đó trong ổ cứng mà không nhớ ở đâu, tên cụ thể là gì hay làm sao tìm ra file giữa quá nhiều file khá giống nhau? Tất cả những rắc rối đó sẽ được giải quyết bằng lệnh Find trên Linux.

lenh-find-tren-linux-la-gi
Lệnh Find trên Linux là gì?

Cấu trúc của lệnh Find

Về cơ bản, chúng ta sẽ sử dụng cấu trúc chung như sau:

find [đường_dẫn] [tùy_chọn] [tiêu_chí_tìm_kiếm]

Trong đó:

  • [đường_dẫn]: Đây là đường dẫn mà bạn muốn bắt đầu tìm kiếm từ. Bạn có thể chỉ định thư mục cụ thể hoặc sử dụng “.” để chỉ thư mục hiện tại. Nếu không có đường dẫn được chỉ định, mặc định là thư mục hiện tại.
  • [tùy_chọn]: Đây là các tùy chọn mà bạn muốn sử dụng để tùy chỉnh cách lệnh “find” hoạt động. Có rất nhiều tùy chọn khác nhau để xác định các tiêu chí tìm kiếm, như tên tập tin, kích thước, ngày tạo, quyền truy cập và nhiều loại tùy chọn khác.
  • [tiêu_chí_tìm_kiếm]: Đây là nơi bạn xác định các tiêu chí cụ thể cho quá trình tìm kiếm. Điều này bao gồm các điều kiện về tên tập tin, kích thước, quyền truy cập, ngày tạo và nhiều yếu tố khác.
cau-truc-cua-lenh-find
Cấu trúc của lệnh Find

Lợi ích của lệnh Find trên Linux

Tìm kiếm tập tin và thư mục theo tiêu chí

Lệnh Find cho phép bạn tìm kiếm các tập tin và thư mục dựa trên các tiêu chí cụ thể như tên tập tin, kích thước, quyền truy cập, ngày tạo và nhiều yếu tố khác. Điều này giúp bạn nhanh chóng định vị các tập tin và thư mục cần thiết trong hệ thống.

Quản lý tệp tin và thư mục một cách hiệu quả

Với khả năng tìm kiếm theo nhiều tiêu chí khác nhau, lệnh Find cho phép bạn thực hiện các tác vụ quản lý tệp tin và thư mục một cách hiệu quả hơn. Bạn có thể tìm và xóa các tệp lớn, di chuyển hoặc sao chép những tập tin cụ thể và thậm chí thực hiện các tác vụ xử lý hàng loạt trên tập tin.

Tìm kiếm và thay thế thông tin trong tập tin văn bản

Lệnh Find có thể kết hợp với các lệnh khác như Sed để thực hiện tìm kiếm và thay thế thông tin trong các tệp văn bản. Điều này rất hữu ích khi bạn cần cập nhật thông tin hoặc thực hiện thay đổi hàng loạt trong các tệp văn bản.

loi-ich-cua-lenh-find-tren-linux
Lợi ích của lệnh Find trên Linux

Tìm kiếm và xử lý các tệp ẩn

Lệnh Find cho phép bạn tìm kiếm và làm việc với các tập tin ẩn (có tên bắt đầu bằng dấu chấm) mà không cần phải biết trước tên cụ thể của chúng.

Tìm kiếm trên toàn bộ hệ thống

Bạn có thể sử dụng lệnh Find để tìm kiếm trên toàn bộ hệ thống Linux, bao gồm cả các ổ đĩa và thư mục khác nhau. Điều này giúp bạn định vị tập tin và thư mục một cách tổng quan và toàn diện.

Hướng dẫn sử dụng lệnh Find trên Linux

Để dễ dàng đọc hiểu hơn, chúng ta sẽ “quy định riêng” cách viết trong khuôn khổ bài viết này như sau nhé!

  • Tiêu đề: hiển thị nhóm lệnh có cùng một điểm chung
  • Dòng chữ có đánh số: hiển thị nội dung của code bên dưới
  • Code dùng để tìm kiếm

Tìm kiếm cơ bản

1. Tìm kiếm file theo tên file đầy đủ

# find . tinogroup.txt

Kết quả:

./tinogroup.txt

Lệnh trên sẽ tìm file có tên là tinogroup.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 tinogroup*

Kết quả:

/home/tinogroup1.php

/var/tinogroupabc.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 “tinogroup”

3. Tìm kiếm file với phần mở rộng.

# find /home -name *.php

Kết quả:

/home/tinogroup.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 ".*"
tim-kiem-co-ban
Tìm kiếm cơ bản

Tìm kiếm dựa trên phân quyền và nhóm quyền

5. Tìm kiếm file thuộc sở hữu của tinogroup 

# find /home -user tinogroup

Lệnh trên sẽ tìm kiếm tất cả những file trong thư mục home có chủ sở hữu là tinogroup 

6. Tìm kiếm file có group là tinogroup

# find /home -group tinogroup

Lệnh trên sẽ tìm kiếm tất cả những file trong thư mục home có group là tinogroup

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

Tìm kiếm dựa trên thời gian

10. Tìm kiếm file được chỉnh sửa trong vòng 50 ngày

# find / -mtime 50
tim-kiem-dua-tren-thoi-gian
Tìm kiếm dựa trên thời gian

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

Tìm kiếm dựa trên dung lượng

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 tinogroup

# find / -type d -name tinogroup

16. Tìm kiếm trên nhiều thư mục

# find /opt /usr /var -name tinogroup.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 tinogroup.txt

17. Tìm và xóa file có dung lượng trên 100M

# find / -size +100M -exec rm -rf {} \;

Tìm kiếm dựa trên phần mở rộng/ nội dung

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 dung tinogroup

# find /home -type f -exec grep -l ‘tinogroup’{} \;

Với khả năng tìm kiếm tuyệt vời, lệnh Find đã thành một người bạn đồng hành đáng tin cậy của người dùng Linux. Qua bài viết trên, TinoHost đã hướng dẫn sử dụng lệnh Find trên Linux chi tiết. Hy vọng bạn sẽ sử dụng câu lệnh chính xác và có được kết quả mong muốn nhé!

Những câu hỏi thường gặp

Làm thế nào để tìm tệp có quyền 777 và Chmod đến 644?

Bạn có thể sử dụng lệnh:

# find / -type f -perm 0777 -print -exec chmod 644 {} \;

Chmod 755, 777 là gì?

Chmod là xác lập thuộc tính cho files hoặc folder. Hiểu đơn giản, Chmod là thiết lập quyền (xem, xóa …) trên file hay thư mục. Để tìm hiểu thêm về Chmod 755 và 777, bạn có thể xem bài viết: CHMOD 755, 777 là gì? Sử dụng CHMOD 755, 777 ra sao?

Làm thế nào để tìm các tệp dựa trên kích thước? Ví dụ: lớn hơn 1MB.

Bạn sẽ sử dụng lệnh sau:

# find /đường/dẫn/đến/thư/mục -type f -size +1M

Có lệnh nào thay thế lệnh Find trên Linux

Lệnh Find trong Linux rất mạnh mẽ và linh hoạt trong việc tìm kiếm và xử lý các tệp và thư mục. Tuy nhiên, trong một số trường hợp cụ thể, có thể sử dụng các lệnh khác để thay thế một phần chức năng của Find như: Lệnh locate, lệnh ls , lệnh grep, lệnh which và whereis, Lệnh tree.

Hồng Nhi

Content Manager

Chị Hồng Nhi, "người giữ lửa" đứng sau wiki.tino.org, là một Content Manager tài năng với hành trình sự nghiệp đầy cảm hứng. Tốt nghiệp cử nhân Ngữ văn Anh năm 2017, cử nhân Ngữ văn Nga năm 2019 và Thạc sĩ Quan hệ Quốc tế năm 2024 tại trường Đại học KHXH&NV - ĐHQG TP.HCM, chị sở hữu nền tảng kiến thức vững chắc cùng kinh nghiệm dày dặn trong lĩnh vực truyền thông.Vốn xuất thân từ "xã hội" nhưng với niềm đam mê sáng tạo nội dung giá trị, chị đã "lấn sân" sang lĩnh vực công nghệ và nhanh chóng khẳng định bản thân. Với phương châm "diễn giải cái khó hiểu nhất bằng cách dễ hiểu nhất", chị đã chinh phục độc giả bằng những bài viết blog công nghệ súc tích, dễ hiểu và hữu ích. Đồng hành cùng TinoHost từ những ngày đầu thành lập, chị Hồng Nhi hiện là Content Manager, người trực tiếp quản lý và vận hành wiki.tino.org cùng nhiều website uy tín khác.

Xem thêm bài viết

Bài viết liên quan

CÔNG TY CỔ PHẦN TẬP ĐOÀN TINO
Trụ sở chính: L17-11, Tầng 17, Tòa nhà Vincom Center, Số 72 Lê Thánh Tôn,  Phường Bến Nghé, Q. 1, TP. Hồ Chí Minh

Văn phòng kinh doanh: Số 42 Trần Phú, Phường 4, Quận 5, TP HCM
GPKD số 0315679836 do Sở KH và ĐT TP Hồ Chí Minh cấp
Hotline: 0364 333 333
Góp ý/Phản ánh dịch vụ: 0933 000 886