Prezantimi
ku është
lokalizoj
e cila
lloji
Gjej
Prezantimi
Ka pesë komanda fotografi në kërkim në Linux: whereis, locate, which, type, dhe find. Secili prej tyre ka karakteristikat e veta dhe është krijuar për skenarë të veçantë kërkimi. Ky udhëzues do t'ju prezantojë me secilën komandë dhe do t'ju tregojë shembuj të përdorimit. Për lexim të mëtejshëm të ndonjë prej këtyre komandave, është më mirë të rishikoni faqen e duhur të menaxhimit.
whereis
whereisKomandë përdoret për të kërkuar fotografi binar, kod burim, dhe faqet në internet manual në disa standarde të instaluar directories për ndonjë emër të programit të caktuar.
Për shkak whereisse nuk kërkon çdo vendndodhje në sistemin tuaj, asnjë skedar nga këto drejtori specifike nuk do të gjendet. Për të njëjtën arsye, ju do të merrni shpejt rezultatin e kërkimit, pavarësisht nëse është gjetur apo jo.
Gjithashtu, ai nuk do të kërkojë për ato komanda që janë të integruara direkt në guaskë.
Për shembull, nëse doni të gjeni informacione rreth lskomandës, ekzekutoni komandën e mëposhtme në terminalin tuaj:
whereis ls
Do të merrni disa komente si:
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
Si rezultat, /bin/lsështë binari që dëshironi të gjeni, dy të tjerët janë faqet e menaxhimit të lsprogramit, nuk lsu gjet asnjë kod burimor për programin.
Kopjojeni /bin/lsskedarin në direktorinë tuaj kryesore dhe në /usr/bindrejtori, dhe më pas ekzekutoni whereispërsëri komandën:
cp /bin/ls ~
cp /bin/ls /usr/bin/ls
whereis ls
Siç e shihni, vetëm /bin/lsdhe /usr/bin/lsu gjetën në rezultatin e kërkimit. lsProgram në directory tuaj në shtëpi nuk u gjet më, sepse directory shtëpinë tuaj nuk është një nga ato standarde instaluar directories.
ls: /bin/ls /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
Nëse ekzekutoni komandën e mëposhtme:
whereis cd
Do të shihni dalje të ngjashme me linjën më poshtë. Nuk u zbulua asnjë skedar binar sepse cdështë një komandë e integruar e guaskës.
cd: /usr/share/man/man1/cd.1.gz /usr/share/man/man1p/cd.1p.gz
locate
locateKomandë përdoret për të gjetur fotografi me emër me ndihmën e një bazë të dhënash ( /var/lib/mlocate/mlocate.db). Kjo bazë të dhënash është në thelb një fotografi e paraqitjes së sistemit tuaj të skedarëve. Çdo regjistrim në këtë bazë të dhënash që përputhet me pyetjen tuaj do të renditet në rezultatin e kërkimit. Si parazgjedhje, locatekomanda do të përdorë pyetjen tuaj për të përputhur çdo pjesë të emrit të plotë të çdo rekord, duke përfshirë emrin e shtegut. Prandaj, numri i skedarëve të përputhur në rezultatin e kërkimit mund të jetë më i madh se sa prisnit.
Ndërsa baza e të dhënave bëhet e vjetëruar, rezultati i kërkimit të locatekomandës bëhet më pak i saktë. Mund të vëreni skedarë që nuk ekzistojnë më ose nuk do të shihni përputhje për skedarët e sapokrijuar. Si parazgjedhje, mlocate.dbbaza e të dhënave përditësohet automatikisht një herë në ditë. Ju mund të përdorni updatedbkomandën për ta përditësuar manualisht.
Për shkak se kërkimi kryhet në bazën e të dhënave në vend të sistemit të skedarëve, shpejtësia e kërkimit është shumë e shpejtë.
Nëse ekzekutoni komandën e mëposhtme:
locate ls
Do të merrni shumë rekorde në vend të rezultatit tuaj të pritshëm.
Për ta bërë rezultatin e kërkimit më të saktë, mund të përdorni -bflamurin për të kufizuar gamën e kërkimit, duke përdorur pyetjen tuaj për të përputhur vetëm emrin bazë të çdo rekord:
locate -b "\ls"
Këtë herë, do të merrni vendndodhjen e secilit skedar të thirrur saktësisht lsnë sistemin tuaj të skedarëve:
/bin/ls
which
whichKomanda do të kërkojë për komandën ju specifikuar në vlerën e variablit mjedisit PATHdhe të kthejë rezultatin e parë nga default. Nëse po kërkoni një pseudonim, whichkomanda do të përcaktojë komandën aktuale për pseudonimin përpara se të kryeni kërkimin tuaj.
whichKomanda është gjithashtu shumë të shpejtë për shkak të thjeshtësisë së tij.
Përdorimi i whichkomandës është i thjeshtë:
which your_command
Nëse dëshironi të shfaqni të gjitha komandat e përputhura në vend të të parës, përdorni -aflamurin:
which -a your_command
Këtu është një shembull për kërkimin e një komande që është quajtur ndryshe:
which ll
Rezultati i kërkimit do të ishte:
alias ll='ls -l --color=auto'
/bin/ls
type
Si parazgjedhje, typekomanda do të tregojë se si do të interpretohet emri i komandës. Rezultatet e mundshme përfshijnë një pseudonim, një fjalë kyçe, një funksion, një skedar të integruar ose një skedar. Ashtu si whereiskomanda, typekomanda do të kërkojë vetëm në disa drejtori standarde të instalimit për t'iu përgjigjur pyetjes suaj.
Disa shembuj për të shtypur komanda të ndryshme:
Një komandë e ndërtuar në guaskë:
type cd
cd is a shell builtin
Një skedar binar në sistemin e skedarëve:
type sudo
sudo is /usr/bin/sudo
Një pseudonim:
type ls
ls is aliased to `ls --color=auto'
find
Ndër pesë komandat e kërkimit të skedarëve të paraqitur në këtë tutorial, findkomanda është më e fuqishme. Është gjithashtu më e ngadalta. Ndryshe nga katër komandat e tjera, findkomanda në të vërtetë do të kërkojë skedarin tuaj në të gjithë sistemin e skedarëve, një i-node nga një i-node. Me findkomandën, mund të përdorni kritere të sofistikuara të kërkimit për të gjetur çdo skedar që ju nevojitet, madje edhe të ekzekutoni veprime në skedarët që u gjetën.
Kriteret e kërkimit për findkomandën janë shumë të sofistikuara për t'u shpjeguar në një artikull kaq të shkurtër, këtu janë disa shembuj.
Formati bazë i findkomandës:
find [path] [option] [action]
Për të gjetur të gjithë skedarët në drejtorinë e punës dhe të gjitha nëndrejtoritë e saj:
find
Për të gjetur një skedar të thirrur aaanë direktorinë tuaj kryesore dhe të gjitha nëndrejtoritë e tij:
find ~ -name 'aaa'
Për të gjetur të gjithë skedarët në sistemin e skedarëve që janë modifikuar në 24 orët e fundit:
find / -mtime 0
Për të gjetur të gjithë skedarët në drejtorinë e uebit dhe të gjitha nëndrejtoritë e saj që i përkasin përdoruesit nginx:
find /usr/share/nginx/html/ -user nginx
Për të gjetur të gjithë skedarët në drejtorinë e punës, lejet e të cilëve janë 0744:
find -perm -0744
Për të gjetur një skedar me emrin aaanë drejtorinë e punës dhe për të renditur informacionin e detajuar të tij:
find -name 'aaa' -exec ls -l {} \;