fd - കമാൻഡ് കണ്ടെത്തുന്നതിനുള്ള ലളിതവും വേഗതയേറിയതുമായ ബദൽ


മിക്ക ലിനക്സ് ഉപയോക്താക്കൾക്കും fd എന്ന് വിളിക്കുന്ന ഫൈൻഡ് കമാൻഡ് നന്നായി പരിചിതമാണ്.

fd എന്നത് ലളിതവും വേഗതയേറിയതും ഉപയോക്തൃ-സൗഹൃദവുമായ ഉപകരണമാണ്, ഇത് കണ്ടെത്തുന്നതിനേക്കാൾ വേഗത്തിൽ പ്രവർത്തിക്കാൻ ഉദ്ദേശിച്ചുള്ളതാണ്. ഇത് കണ്ടെത്തുന്നത് പൂർണ്ണമായും മാറ്റിസ്ഥാപിക്കാനല്ല, പകരം നിങ്ങൾക്ക് ഉപയോഗിക്കാൻ എളുപ്പമുള്ള ഒരു ബദൽ നൽകുന്നു, അത് അൽപ്പം വേഗത്തിൽ പ്രവർത്തിക്കുന്നു.

fd-യുടെ ശ്രദ്ധേയമായ ചില സവിശേഷതകൾ:

  • സിന്റക്സ് ഉപയോഗിക്കാൻ എളുപ്പമാണ് – fd *പാറ്റേൺ* കണ്ടെത്തുന്നതിന് പകരം -iname *pattern*.
  • വർണ്ണാഭമായ ഔട്ട്പുട്ട് ls കമാൻഡിലേതിന് സമാനമാണ്.
  • വേഗത്തിലുള്ള പ്രകടനം. ഡെവലപ്പറുടെ മാനദണ്ഡങ്ങൾ ഇവിടെ ലഭ്യമാണ്.
  • ഡിഫോൾട്ടായി കേസ്-ഇൻസെൻസിറ്റീവില്ലാത്ത സ്uമാർട്ട് സെർച്ച്, പാറ്റർ കണ്ടെയ്uനറുകൾ വലിയക്ഷര ചിഹ്നമാണെങ്കിൽ കേസ് സെൻസിറ്റീവിലേക്ക് മാറുന്നു.
  • ഡിഫോൾട്ടായി മറഞ്ഞിരിക്കുന്ന ഫയലുകളിലും ഡയറക്uടറികളിലും കാണുന്നില്ല.
  • ഡിഫോൾട്ടായി .gitignore-ലേക്ക് നോക്കുന്നില്ല.
  • യൂണികോഡ് അവബോധം.

ലിനക്സിൽ fd എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം

കാണിച്ചിരിക്കുന്നതുപോലെ ഡിഫോൾട്ട് പാക്കേജ് മാനേജർ ഉപയോഗിച്ച് വ്യത്യസ്ത ലിനക്സ് വിതരണങ്ങളിൽ fd എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം എന്ന് നോക്കാൻ പോകുന്നു.

$ 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]    

ലിനക്സിൽ fd എങ്ങനെ ഉപയോഗിക്കാം

ഫൈൻഡ് കമാൻഡിന് സമാനമായി, fd-ന് നിരവധി ഉപയോഗ കേസുകൾ ഉണ്ട്, എന്നാൽ ലഭ്യമായ ഓപ്ഷനുകൾ പരിശോധിച്ച് നമുക്ക് ആരംഭിക്കാം:

# fd -h
OR
# fd --help

നമുക്ക് കുറച്ച് ഉദാഹരണങ്ങൾ നോക്കാം. ആർഗ്യുമെന്റുകളൊന്നുമില്ലാതെ നിങ്ങൾക്ക് fd പ്രവർത്തിപ്പിക്കാൻ കഴിയും, ഔട്ട്പുട്ട് ls -R കമാൻഡുമായി വളരെ സാമ്യമുള്ളതാണ്.

# fd

അടുത്ത fd ഉദാഹരണങ്ങളിൽ, വ്യത്യസ്ത ഫയലുകൾക്കും ഫോൾഡറുകൾക്കുമായി ഞാൻ സ്ഥിരസ്ഥിതി തിരയൽ ഉപയോഗിക്കും.

ചുവടെയുള്ള ഉദാഹരണത്തിൽ, കമാൻഡിന്റെ ഹ്രസ്വ ഔട്ട്പുട്ടിനായി ഞാൻ ആദ്യത്തെ 10 ഫലങ്ങൾ മാത്രമാണ് എടുത്തത്.

# fd | head

എല്ലാ jpg ഫയലുകളും കണ്ടെത്താൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നുവെന്ന് പറയാം. ഫയൽ എക്സ്റ്റൻഷൻ പ്രകാരം ഫിൽട്ടർ ചെയ്യാൻ നമുക്ക് \-e” ഫ്ലാഗ് ഉപയോഗിക്കാം:

