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.