5 ví dụ lệnh fd trên Centos / Ubuntu / Debian / Fedora

fd là một công cụ đơn giản, nhanh chóng và dễ sử dụng, nhằm mục đích thực hiện nhanh hơn so với lệnh find. Nó không nhằm thay thế hoàn toàn find, mà chỉ mang lại một lựa chọn dễ sử dụng hơn và thực hiện nhanh hơn một chút.

Các tính năng của fd:

  • Cú pháp dễ sử dụng - fd mẫu thay vì find -iname mẫu.
  • Đầu ra màu sắc tương tự như lệnh ls.
  • Hiệu suất nhanh chóng. Có bảng đánh giá hiệu suất từ nhà phát triển tại đây.
  • Tìm kiếm thông minh mặc định không phân biệt chữ hoa chữ thường và chuyển sang phân biệt chữ hoa/chữ thường nếu mẫu chứa ký tự in hoa.
  • Mặc định không tìm trong các tệp và thư mục ẩn.
  • Mặc định không tìm trong tệp .gitignore.
  • Hỗ trợ ký tự Unicode.

Cách cài đặt fd trên Linux:

Chúng ta sẽ xem cách cài đặt fd trên các bản phân phối Linux khác nhau bằng cách sử dụng trình quản lý gói mặc định như sau:

$ sudo apt install fd-find    [On Debian, Ubuntu and Mint]
$ sudo yum install fd-find    [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a sys-apps/fd  [On Gentoo Linux]
$ sudo pacman -S fd           [On Arch Linux]
$ sudo zypper install fd      [On OpenSUSE]  
$ sudo apk add fd             [On Alpine Linux]

Cách sử dụng fd trên Linux 

Tương tự như lệnh find và có nhiều trường hợp sử dụng khác nhau. Một số tùy chọn có sẵn và một số ví dụ sau đây. 

# fd -h
OR
# fd --help

Cách sử dụng lệnh fd

Bạn có thể chạy fd mà không có đối số nào, kết quả sẽ tương tự như lệnh ls -R.

# fd

Trong các ví dụ sử dụng fd tiếp theo, chúng ta sẽ sử dụng một cài đặt WordPress mặc định được đặt tại đường dẫn /var/www/html/ để tìm kiếm các tệp và thư mục khác nhau.

Trong ví dụ dưới đây, tôi chỉ lấy 10 kết quả đầu tiên để giảm độ dài đầu ra của lệnh. 

# fd | head

Ví dụ lệnh fd

Tìm tất cả các tệp JPG trong Linux

Giả sử chúng ta muốn tìm tất cả các tệp jpg. Sử dụng tùy chọn "-e" để lọc theo phần mở rộng tệp:

# fd -e jpg

fd – Tìm tập tin JPG

Nếu bạn muốn chỉ định một thư mục tìm kiếm, bạn chỉ cần đưa nó làm đối số::

# fd <pattery> <directory>

Tìm kiếm chuỗi trong tất cả các tệp PHP trong Linux

Tùy chọn "-e" có thể được sử dụng kết hợp với một mẫu như sau:

# fd -e php index

Tìm tập tin JPG trong thư mục

Lệnh trên sẽ tìm kiếm các tệp có phần mở rộng là php và chứa chuỗi "index" trong tên tệp.

Nếu bạn muốn loại bỏ một số kết quả, bạn có thể sử dụng tùy chọn "-E":

# fd -e php index -E wp-content

Lệnh này sẽ tìm kiếm tất cả các tệp có phần mở rộng php, chứa chuỗi "index" và loại trừ kết quả từ thư mục "wp-content".

fd – Loại trừ tệp khi tìm kiếm chuỗi trong tệp

Tìm tất cả các tệp JPG và sửa đổi quyền bằng lênh fd

Tương tự như lệnh find, bạn có thể sử dụng tùy chọn -x hoặc --exec để thực hiện thực thi lệnh song song với các kết quả tìm kiếm.

Dưới đây là một ví dụ sử dụng lệnh chmod để thay đổi quyền truy cập của các tệp hình ảnh:

# fd -e jpg -x chmod 644 {}

Lệnh trên sẽ tìm tất cả các tệp có phần mở rộng jpg và chạy lệnh chmod 644 <đường-dẫn-tới-tệp>.

Dưới đây là một số giải thích và cách sử dụng của các dấu ngoặc nhọn:

  • {}: Một giữ chỗ sẽ được thay thế bằng đường dẫn của kết quả tìm kiếm (vd: wp-content/uploads/01.jpg).
  • {.}: Tương tự như {}, nhưng không bao gồm phần mở rộng tệp (vd: wp-content/uploads/01).
  • {/}: Một giữ chỗ sẽ được thay thế bằng tên tệp của kết quả tìm kiếm (vd: 01.jpg).
  • {//}: Thư mục cha của đường dẫn đã tìm thấy (vd: wp-content/uploads).
  • {/.}: Chỉ tên tệp, không bao gồm phần mở rộng (vd: 01).
  • Hy vọng những thông tin trên có thể giúp bạn hiểu thêm về cách sử dụng fd trên Linux. Nếu còn câu hỏi hoặc yêu cầu cụ thể, vui lòng cho biết thêm.