Cara Menggunakan Perintah fd di Linux

Diterbitkan: 2022-01-29
Jendela terminal pada PC Linux dengan desktop bergaya Ubuntu.
Fatmawati Achmad Zaenuri/Shutterstock

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.

10 Perintah Dasar Linux untuk Pemula
TERKAIT 10 Perintah Dasar Linux untuk Pemula

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 

Iklan

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.

Iklan

Untuk melihat file dari jenis tertentu, gunakan opsi -e (ekstensi). Perhatikan bahwa Anda tidak harus mendahului ekstensi dengan titik (.), juga tidak peka huruf besar-kecil.

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.

Iklan

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 

Iklan

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 

Iklan

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 .

TERKAIT: Laptop Linux Terbaik untuk Pengembang dan Penggemar