Често се дешавају ситуације када је потребно да видите недавно креиране, нове датотеке у оперативном систему. Ово је често потребно систем администратору који је креирао конфигурациону датотеку, а затим једноставно заборавио где је сачувана. Такође, потреба за претраживањем нових датотека може се јавити јер је потребно видети да ли је датотека недавно промењена или не. Генерално, ситуације могу бити веома различите. Предност оперативног система Linux је у томе што традиционално пружа неколико начина за решавање одређеног проблема.
Најлакши и најчешћи начин за претраживање нових датотека у Линуксу је услужни програм Find
. У зависности од тренутних потреба, њему се прослеђују различити параметри, на пример, можете претраживати датотеке само у одређеном распону календарских месеци или дана, детаљно ћемо размотрити како се то може даље урадити.
Датотеке се изводе у директоријуме и поддиректоријуме и сортирају:
$ find /etc -type f -printf '%TY-%Tm-%Td %TT %p ' | sort –r
Али, као што видимо, резултат је прилично импресиван, није могуће препознати нове датотеке са целе листе. Стога је потребно користити другу команду:
$ find /etc -type f -mmin -120
На овај начин одређујемо да се претрага у систему врши само за датотеке које су креиране у последњем сату.
Ако треба да покријете последња два дана, унесите следећу команду:
$ find /etc -type f -mtime -2
Понекад нема потребе за дубоким залажењем у поддиректоријуме трећег нивоа, па да бисмо искључили ову акцију, морамо да користимо посебну опцију maxdepth
:
$ find /etc -maxdepth 3 -mtime -2 -type f
Можемо погледати све нове датотеке креиране у Линук систему у последњих седам дана, али са изузетком да се последња три дана не узимају у обзир:
$ find /etc -type f -mtime -7 ! -mtime -3
Ове команде приказују путању до датотеке, али да бисте видели атрибуте, мораћете да користите посебну опцију --exec
. Затим, приказаћемо атрибуте сваке нове датотеке користећи услужни програм ls
:
$ find /etc -type f -mmin -120 -exec ls -al {} ;
Ако вам ова команда делује превише збуњујуће и компликовано, можете користити другу:
$ find /etc -type f -mmin -120 | xargs ls -l
Овде се користи још један услужни програм – xargs
. Услужни програм find вам такође омогућава да пронађете датотеке новије од одређене датотеке. На пример, хајде да креирамо референтну датотеку:
$ touch /tmp/test
Сада хајде да пронађемо све нове датотеке у коренском директоријуму које су креиране након њега:
$ find / -type f -newer /tmp/test
Пређимо на другу методу.
Ова метода претраживања нових датотека је много једноставнија од претходне, тако да се може безбедно препоручити почетницима у Линуксу. Команда ls
такође може сортирати датотеке у директоријуму по датуму креирања. Да бисмо то урадили, потребно је само да урадимо:
$ ls -ltr
Можда има превише датотека, па је логично покренути следећу команду:
$ ls -ltr | tail
Нису овде наведени сви начини за проналажење нових датотека, али наведене методе су сасвим довољне да се задатак брзо и ефикасно обави. Као што видите, основне команде за претрагу find и ls могу добити још већу флексибилност када се комбинују са алаткама за сортирање sort, као и филтрирањеm tail
и grep
.