Sử dụng find command để tìm kiếm nhiều tên tệp (tiện ích mở rộng) trong Linux

Một trong những tiện ích để tìm kiếm tệp tin trên hệ thống tệp tin Linux là tiện ích find command và trong hướng dẫn này, chúng ta sẽ đi qua một số ví dụ về việc sử dụng find để giúp chúng ta tìm kiếm nhiều tên tệp tin cùng lúc.

Nhiều lúc, chúng ta bị kẹt trong tình huống phải tìm kiếm nhiều file với các phần mở rộng khác nhau, điều này có thể đã xảy ra với một số người dùng Linux đặc biệt là từ bên trong terminal.

Có một số tiện ích Linux mà chúng ta có thể sử dụng để tìm kiếm các file trên hệ thống file, nhưng việc tìm nhiều tên file hoặc các file với các phần mở rộng khác nhau đôi khi khó khăn và đòi hỏi các lệnh cụ thể.

Tìm nhiều tên file trên Linux
Tìm nhiều tên file trên Linux

Trước khi chúng ta bắt đầu sử dụng các lệnh thực tế, hãy cùng xem qua một giới thiệu ngắn về tiện ích find trên Linux.

Cú pháp đơn giản và tổng quát của tiện ích find là như sau:

# find directory options [ expression ]

Một số ví dụ về find command trên Linux

1. Giả sử bạn muốn tìm tất cả các file trong thư mục hiện tại với các phần mở rộng .sh.txt, bạn có thể làm điều này bằng cách chạy lệnh sau:

# find . -type f \( -name "*.sh" -o -name "*.txt" \)
Tìm file với phần mở rộng .sh và .txt trên Linux
Tìm file với phần mở rộng .sh và .txt trên Linux

Giải thích của lệnh trên:

  1. . có ý nghĩa là thư mục hiện tại
  2. Tùy chọn -type được sử dụng để chỉ định loại file và ở đây, chúng ta đang tìm kiếm các file thường như được biểu diễn bằng f
  3. Tùy chọn -name được sử dụng để chỉ định mẫu tìm kiếm trong trường hợp này là các phần mở rộng file
  4. -o có nghĩa là "HOẶC"

Đề nghị bạn đặt phần mở rộng file trong dấu ngoặc vuông và sử dụng ký tự \ (dấu gạch chéo) để cách biệt như trong lệnh.

2. Để tìm kiếm ba tên file với các phần mở rộng .sh, .txt.c, chạy lệnh sau:

# find . -type f \( -name "*.sh" -o -name "*.txt" -o -name "*.c" \)
Tìm nhiều phần mở rộng file trên Linux
Tìm nhiều phần mở rộng file trên Linux

3. Đây là một ví dụ khác nơi chúng ta tìm kiếm các file với các phần mở rộng .png, .jpg, .deb.pdf:

# find /home/aaronkilik/Documents/ -type f \( -name "*.png" -o -name "*.jpg" -o -name "*.deb" -o -name ".pdf" \)
Tìm nhiều phần mở rộng file trên Linux
Tìm nhiều phần mở rộng file trên Linux

Khi bạn quan sát kỹ các lệnh trên, mẹo nhỏ là sử dụng tùy chọn -o trong lệnh find, nó cho phép bạn thêm nhiều tên file vào mảng tìm kiếm và cũng biết các tên file hoặc phần mở rộng file bạn đang tìm kiếm.

Kết luận

Trong hướng dẫn này, chúng ta đã đề cập đến một mẹo đơn giản nhưng hữu ích với find command để cho phép chúng ta tìm kiếm nhiều tên file bằng cách sử dụng một lệnh duy nhất. Để hiểu và sử dụng find cho nhiều thao tác dòng lệnh quan trọng khác, bạn có thể đọc bài viết dưới đây của chúng tôi.