Paano Maghanap ng File Ayon sa Pangalan sa Linux

Hanapin ang iyong mga file nang walang kahirap-hirap mula sa command line sa Linux

Karaniwang sinusubukan ng mga user na maghanap ng file gamit ang GUI. Gayunpaman, kung minsan ito ay nagiging isang napaka nakakapagod na trabaho upang makahanap ng isang indibidwal na file sa malaking pile ng mga file sa iyong system. Ang paghahanap nito sa kumbensyon ay maaaring isang gawaing nakakaubos ng oras. Upang gawing mas madali ang gawaing ito, nag-aalok ang Linux ng ilang partikular na utos para gawin ang trabahong ito para sa iyo.

hanapin ay isang sikat na command na ginagamit sa mga Linux system na makakatulong sa iyong maghanap ng iba't ibang file batay sa kanilang mga pangalan, uri, extension, pahintulot, may-ari, atbp.

Sa tutorial na ito, pagtutuunan natin ng pansin ang paghahanap ng mga file ayon sa pangalan. Titingnan natin ang iba't ibang mga argumento na maaaring gamitin sa hanapin utos. Malalaman din natin ang tungkol sa hanapin command na isa ring mas mabilis na paraan upang maghanap ng mga file ayon sa pangalan.

Syntax para sa hanapin utos

Gamit ang hanapin utos sa wastong paraan ay maaaring gawing mas madali ang iyong gawain. Ang paghahanap ng mga file ng partikular na uri o extension o paghahanap sa pamamagitan ng pangalan ay magiging posible kung naiintindihan mong mabuti ang pangkalahatang syntax ng command na ito.

Ang pangkalahatang syntax para sa hanapin ang utos ay ang mga sumusunod.

hanapin ang [search_path] [expression] [mga opsyon] [find_what]

Sinubukan kong gawing simple ang syntax ng hanapin utos upang mas maunawaan ang utos.

Tingnan natin ang bawat katangian ng syntax upang makakuha ng ideya sa kahalagahan ng bawat isa sa kanila.

Search_Path: Narito ang landas kung saan tinukoy namin ang landas kung saan namin gustong simulan ng system ang paghahanap para sa file. Sa madaling salita, ang panimulang direktoryo upang simulan ang paghahanap ay tinukoy.

Pagpapahayag: Maaari mong tukuyin ang mga pattern ng paghahanap para sa partikular na file na iyong hinahanap.

Mga pagpipilian: Maaari mong gamitin ang mga magagamit na opsyon na ginamit kasama ng hanapin utos sa puwang na ito.

Hanapin ang ano: Sa attribute na ito, ilagay ang pangalan o bahagi ng pangalan ng file na hahanapin.

Ilarawan natin ang utos na ito sa isang halimbawa.

hanapin /home/gaurav/workspace -name "source.c"

Sa utos na ito, ginagamit ko ang hanapin command para maghanap ng file na “source.c”. Partikular kong hiniling na maghanap sa '/home/gaurav/workspace' na landas. Gamit ang -pangalan pinapayagan ako ng opsyon na maghanap sa file na tinukoy ng 'source.c'.

Ito ang pinakasimpleng pagpapakita para sa paggamit ng hanapin utos.

Paghahanap ng mga file sa kasalukuyang direktoryo

Gamit ang hanapin Ang utos sa pinakasimpleng anyo nito ay ang paghahanap para sa iyong mga file sa iyong kasalukuyang gumaganang direktoryo.

hanapin ang .

Ipapakita ng command na ito ang lahat ng mga file sa iyong kasalukuyang gumaganang direktoryo. Dito ang '.Ang ibig sabihin ng 'kasalukuyang gumaganang direktoryo'. Ang sumusunod ay ang output mula sa aking kasalukuyang gumaganang direktoryo. Ang lahat ng mga file na nasa direktoryo na ito ay nakalista nang walang anumang mga filter

Output:

