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?