# fd -e jpg

\-e” ഫ്ലാഗ് ഇതുപോലുള്ള ഒരു പാറ്റേണുമായി സംയോജിപ്പിച്ച് ഉപയോഗിക്കാം:

# fd -e php index

മുകളിലുള്ള കമാൻഡ് php വിപുലീകരണമുള്ള ഫയലുകൾക്കായി തിരയുകയും അവയിൽ \ഇൻഡക്സ് എന്ന സ്ട്രിംഗ് ഉണ്ടായിരിക്കുകയും ചെയ്യും:

നിങ്ങൾക്ക് ചില ഫലങ്ങൾ ഒഴിവാക്കണമെങ്കിൽ, നിങ്ങൾക്ക് \-E” ഫ്ലാഗ് ഇതുപോലെ ഉപയോഗിക്കാം:

# fd -e php index -E wp-content

ഈ കമാൻഡ് php എക്സ്റ്റൻഷനുള്ള എല്ലാ ഫയലുകൾക്കും വേണ്ടി തിരയുകയും \ഇൻഡക്സ് എന്ന സ്ട്രിംഗ് അടങ്ങിയിരിക്കുകയും \wp-content ഡയറക്ടറിയിൽ നിന്നുള്ള ഫലങ്ങൾ ഒഴിവാക്കുകയും ചെയ്യും.

നിങ്ങൾക്ക് ഒരു തിരയൽ ഡയറക്ടറി വ്യക്തമാക്കണമെങ്കിൽ, നിങ്ങൾ അത് ഒരു ആർഗ്യുമെന്റായി നൽകേണ്ടതുണ്ട്:

# fd <pattery> <directory>

കണ്ടെത്തുന്നതുപോലെ, തിരയൽ ഫലങ്ങളോടൊപ്പം സമാന്തര കമാൻഡ് എക്സിക്യൂഷൻ നടത്താൻ നിങ്ങൾക്ക് -x അല്ലെങ്കിൽ --exec ആർഗ്യുമെന്റുകൾ ഉപയോഗിക്കാം.

ഇമേജ് ഫയലുകളുടെ അനുമതികൾ മാറ്റാൻ chmod ഉപയോഗിക്കുന്നതിനുള്ള ഒരു ഉദാഹരണം ഇതാ

# fd -e jpg -x chmod 644 {}

മുകളിൽ പറഞ്ഞവ jpg വിപുലീകരണമുള്ള എല്ലാ ഫയലുകളും കണ്ടെത്തുകയും chmod 644 പ്രവർത്തിപ്പിക്കുകയും ചെയ്യും.

ബ്രാക്കറ്റുകളുടെ ഉപയോഗപ്രദമായ ചില വിശദീകരണങ്ങളും ഉപയോഗവും ഇതാ:

  • {} – തിരയൽ ഫലത്തിന്റെ പാതയിൽ മാറ്റം വരുത്തുന്ന ഒരു പ്ലെയ്uസ്uഹോൾഡർ (wp-content/uploads/01.jpg).
  • {.}{} എന്നതിന് സമാനമാണ്, എന്നാൽ ഫയൽ എക്സ്റ്റൻഷൻ ഉപയോഗിക്കാതെ (wp-content/uploads/01).
  • {/}: തിരയൽ ഫലത്തിന്റെ അടിസ്ഥാനനാമം (01.jpg) ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുന്ന ഒരു പ്ലെയ്uസ്uഹോൾഡർ.
  • {//}: കണ്ടെത്തിയ പാതയുടെ പാരന്റ് ഡയറക്uടറി (wp-content/uploads).
  • {/.}: വിപുലീകരണമില്ലാതെ അടിസ്ഥാനനാമം മാത്രം (01).

ചില ഉപയോക്താക്കൾക്ക് ഉപയോഗിക്കാൻ എളുപ്പവും വേഗമേറിയതും ആയ fd കമാൻഡിന്റെ ഒരു ഹ്രസ്വ അവലോകനമായിരുന്നു ഇത്. ഈ ലേഖനത്തിൽ നേരത്തെ സൂചിപ്പിച്ചതുപോലെ fd എന്നത് കണ്ടെത്തൽ പൂർണ്ണമായും മാറ്റിസ്ഥാപിക്കാനല്ല, മറിച്ച് ലളിതമായ ഉപയോഗവും എളുപ്പമുള്ള തിരയലും മികച്ച പ്രകടനവും നൽകുന്നു. Fd കൂടുതൽ ഇടം എടുക്കുന്നില്ല, നിങ്ങളുടെ ആയുധപ്പുരയിൽ ഉണ്ടായിരിക്കുന്നതിനുള്ള നല്ലൊരു ഉപകരണമാണിത്.