Lệnh find được sử dụng khi nào và 35 ví dụ thực tế cơ bản

Bài sẽ được chia thành năm phần từ cách sử dụng cơ bản đến nâng cao của lệnh find:

  • Phần I: Các lệnh Find cơ bản để tìm kiếm tệp theo tên
  • Phần II: Tìm kiếm tệp dựa trên quyền truy cập của chúng
  • Phần III: Tìm kiếm tệp dựa trên chủ sở hữu và nhóm
  • Phần IV: Tìm kiếm tệp và thư mục dựa trên ngày và thời gian
  • Phần V: Tìm kiếm tệp và thư mục dựa trên kích thước
  • Phần VI: Tìm kiếm nhiều tên tệp trong Linux

Các lệnh Find cơ bản để tìm kiếm tệp theo tên

Tìm kiếm các tệp tin trong thư mục hiện tại bằng tên của chúng

Tìm tất cả các tệp tin có tên là phothongtin.txt trong thư mục làm việc hiện tại.

# find . -name phothongtin.txt

./phothongtin.txt

Tìm tất cả các tệp tin trong thư mục home

Tìm tất cả các tệp tin trong thư mục /home với tên phothongtin.txt.

# find /home -name phothongtin.txt

/home/phothongtin.txt

Tìm các tệp tin sử dụng tên và bỏ qua phân biệt chữ hoa/chữ thường

Tìm tất cả các tệp tin có tên là phothongtin.txt và chứa cả chữ hoa lẫn chữ thường trong thư mục /home.

# find /home -iname phothongtin.txt

./phothongtin.txt
./phothongtin.txt

Tìm các thư mục có tên cụ thể trong thư mục hiện tại

Tìm tất cả các thư mục có tên là phothongtin trong thư mục / (gốc).

# find / -type d -name phothongtin

/phothongtin

Tìm tất cả các tệp PHP có tên là "filename.php" trong thư mục hiện tại

Lệnh find được sử dụng khi nào thì đó là khi tìm tất cả các tệp PHP có tên là "phothongtin.php" trong thư mục làm việc hiện tại, bạn có thể sử dụng lệnh sau:

# find . -type f -name phothongtin.php

./phothongtin.php

Tìm tất cả các tệp PHP trong một thư mục cụ thể

Tìm tất cả các tệp PHP trong một thư mục.

# find . -type f -name "*.php"

./phothongtin.php
./login.php
./index.php

Tìm kiếm tệp dựa trên quyền truy cập của chúng

Tìm tất cả các tệp có quyền 777 trong một thư mục

Để tìm tất cả các tệp có quyền 777 trong cả hệ thống tệp, bạn có thể sử dụng lệnh sau:

# find . -type f -perm 0777 -print

Tìm tất cả các tệp không có quyền 777 trong cả hệ thống tệp

Để tìm tất cả các tệp không có quyền 777 trong thư mục hiện tại, bạn có thể sử dụng lệnh sau:

# find / -type f ! -perm 777

Tìm tất cả các tệp có quyền SGID và quyền 644 trong thư mục hiện tại

Để tìm tất cả các tệp có bit SGID và quyền 644 trong thư mục hiện tại, bạn có thể sử dụng lệnh sau:

# find / -perm 2644

Tìm tất cả các tệp có bit Sticky và quyền 551 trong thư mục hiện tại

Để tìm tất cả các tệp có bit Sticky và quyền 551 trong thư mục hiện tại, bạn có thể sử dụng lệnh sau:

# find / -perm 1551

Tìm các tệp có bit SUID (Set User ID)

Để tìm các tệp có bit SUID (Set User ID) được thiết lập, bạn có thể sử dụng lệnh sau:

# find / -perm /u=s

Tìm các tệp có bit SGID 

Để tìm các tệp có bit SGID được thiết lập, bạn có thể sử dụng lệnh sau:

# find / -perm /g=s

Tìm các tệp chỉ có quyền đọc (read-only)

Để tìm tất cả các tệp chỉ có quyền đọc, hãy thực hiện như sau:

# find / -perm /u=r

Tìm các tệp thực thi

Tìm tất cả các tệp thực thi như sau:

# find / -perm /a=x

Tìm các tệp có quyền 777 và thay đổi quyền của chúng thành 644

Để tìm tất cả các tệp có quyền 777 và sử dụng lệnh chmod để đặt quyền thành 644, bạn có thể sử dụng câu lệnh sau:

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

Tìm tất cả các thư mục có quyền 777 và sử dụng lệnh chmod để đặt quyền thành 755

Lệnh find được sử dụng khi nào thì câu trả lời là để tìm tất cả các thư mục có quyền 777 và sử dụng lệnh chmod để đặt quyền thành 755, bạn có thể sử dụng câu lệnh sau:

# find / -type d -perm 777 -print -exec chmod 755 {} \;

Tìm và xóa một tệp tin duy nhất

Để tìm và xóa một tệp tin duy nhất có tên là tecmint.txt, bạn có thể sử dụng lệnh sau:

# find . -type f -name "phothongtin.txt" -exec rm -f {} \;

Tìm và xóa nhiều tệp tin cùng một lúc

Để tìm và xóa nhiều tệp tin như .mp3 hoặc .txt, bạn có thể sử dụng lệnh sau:

# find . -type f -name "*.txt" -exec rm -f {} \;

OR

# find . -type f -name "*.mp3" -exec rm -f {} \;

Tìm và xóa tất cả các tệp tin rỗng

Để tìm tất cả các tệp tin rỗng dưới một đường dẫn cụ thể, bạn có thể sử dụng lệnh sau:

# find /tmp -type f -empty

Tìm và xóa tất cả các thư mục rỗng

Để tìm và liệt kê tất cả các thư mục rỗng dưới một đường dẫn cụ thể, bạn có thể sử dụng lệnh sau:

# find /tmp -type d -empty

Tìm và liệt kê tất cả các tệp tin ẩn

Để tìm và liệt kê tất cả các tệp tin ẩn, bạn có thể sử dụng lệnh sau:

# find /tmp -type f -name ".*"

Tìm kiếm tệp dựa trên chủ sở hữu và nhóm

Tìm một tệp tin duy nhất dựa trên người dùng

Để tìm tất cả hoặc một tệp tin duy nhất có tên là phothongtin.txt trong thư mục gốc / và thuộc sở hữu của người dùng root, bạn có thể sử dụng lệnh sau:

# find / -user root -name phothongtin.txt

Tìm tất cả các tệp tin thuộc sở hữu của một người dùng cụ thể

Để tìm tất cả các tệp tin thuộc sở hữu của người dùng "phothongtin" trong thư mục /home, bạn có thể sử dụng lệnh sau:

# find /home -user phothongtin

Tìm tất cả các tệp tin thuộc nhóm người dùng trong Linux

Để tìm tất cả các tệp tin thuộc nhóm "Developer" trong thư mục /home, bạn có thể sử dụng lệnh sau:

# find /home -group developer

Tìm các tệp tin cụ thể của người dùng

Để tìm tất cả các tệp tin .txt của người dùng phothongtin trong thư mục /home, bạn có thể sử dụng lệnh sau:

# find /home -user phothongtin -iname "*.txt"

Tìm kiếm tệp và thư mục dựa trên ngày và thời gian

Tìm các tệp tin được chỉnh sửa trong 50 ngày gần đây

Để tìm tất cả các tệp tin đã được chỉnh sửa cách đây 50 ngày, bạn có thể sử dụng lệnh sau:

# find / -mtime 50

Tìm tất cả các tệp tin đã được truy cập cách đây 50 ngày

Để tìm tất cả các tệp tin đã được truy cập cách đây 50 ngày, bạn có thể sử dụng lệnh sau:

# find / -atime 50

Tìm tất cả các tệp tin đã chỉnh sửa trong khoảng thời gian từ 50 đến 100 ngày trước đây

Nếu bạn thắc mắc lệnh find được sử dụng khi nào thì chúng dùng để tìm tất cả các tệp tin đã được chỉnh sửa từ 50 đến 100 ngày trước đó là một trong những chức năng, bạn có thể sử dụng lệnh sau:

# find / -mtime +50 –mtime -100

Tìm tất cả các tệp tin đã thay đổi trong vòng 1 giờ gần đây

Để tìm tất cả các tệp tin đã được thay đổi trong vòng 1 giờ gần đây, bạn có thể sử dụng lệnh sau:

# find / -cmin -60

Tìm tất cả các tệp tin đã được chỉnh sửa trong vòng 1 giờ gần đây

Để tìm tất cả các tệp tin đã được chỉnh sửa trong vòng 1 giờ gần đây, bạn có thể sử dụng lệnh sau:

# find / -mmin -60

Tìm tất cả các tệp tin đã được truy cập trong vòng 1 giờ gần đây

Để tìm tất cả các tệp tin đã được truy cập trong vòng 1 giờ gần đây, hãy thực hiện như sau:

# find / -amin -60

Tìm kiếm tệp và thư mục dựa trên kích thước

Tìm tệp có kích thước 50MB

Để tìm tệp tin có kích thước 50MB hãy dùng:

# find / -size 50M

Tìm tất cả các tệp tin có kích thước từ 50MB đến 100MB

Để tìm tất cả các tệp tin có kích thước lớn hơn 50MB và nhỏ hơn 100MB, bạn có thể sử dụng lệnh sau:

# find / -size +50M -size -100M

Tìm và xóa tất cả các tệp tin có kích thước 100MB

Để tìm và xóa tất cả các tệp tin có kích thước là 100MB bằng một lệnh duy nhất, bạn có thể sử dụng lệnh sau:

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

Tìm và xóa các tệp tin cụ thể

Để tìm và xóa tất cả các tệp tin .mp3 có kích thước lớn hơn 10MB bằng một lệnh duy nhất, bạn có thể sử dụng lệnh sau:

# find / -type f -name *.mp3 -size +10M -exec rm {} \;

Những ví dụ ở bài viết trên đã cho bạn biết lệnh find được sử dụng khi nào, từ đó bạn có thể áp dụng vào công việc hằng ngày của mình một cách hiệu quả. 

Mọi người cũng tìm kiếm: lệnh find được sử dụng khi nào, lệnh find trong linux

Mọi người cùng tìm kiếm: lệnh find được sử dụng khi nào, lệnh find được sử dụng như thế nào, . lệnh find được sử dụng khi nào?