. ./context_log.policy ./snap ./snap/couchdb ./snap/couchdb/current ./snap/eclipse ./snap/eclipse/current ./snap/vim-editor ./snap/vim-editor/current ./ snap/vim-editor/common ./snap/vim-editor/1 ./snap/htop ./snap/htop/current ./snap/htop/common ./snap/htop/common/.local ./snap/htop /common/.local/lib ./snap/htop/common/.local/lib/locale ./snap/htop/common/.local/lib/locale/en_IN.UTF-8 ./snap/htop/common/. local/lib/locale/en_IN.UTF-8/LC_CTYPE

Upang maghanap ng file na kilala ang tinatayang pangalan, gamitin ang hanapin utos tulad ng ipinapakita sa ibaba.

hanapin ang . -pangalan [string_from_filename\*]

Halimbawa:

hanapin ang . -konteksto ng pangalan\*

Hinahanap ng command na ito ang mga file na naglalaman ng string na 'konteksto' dito.

Output:

./context_log.policy ./context.xml ./context_preview.c

Ang lahat ng mga file sa kasalukuyang direktoryo ay nakalista na naglalaman ng string na 'konteksto' sa loob nito.

Ngayon ang problema ay lumitaw sa utos na ito kapag sinubukan mong kunin ang kalayaan tungkol sa pagiging sensitibo ng kaso habang nagta-type sa filename o ang tinatayang string.

Ang Linux ay medyo maingat tungkol sa case-sensitivity at samakatuwid, mayroong isang magandang pagkakataon na ang iyong paghahanap ay maaaring mabigo. Hindi ako makakakuha ng output para sa find command kung gagamitin ko ang string bilang 'CONTEXT' sa halip na 'context'. Kahit na ang isang titik sa filename ay nasa ibang kaso kaysa sa orihinal na filename noon, ang paghahanap ay mabibigo.

Ngunit hindi na kailangang mag-alala tungkol dito. Maaari mo lamang palitan ang -pangalan opsyon kasama ang -iname. Ito ay nagpapahintulot sa iyo na maghanap para sa mga file anuman ang mga kaso kung saan ang kanilang pangalan ay. Gawin lamang itong simpleng pagbabago sa iyong utos at magiging maayos ka.

hanapin ang . -iname CONT\*

Magiging pareho ang output, kahit na ginamit ko ang string sa upper case.

./context_log.policy ./context.xml ./context_preview.c

Paghahanap ng mga file sa iba't ibang mga direktoryo

Madali mong mahahanap ang mga file sa anumang direktoryo sa Linux system anuman ang direktoryo kung saan ka kasalukuyang nagtatrabaho.

hanapin ang [directory_path] -iname [specific_filename]

Halimbawa:

hanapin /home/gaurav/tomcat -iname ath.html

Dito, naghanap ako ng isang partikular na file na 'ath.html' at hindi para sa mga katulad na file sa string na ito. Kaya ang output ay magiging partikular na file lamang tulad ng nabanggit sa itaas.

/home/gaurav/tomcat/ath.html

Ngayon, ipagpalagay na hindi namin alam ang kumpletong filename ngunit ang string lamang ng pangalan ng file na ito. Pagkatapos ay maaari naming hanapin ang mga file sa sumusunod na paraan.

hanapin /home/gaurav/tomcat -iname ath\*

Ang utos na ito ay hahanapin ang lahat ng mga file na kasama ang string na 'ath' dito sa simula. Ginamit ko ang -iname opsyon dito, kaya hindi ko kailangang mag-alala tungkol sa pagiging sensitibo ng kaso.

Output:

/home/gaurav/tomcat/ATHENIAN_ART.html /home/gaurav/tomcat/ath_things.html /home/gaurav/tomcat/ath.html /home/gaurav/tomcat/ATHENIAN_ART.pdf /home/gaurav/tomcat/ATHHHHhow.html

Maaari mo ring gamitin ang command upang maghanap ng maramihang mga file na nagtatapos sa isang katulad na extension sa kanilang pangalan.

Halimbawa:

hanapin /home/gaurav/tomcat -iname "*.c"

Hahanapin ng command ang lahat ng file sa tinukoy na direktoryo na naglalaman ng .c bilang extension sa kanilang filename.

Output:

