Banyak programmer Linux menggunakan find
perintah setiap hari dalam karir mereka. Tapi find
memberikan satu set entri sistem file yang terbatas, dan jika Anda harus melakukan serangkaian besar find
operasi, itu bahkan tidak terlalu cepat. Jadi sebagai gantinya, saya lebih suka menggunakan fd
Rust perintah karena menyediakan default yang masuk akal yang berfungsi untuk sebagian besar kasus penggunaan.
Seperti yang dikatakan README, "fd
adalah program untuk menemukan entri di sistem file Anda. Ini adalah alternatif yang sederhana, cepat, dan mudah digunakan untuk find
." Ini memiliki fitur traversal direktori paralel, sehingga dapat mencari beberapa direktori sekaligus. Mendukung ekspresi reguler (regex) dan pola berbasis glob.
Instal fd
Di Linux, Anda dapat menginstal fd
dari repositori perangkat lunak Anda (daftar paket yang tersedia dapat ditemukan di halaman fd di Repology.) Misalnya, di Fedora:
$ sudo dnf install fd-find
Di macOS, gunakan MacPorts atau Homebrew.
Sebagai alternatif, Anda dapat menggunakan pengelola paket Kargo Rust:
$ cargo install fd-find
Gunakan fd
Untuk melakukan pencarian sederhana, jalankan fd
setelah argumen apa pun, seperti:
$ fd sh
registry/src/github.com-1ecc6299db9ec823/cc-1.0.67/src/bin/gcc-shim.rs
registry/src/github.com-1ecc6299db9ec823/exa -0.10.1/completions/completions.bash
registry/src/github.com-1ecc6299db9ec823/exa-0.10.1/completions/completions.fish
registry/src/github.com-1ecc6299db9ec823/exa -0.10.1/completions/completions.zsh
registry/src/github.com-1ecc6299db9ec823/exa-0.10.1/xtests/run.sh
registry/src/github.com-1ecc6299db9ec823/git2 -0.13.18/src/stash.rs
registry/src/github.com-1ecc6299db9ec823/libc-0.2.94/src/unix/solarish
registry/src/github.com-1ecc6299db9ec823/libgit2 -sys-0.12.19+1.1.0/libgit2/cmake/SelectHashes.cmake
registry/src/github.com-1ecc6299db9ec823/libgit2-sys-0.12.19+1.1.0/libgit2/include/git2/ stash.h
registry/src/github.com-1ecc6299db9ec823/libgit2-sys-0.12.19+1.1.0/libgit2/include/git2/sys/hashsig.h
registry/src/github. com-1ecc6299db9ec823/libgit2-sys-0.12.19+1.1.0/libgit2/script/backport.sh
registry/src/githu b.com-1ecc6299db9ec823/libgit2-sys-0.12.19+1.1.0/libgit2/script/leaks.sh
registry/src/github.com-1ecc6299db9ec823/libgit2-sys-0.12.19+1.1.0 /libgit2/script/valgrind.sh
registry/src/github.com-1ecc6299db9ec823/libgit2-sys-0.12.19+1.1.0/libgit2/src/config_snapshot.c
[...]
Jika Anda ingin mencari direktori tertentu, berikan jalur direktori sebagai argumen kedua ke fd
, seperti:
$ fd passwd /etc
/etc/pam.d/passwd
/etc/passwd
/etc/passwd-
/etc/security/opasswd
Untuk mencari ekstensi file tertentu, gunakan -e
sebagai pilihan. Misalnya:
$ fd . '/home/ssur/exa' -e md
/home/ssur/exa/README.md
/home/ssur/exa/devtools/README.md
/home/ssur/ exa/man/exa.1.md
/home/ssur/exa/man/exa_colors.5.md
/home/ssur/exa/xtests/README.md
$Anda juga dapat menjalankan perintah dengan memberikan
-x
atau-X
.
-x/--exec
option menjalankan perintah eksternal untuk setiap hasil pencarian (secara paralel).-X/--exec-batch
option meluncurkan perintah eksternal sekali dengan semua hasil pencarian sebagai argumen.
Misalnya, untuk menemukan semua arsip ZIP secara rekursif dan membongkarnya:
$ fd -e zip -x unzip
Atau, untuk membuat daftar semua file di bawah direktori tertentu yang diubah dalam n . terakhir jumlah hari, gunakan --changed-within
pilihan:
$ fd . '/home/ssur/Work/' --changed-in 10d
/home/ssur/Work/wildfly/connector/src/main/Java/org/jboss/as/connector/subsystems/data_sources/JdbcDriverAdd. java
/home/ssur/Work/wildfly/connector/src/main/java/org/jboss/as/connector/subsystems/data_sources/JdbcExample.java
[...]
Dan untuk mencari semua file yang diubah sebelum jumlah hari tertentu, gunakan --changed-before
n pilihan:
$ fd . '/home/ssur/Work/' --changed-before 365d
Lebih banyak sumber daya Linux
- Lembar contekan perintah Linux
- Lembar contekan perintah Linux tingkat lanjut
- Kursus online gratis:Ikhtisar Teknis RHEL
- Lembar contekan jaringan Linux
- Lembar contekan SELinux
- Lembar contekan perintah umum Linux
- Apa itu container Linux?
- Artikel Linux terbaru kami
Di sini, .
bertindak sebagai entri wildcard untuk menginstruksikan fd
untuk mengembalikan semua file.
Untuk mempelajari lebih lanjut fungsi fd
, lihat dokumentasinya di GitHub.
Kesimpulan
Satu hal yang sangat saya sukai dari fd
adalah bahwa pola pencarian peka huruf besar/kecil secara default, yang membuatnya lebih mudah untuk menemukan sesuatu bahkan ketika Anda memiliki pengetahuan yang tidak tepat tentang apa yang Anda cari. Lebih baik lagi, secara otomatis beralih ke case-sensitive jika polanya berisi karakter huruf besar.
Manfaat lainnya adalah ia menggunakan kode warna untuk menyorot berbagai jenis file.
Jika Anda sudah menggunakan alat Rust yang luar biasa ini, beri tahu kami pendapat Anda di komentar.