Најпопуларнији управитељи датотека за оперативне системе на Линук кернелу имају прилично функционалан алат за претраживање. Међутим, параметри који нису увек присутни у њему су довољни да корисник пронађе потребне информације. У овом случају, спашава се стандардни услужни програм који пролази кроз терминал . Омогућава вам да лако пронађете тражене податке у одређеном директорију или у читавом систему уносом наредбе, аргумента и опције.
Садржај
Наредба финд је дизајнирана за тражење различитих објеката, укључујући датотеке свих формата и директорија различитих дубина. Кориснику је само потребно да унесе саму команду, одреди жељену вредност и додели аргументе за подешавање параметара филтрирања. Извођење процедуре од стране самог услужног програма обично не одузима много времена, али такође зависи од количине скенираних информација. Погледајмо сада примјере кориштења финд-а детаљније.
За почетак, желео бих се мало повући из главног тима и дотакнути тему додатних акција које ће убудуће помоћи при управљању из конзоле. Чињеница је да услужни програми у Линук дистрибуцијама нису изоштрени претраживањем свих ставки на рачунару. Све процесе треба покренути само са пуним положајем елемената или прећи на локацију преко цд команде . То се може урадити врло једноставно:
cd /home/user/folder
напишите команду cd /home/user/folder
, где је корисник име корисничке мапе и директоријум је име траженог директоријума. Ако, пре него што употребите финд , извршите горе наведена упутства, можете да изоставите пуну путању до датотеке, под условом да је она на изабраној локацији. Такво рјешење ће значајно убрзати наредбе за унос података у будућности.
Када покренете find
са конзоле коју сте управо покренули, добићете резултат претраге у вашем хоме директоријуму активног корисника. У другом случају, на пример, када активирате током претраге по локацији, у резултатима ћете видети све поддиректоријуме и датотеке овог места присутне у њима.
Активирање проналажења без аргумената и опција се користи када је потребно прегледати све ставке одједном. Ако се њихово име не уклапа потпуно у стрингове, вреди променити команду тако да пронађе форму find . -print
find . -print
.
Наредба за приказивање датотека кроз задату путању је готово иста као и она коју смо горе споменули. Такође треба да наведете find
, а затим додате ./folder
ако желите да сазнате више о директоријуму на тренутној локацији, или ћете морати да наведете пуну путању тако што ћете, на пример, find ./home/user/downloads/folder
фолдер , где је фолдер енд дирецтори Сваки елемент ће бити приказан у одвојеним редовима редоследом њихове дубине.
Понекад постоји потреба да се прикажу само објекти који задовољавају име. Затим корисник треба да подеси посебну опцију за команду, тако да разуме жалбу. Линија улаза има облик: find .
-наме "ворд", гдје је ријеч кључна ријеч за претраживање, која мора бити написана у двоструким наводницима и осјетљивим на велика слова за сваки знак.
Ако не знате тачан случај сваког слова, или желите да прикажете сва одговарајућа имена, без узимања у обзир овог параметра, унесите find . -iname "word"
у конзолу find . -iname "word"
find . -iname "word"
.
Да бисте филтрирали резултате по кључној ријечи, још један се додаје аргументу -наме . Команда преузима форму find . -not -name "word"
find . -not -name "word"
, гдје је ријеч ријеч која се брише.
Ипак, понекад постоји потреба за проналажењем објеката једним кључем, а искључивање другог. Затим се редом додељују неколико опција претраге, а улазна линија је следећа: find . -name "word" -not name "*.txt"
find . -name "word" -not name "*.txt"
. Напомињемо да други аргумент у наводницима означава " * .ткт" , што значи да проналази радове не само са именима, већ и са форматима датотека који су наведени у овом обрасцу.
Ту је и оператер ОР . Омогућава вам да пронађете један или више прикладних аргумената одједном. Сваки од њих је специфициран одвојено, са додатком одговарајућих аргумената. Резултат је нешто слично овоме: find -name "word" -o -name "word1"
.
Наредба финд ће помоћи кориснику чак и када му је потребно да пронађе садржај директоријума само до одређене дубине, на пример, анализа није потребна унутар треће подмапе. Да бисте поставили ова ограничења, унесите find . -maxdepth N -name "word"
find . -maxdepth N -name "word"
, где је Н максимална дубина, и -наме "ворд" је било који каснији аргумент.
У многим директоријумима постоји неколико фолдера са различитим садржајима. Ако их има велики број, а претраживање се мора обавити само у одређеним, онда ћете то морати да наведете приликом уноса find ./folder ./folder1 -type f -name "word"
, где је ./фолдер ./фолдер1 листа одговарајућих директоријума, и -наме "ворд" - преостали аргументи.
Без одговарајућег аргумента, скривени објекти у скенираним директоријумима неће бити приказани у конзоли. Стога корисник ручно уноси додатну опцију да би завршио наредбом: find ~ -type f -name ".*"
. Добит ћете комплетну листу свих датотека, али ако неке од њих нису доступне, упишите sudo
у ред прије него што ријеч пронађе да бисте активирали права суперкорисника.
Сваки корисник може креирати неограничен број директоријума и објеката на различитим локацијама. Најбржи начин да пронађете информације које припадају једном од корисника, користећи наредбу финд и један од његових аргумената. На листи "Терминал" find . -user username
find . -user username
, где је корисничко име корисничко име. Након уношења скенирање ће се аутоматски покренути.
Приближно иста шема ради са корисничким групама. Анализа датотека повезаних са једном од група се find /var/www -group groupname
преко find /var/www -group groupname
. Не заборавите да постоји велики број објеката и понекад је потребно много времена да се све то изведе.
Оперативни систем аутоматски спрема датум промене сваког постојећег фајла. Наредба финд омогућава вам да све њих пронађете по наведеном параметру. Потребно је само да региструјете sudo find / -mtime N
, где је Н број дана када је објекат последњи пут модификован. Префикс судо овде је потребан да би се добили подаци о фајловима који су намењени само за суперкорисника.
Ако сте заинтересовани за гледање ставки које су последњи пут отворене пре одређеног броја дана, онда линија мало мења свој изглед у sudo find / -atime N
Сваки објекат има своју величину, односно, наредба за претраживање датотека мора имати функцију која вам омогућава да их филтрирате по овом параметру. финд је у стању да то уради, корисник само треба да постави величину аргументом. Једноставно унесите find / -size N
, где је Н запремина у бајтовима, мегабајтима (М) или гигабајтима (Г).
Можете одредити опсег жељених ставки. Онда се квалификатори уклапају у команду и добијате, на пример, следећу линију: find / -size +500M -size -1000M
. Ова анализа ће приказати датотеке веће од 500 мегабајта, али мање од 1000.
Неке датотеке или фасцикле су празне. Они само заузимају додатни простор на диску и понекад ометају нормалну интеракцију са рачунаром. Требало би их пронаћи како би се одлучило о даљим акцијама, а find /folder -type f -empty
ће помоћи у томе, гдје / фолдер је мјесто гдје се изводи скенирање.
У међувремену, укратко бих желио споменути друге корисне аргументе који с времена на вријеме постају корисни за корисника:
-mount
- ограничење само на тренутни систем датотека; -type f
- приказ само датотека; -type d
- приказ само директоријума; -nogroup
, -nouser
- тражи датотеке које не припадају ниједној групи или не припадају кориснику; -version
- сазнајте верзију услужног програма који се користи. На овом познавању команде финд је комплетно. Ако желите да детаљно проучите друге стандардне алатке конзоле за оперативне системе на Линук кернелу, саветујемо вам да погледате наш одвојени материјал на следећем линку.
Више детаља: Често коришћене команде у Линук терминалу
Након тражења потребних информација, можете извршити било које друге радње са њима, на примјер, уређивање, брисање или проучавање садржаја. Ово ће помоћи другим уграђеним услужним програмима "Терминал" . Примери њихове употребе налазе се у наставку.