Cara Menggunakan Perintah fd di Linux
Diterbitkan: 2022-01-29 Di Linux, fd
adalah alternatif yang lebih mudah untuk perintah find
. Ini memiliki sintaks yang disederhanakan, menggunakan default yang masuk akal, dan memiliki perilaku akal sehat bawaan. Mari kita ambil langkahnya.
fd versus find: Apa Bedanya?
Perintah fd
tidak dimaksudkan untuk menggantikan perintah find
tradisional, yang telah ada di Linux, selamanya. Sebaliknya, fd
mencoba memenuhi sebagian besar penggunaan umum find
dengan cara yang lebih mudah—dan, seringkali delapan atau sembilan kali lebih cepat daripada find
. Anda dapat melihat beberapa tolok ukurnya di halaman repositori GitHub proyek.
fd
memiliki keluaran berwarna, mirip dengan beberapa mode ls
. Ini rekursif, tetapi tidak mencari direktori tersembunyi secara default. Ia tahu tentang Git dan juga akan secara otomatis mengabaikan pola apa pun di file ".gitignore" Anda.
fd
tidak peka huruf besar/kecil secara default. Namun, jika pola pencarian Anda berisi huruf besar, fd
beroperasi dalam mode peka huruf besar/kecil. Tentu saja, Anda dapat mengesampingkan default, tetapi, dalam banyak kasus, mereka bekerja sesuai keinginan Anda.
TERKAIT: Cara Menggunakan Semua Perintah Pencarian Linux
Menginstal fd
Sejak Ubuntu 19.04 (Disco Dingo,) Anda dapat menginstal fd
secara langsung dengan memanggil paket yang dikelola secara resmi dengan apt-get
. Jika Anda menjalankan versi Ubuntu yang lebih lama, periksa petunjuk penginstalan di halaman hub Git.
Ketik berikut ini:
sudo apt-get install fd-find
Di Ubuntu, perintahnya adalah fdfind
untuk menghindari bentrokan nama dengan utilitas lain yang ada. Jika Anda menginginkannya fd
, Anda dapat mengatur alias:
alias fd=fdfind
Untuk membuat alias tetap ada sehingga akan tetap tersedia setelah reboot, letakkan di file “.bashrc” atau “.bash_aliases” Anda.
TERKAIT: Cara Membuat Alias dan Fungsi Shell di Linux
Untuk menginstal fd
di Fedora, ketik perintah ini:
sudo dfn instal fd-find
Di Manjaro, ketik berikut ini:
sudo pacman -Syu fd
fd versus fdfind
Untuk menghindari kebingungan, kami meninggalkan perintah dengan nama defaultnya, fdfind
, pada PC uji Ubuntu kami. fd
dan fdfind
adalah perintah yang persis sama, seperti yang akan Anda lihat dalam contoh berikut (jika Anda meminta fdfind
untuk menunjukkan versinya, ia akan menyebut dirinya "fd"):
fdfind --versi
Kami akan memanggil perintah "fed," tetapi dalam contoh, kami akan menggunakan Ubuntu "fdfind." Pada distribusi Linux lainnya, Anda dapat mengetik "fd" alih-alih "fdfind" untuk menyimpan beberapa penekanan tombol.
Pencarian Sederhana dengan fd
Jika Anda menggunakan fd
tanpa opsi baris perintah, ia berperilaku sedikit seperti ls
, kecuali ia mencantumkan file dalam subdirektori secara default.
Ketik berikut ini:
menemukan
Output muncul dalam warna yang berbeda untuk berbagai jenis file dan direktori.
Untuk melihat file dari jenis tertentu, gunakan opsi
(ekstensi). Perhatikan bahwa Anda tidak harus mendahului ekstensi dengan titik (.), juga tidak peka huruf besar-kecil.-e
Misalnya, Anda dapat mengetik berikut ini:
fdfind -e png
Sekarang, satu-satunya file yang terdaftar adalah file gambar PNG.
Untuk mencari satu file, ketikkan namanya pada baris perintah, seperti:
fdfind index.page
File ditemukan dan kebetulan berada di subdirektori. Kami tidak perlu memberi tahu fd
untuk mencari secara rekursif.
Untuk memulai pencarian di direktori tertentu, sertakan jalur file pada baris perintah. Perintah berikut akan memulai pencarian di direktori "/ etc", dan mencari file yang menyertakan "passwd" dalam nama file:
fdfind passwd /etc
Di sini, kami mencari semua file kode sumber C yang berisi "coord" dalam nama file:
fdfind -ec coord
Dua file yang cocok ditemukan.
fd dan Git
Git adalah sistem kontrol versi kode sumber yang sangat populer. Jika Anda menggunakan Git di komputer Anda, Anda mungkin menggunakan file ".gitignore" untuk memberi tahu Git file mana yang harus diperhatikan, dan mana yang dapat diabaikan. Secara default, fd
menghormati pengaturan di file ".gitignore" Anda.
Di direktori ini, kami memiliki repositori Git dan file “.gitignore”. Kami mengetik berikut ini:
ls -adl .git*
Mari kita minta fd
untuk membuat daftar file apa pun yang berisi "coord" dalam nama file. Kami kemudian akan mengulangi pencarian dan menggunakan opsi -I
(tanpa abaikan). Ini memberitahu fd
untuk mengabaikan pengaturan di file ".gitignore" dan melaporkan setiap file yang cocok.
Untuk melakukan semua ini, kami mengetik yang berikut:
temukan koordinat
menemukan koordinat -I
Dua file tambahan di kumpulan hasil kedua adalah file objek. Ini dibuat ketika program file dikompilasi. Mereka kemudian digunakan oleh linker untuk membuat versi final program yang dapat dieksekusi.
File objek biasanya diabaikan oleh program kontrol versi kode sumber. Mereka dibuat ulang setiap kali Anda mengkompilasi program Anda, jadi Anda tidak perlu menyimpan salinannya. Ada entri dalam file ".gitignore" yang menginstruksikan Git untuk mengabaikan file objek, dan, secara default, fd
juga mengabaikannya.
Opsi -I
(tidak diabaikan) memaksa fd
untuk mengembalikan semua yang ditemukannya, alih-alih dipandu oleh file ".gitginore".
Jenis File dan Sensitivitas Huruf
Anda dapat meminta fd
untuk mencari direktori, file (termasuk yang dapat dieksekusi dan kosong), dan tautan simbolik. Anda dapat melakukannya dengan menggunakan opsi -t
(type), diikuti dengan salah satu huruf di bawah ini:
- f : Berkas.
- d : Direktori.
- l : Tautan simbolis.
- x : File yang dapat dieksekusi.
- e : File kosong.
Berikut ini mencari direktori yang disebut gambar:
fdfind -td gambar
Kecocokan ditemukan, satu subdirektori lebih rendah dari yang sekarang.
Mari kita lihat bagaimana sensitivitas huruf besar bekerja dengan pola pencarian. Kami mengetik berikut ini untuk pertama mencari file yang berisi "geo" dalam nama file mereka, dan kemudian untuk mereka yang berisi "Geo" dalam nama file mereka:
fdfind -tf geo
fdfind -tf Geo
Pada perintah pertama, kami menggunakan pola pencarian huruf kecil, yang menyebabkan fd
beroperasi dengan cara yang tidak peka huruf besar/kecil. Ini berarti "Geo" dan "geo" adalah kecocokan yang valid.
Perintah kedua kami berisi karakter huruf besar, yang menyebabkan fd
beroperasi dengan cara yang peka huruf besar/kecil. Ini berarti hanya "Geo" yang cocok.
Eksekusi Perintah
Perintah fd
memungkinkan Anda untuk meluncurkan perintah lain dan menjalankannya pada setiap file yang ditemukan.
Katakanlah kita tahu ada file Zip di suatu tempat di pohon direktori kode sumber kita. Kita dapat mencarinya menggunakan perintah berikut, yang mencari file dengan ekstensi ZIP:
fdfinf -e zip
Dengan opsi -x
(exec), Anda dapat meneruskan setiap file yang ditemukan ke perintah lain untuk diproses olehnya. Misalnya, kita bisa mengetikkan perintah berikut untuk memanggil utilitas unzip untuk membuka zip file ZIP kita ("{}" adalah placeholder yang mewakili file yang ditemukan):
fdfind -e zip -x unzip {}
Ini akan membuka zip file di direktori kerja saat ini. Jika kita ingin membuka ritsletingnya di direktori yang berisi file ZIP, kita dapat menggunakan salah satu placeholder berikut:
- {} : Jalur file lengkap dan nama file yang ditemukan.
- {/} : Nama file dari file yang ditemukan.
- {//} : Direktori yang berisi file yang ditemukan.
- {/.} : Nama file dari file yang ditemukan, tanpa ekstensi.
Agar file ZIP kita dapat ditemukan dan dibuka ritsletingnya di direktori yang berisi file tersebut, kita dapat menggunakan opsi unzip -d
(direktori), dan meneruskan placeholder direktori induk ( {//}
):
fdfind -e zip -x unzip {} -d {//}
File ZIP kemudian terletak dan di-unzip di direktori induknya.
Pencarian Anda?
Karena mencakup penggunaan yang paling umum dengan kesederhanaan seperti itu, fd
dapat dengan mudah menjadi perintah "temukan" Anda. Kapan pun Anda membutuhkan fitur yang lebih canggih, Anda selalu dapat kembali ke veteran berpengalaman itu, find
.
Perintah Linux | ||
File | tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · ketik · ganti nama · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · konversi · rclone · rusak · srm | |
Proses | alias · layar · atas · bagus · renice · kemajuan · strace · systemd · tmux · chsh · sejarah · di · batch · gratis · yang · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · batas waktu · dinding · ya · bunuh · tidur · sudo · su · waktu · groupadd · usermod · grup · lshw · shutdown · reboot · hentikan · matikan · passwd · lscpu · crontab · tanggal · bg · fg | |
Jaringan | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw |
TERKAIT: Laptop Linux Terbaik untuk Pengembang dan Penggemar