/home/gaurav/tomcat/stiil.c /home/gaurav/tomcat/project/temp.c /home/gaurav/tomcat/copy.c /home/gaurav/tomcat/gy.c

Natutunan namin ang tungkol sa hanapin command upang hanapin ang mga file na tinukoy ng pangalan ng file. Ngayon, tuklasin natin ang isa pang utos na mas mabilis kaysa sa karaniwan hanapin utos.

hanapin pangkalahatang-ideya ng command

May isa pang command para maghanap ng mga file sa iyong system na mas mabilis kaysa sa hanapin utos. Ito ay ang hanapin utos. Ang utos na ito ay hindi paunang naka-install sa mga pamamahagi ng Linux. Maaari mong gamitin ang mga sumusunod na hakbang upang i-download at i-install ang hanapin command package sa iyong system.

Para sa mga sistema ng Ubuntu at Debian, gamitin ang:

sudo apt update sudo apt install mlocate

Para sa mga Cent Os at Fedora system, gamitin ang:

sudo yum i-install ang mlocate

Ang locate command ay naghahanap ng file ayon sa ibinigay na pattern sa input. hanapin gumagamit ng database file upang maghanap ng mga file, ang database file na ito ay nabuo ng na-updateb utos.

sudo updatedb

Ang oras na kinuha upang i-update ang database file na ito ay maaaring mag-iba sa bawat user depende sa mga file sa iyong system.

Gamit ang hanapin utos

Maaari mong gamitin ang hanapin utos sa sumusunod na paraan. Tiyaking i-update ang iyong database file gamit ang command sudo updatedb.

Syntax:

hanapin ang [filename_or_part_of_filename]

Ang utos na ito ay magsisimula sa paghahanap mula sa root directory. Ibabalik nito ang listahan ng lahat ng mga file sa system na naglalaman ng pangalan ng file o isang bahagi ng pangalan ng file tulad ng tinukoy sa command.

Halimbawa:

hanapin ang kopya.c

Output:

/home/gaurav/Downloads/git-2.23.0/copy.c /snap/core/9804/usr/lib/python3.5/__pycache__/copy.cpython-35.pyc /snap/core/9993/usr/lib /python3.5/__pycache__/copy.cpython-35.pyc /snap/core18/1880/usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /snap/core18/1885/usr/lib/python3 .6/__pycache__/copy.cpython-36.pyc /snap/core20/634/usr/lib/python3.8/__pycache__/copy.cpython-38.pyc /usr/lib/python3.5/__pycache__/copy.cpython -35.pyc /usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /usr/share/icons/MacBuntu-OS/apps/128/copy.com.png

Ang naka-highlight na linya ay nagpapakita na ang eksaktong file na 'copy.c' ay natagpuan. Kasama ng resultang ito, ipinapakita din ang ilang partikular na file na naglalaman ng 'copy.c' bilang bahagi ng kanilang filename.

Upang maiwasan ang kalat ng iba pang hindi gustong mga file at mahanap lamang ang nais na file, maaari mong gamitin ang locate command sa sumusunod na paraan.

hanapin -b '\filename'

Halimbawa:

hanapin -b '\copy.c'

Output:

/home/gaurav/Downloads/git-2.23.0/copy.c

Ang partikular na file na binanggit sa pamantayan sa paghahanap ay nakalista kasama ang landas ng direktoryo kung saan ito matatagpuan.

Gamit ang hanapin Ang command ay maaaring mukhang medyo nakakalito, ngunit ito ay isang mas mabilis na paraan upang maghanap ng mga file kapag hindi mo alam ang eksaktong lokasyon ng file na iyon. Ang pagkuha ng mga file ay nagiging napakabilis kapag na-update mo ang database file na ginagamit ng locate command.

Konklusyon

Sa maikling tutorial na ito, natutunan namin ang tungkol sa dalawang mahahalagang utos, hanapin at hanapin. Ngayon ay madali kang makakahanap ng mga file sa iyong system nang hindi nawawala sa stack ng mga file. Ang paggamit ng mga utos na ito ay tiyak na magpapatunay ng pagtitipid sa oras at mahusay para sa iyong gawain para sa paghahanap ng mga file.