Computer >> Máy Tính >  >> Hệ thống >> Linux

Cách sử dụng fd để nhanh chóng tìm tệp trong Linux và macOS

Cách sử dụng fd để nhanh chóng tìm tệp trong Linux và macOS

fd là một thay thế đơn giản hơn cho lệnh find. Nó sử dụng cú pháp rút gọn và cấu trúc lệnh viết tắt để giữ cho các lệnh đã nhập của bạn ngắn gọn và đi vào trọng tâm. Tuy nhiên, sự thiếu dài dòng đó làm cho fd dễ bị gõ và khó hiểu hơn. fd cũng chạy khớp mẫu nhanh hơn so với các lệnh tìm mặc định. Tìm hiểu cách sử dụng fd trên Linux và macOS.

Cài đặt fd trên Linux

fd không giao hàng trên nhiều hệ thống theo mặc định. Bạn sẽ cần sử dụng trình quản lý gói ưa thích của mình để tải xuống và cài đặt ứng dụng, sau đó bạn có thể chạy nó từ bên trong Terminal.

Ubuntu

Nó sẽ được phát hành trên Ubuntu Disco Dingo 19.04, nhưng nếu không, bạn sẽ cần tải xuống và cài đặt nó. Đối với Ubuntu và các bản phân phối Linux dựa trên Debian khác, bạn sẽ muốn chạy các lệnh sau để tải xuống và cài đặt chương trình.

wget https://github.com/sharkdp/fd/releases/download/v7.3.0/fd-musl_7.3.0_amd64.deb
sudo dpkg -i fd-musl_7.3.0_amd64.deb

Nếu bạn cần phiên bản 32-bit hoặc một bản dựng khác, hãy tải xuống từ trang phát hành GitHub cho fd.

Debian

Trên Debian Buster hoặc mới hơn, bạn có thể cài đặt fd từ kho lưu trữ chính thức do Debian duy trì.

sudo apt-get install fd-find

Fedora

Từ Fedora 28, fd có thể được cài đặt từ các phiên bản gói chính thức.

dnf install fd-find

Arch Linux

Tương tự, người dùng Arch có thể lấy fd từ các repo chính thức:

pacman -S fd

Gentoo Linux

Người dùng Gentoo có thể sử dụng lệnh sau để tải xuống fd ebuild:

emerge -av fd

macOS

Nếu bạn đang chạy macOS, hãy cài đặt Homebrew, sau đó sử dụng lệnh bên dưới để cài đặt fd:

brew install fd

Sử dụng fd trên Linux

Cách sử dụng fd để nhanh chóng tìm tệp trong Linux và macOS

Các lệnh fd có cấu trúc cơ bản là fd pattern so với find . -iname 'pattern' .

Để tìm kiếm một tệp theo tên của nó, hãy sử dụng lệnh sau:

fd filename

Điều này tìm kiếm trong thư mục làm việc đặt trước, bao gồm cả các thư mục con. Để tìm kiếm trong một thư mục cụ thể, hãy chỉ định nó sau cụm từ tìm kiếm của bạn:

fd filename /path/to/search

Thực thi lệnh trên kết quả

Giống như find, fd có một chức năng chuyển các tệp tìm thấy sang một lệnh khác để thực thi. Nơi tìm sử dụng find . -iname pattern -exec command , fd sử dụng -x cờ:

Giải nén
fd -e zip -x unzip

Lệnh này sẽ gửi tất cả các tệp zip trong thư mục tới lệnh giải nén. Bạn có thể sử dụng các ký hiệu sau trong “cụm từ” của lệnh thực thi để chuyển thông tin theo những cách cụ thể.

  • {} :Trình giữ chỗ được thay thế bằng đường dẫn của kết quả tìm kiếm (files/images/portrait.jpg ).
  • {/} :Một trình giữ chỗ sẽ chỉ được thay thế bằng tên tệp của kết quả, được những người hâm mộ UNIX gọi là tên cơ sở (portrait.jpg ).
  • {//} :Trình giữ chỗ được thay thế bằng thư mục mẹ của các mục được tìm thấy (files/images ).
  • {.} :Trình giữ chỗ được thay thế bằng đường dẫn đến tên tệp, không có phần mở rộng (files/images/portrait ).
  • {/.} :Trình giữ chỗ được thay thế bằng tên cơ sở của mục tìm thấy, không có phần mở rộng (portrait ).

Hãy xem xét ví dụ sau, sử dụng hai trong số các ký hiệu trình giữ chỗ được trích dẫn ở trên:

fd -e flac -x ffmpeg -i {} -c:a libopus {.}.opus

Cờ fd hữu ích khác

  • -e :chỉ tìm kiếm phần mở rộng của tệp, không có dấu chấm phân cách.
  • -E pattern :loại trừ các kết quả phù hợp với mẫu sau.
  • --changed-newer-than date|duration :lọc kết quả dựa trên thời gian kể từ khi sửa đổi tệp. Điều này sẽ chỉ hiển thị các tệp có ngày sửa đổi muộn hơn ngày được chỉ định. Thời gian có thể được đưa ra một khoảng thời gian được tính ngược từ thời điểm hiện tại (10h , 1d , 35min ) hoặc có thể được đặt thành một thời điểm cụ thể ("YYYY-MM-DD HH:MM:SS" ).
  • –changed-old-than date | time :Giống –change-mới hơn nhưng sẽ hiển thị các tệp được chỉnh sửa trước ngày hoặc thời lượng đã chỉ định, không phải sau.
  • -t :chỉ hiển thị các tệp thuộc loại được chỉ định (-tf cho tệp, -td cho thư mục, -tx cho tệp thực thi, -tl cho liên kết tượng trưng, ​​-te cho tệp trống).
  • -p :tìm kiếm trong toàn bộ tên đường dẫn, không chỉ tên tệp.
  • -s :lực phân biệt chữ hoa chữ thường. Theo mặc định, fd bỏ qua chữ hoa, chữ thường trừ khi nhập một chữ hoa trong mẫu tìm kiếm.
  • -H :hiển thị các tệp và thư mục ẩn trong kết quả.
  • -L :theo các liên kết vào các thư mục được liên kết tượng trưng.

fd là một sự thay thế tốt cho lệnh find. Nếu kinh nghiệm của bạn là lệnh “find” khó sử dụng, thì bạn có thể gặp may mắn hơn khi sử dụng fd. Hãy dùng thử và cho chúng tôi biết nếu nó hữu ích cho bạn.