Төлем әдістері Abuse

Linux жүйесінде жаңа файлдарды қалай табуға болады

27.02.2021, 20:44

Операциялық жүйеде жақында жасалған, жаңа файлдарды көру қажет болатын жағдайлар жиі кездеседі. Бұл конфигурация файлын жасаған, содан кейін оның қайда сақталғанын ұмытып кеткен жүйелік әкімшіге жиі қажет. Сондай-ақ, жаңа файлдарды іздеу қажеттілігі туындауы мүмкін, себебі сіз файлдың жақында өзгертілгенін немесе өзгертілмегенін көруіңіз керек. Жалпы алғанда, жағдайлар өте әртүрлі болуы мүмкін. Linux операциялық жүйесінің артықшылығы - ол дәстүрлі түрде белгілі бір мәселені шешудің бірнеше жолдарын ұсынады.

Find утилитасын пайдалану

Linux жүйесінде жаңа файлдарды іздеудің ең оңай және кең тараған жолы - Find утилитасы. Ағымдағы қажеттіліктерге байланысты оған әртүрлі параметрлер беріледі, мысалы, файлдарды тек күнтізбелік айлардың немесе күндердің белгілі бір диапазонында іздеуге болады, біз мұны әрі қарай қалай жасауға болатынын егжей-тегжейлі қарастырамыз.

Файлдар каталогтар мен ішкі каталогтарға шығарылады және сұрыпталады:

 $ find /etc -type f -printf '%TY-%Tm-%Td %TT %p ' | sort –r

Каталогтар мен ішкі каталогтардағы файлдарды шығару,

Бірақ, көріп отырғанымыздай, нәтиже өте әсерлі, бүкіл тізімнен жаңа файлдарды тану мүмкін емес. Сондықтан басқа пәрменді пайдалану қажет:

 $ find /etc -type f -mmin -120 

Соңғы 60 минутта өзгертілген немесе жасалған файлдар

Осылайша, іздеу жүйеде тек соңғы сағатта жасалған файлдар үшін орындалуы керек екенін көрсетеміз.

Соңғы екі күнді қамту қажет болса, келесі пәрменді енгізіңіз:

 $ find /etc -type f -mtime -2 

Соңғы 2 күнде өзгертілген файлдар

Кейде үшінші деңгейдегі ішкі каталогтарға терең енудің қажеті жоқ, сондықтан бұл әрекетті болдырмау үшін арнайы maxdepth опциясын пайдалану керек:

 $ find /etc -maxdepth 3 -mtime -2 -type f

Біз Linux жүйесінде соңғы жеті күнде жасалған барлық жаңа файлдарды қарай аламыз, бірақ соңғы үш күнді есепке алмау керек:

 $ find /etc -type f -mtime -7 ! -mtime -3 

Соңғы 3 күнді алып тастаңыз

Бұл пәрмендер файлға жолды шығарады, бірақ атрибуттарды көру үшін --exec арнайы опциясын пайдалану қажет. Әрі қарай, ls утилитасының көмегімен әрбір жаңа файлдың атрибуттарын шығарамыз:

 $ find /etc -type f -mmin -120 -exec ls -al {} ; 

Жаңа файлдардың егжей-тегжейлі атрибуттарын көрсету

Егер бұл пәрмен сізге тым түсініксіз және күрделі болып көрінсе, басқасын пайдалануға болады:

 $ find /etc -type f -mmin -120 | xargs ls -l 

xargs утилитасы

Мұнда басқа утилита қолданылады – xargs . Find утилитасы белгілі бір файлға қарағанда жаңарақ файлдарды табуға мүмкіндік береді. Мысалы, анықтамалық файлды жасайық:

 $ touch /tmp/test

Енді түбірлік каталогта одан кейін жасалған барлық жаңа файлдарды табайық:

 $ find / -type f -newer /tmp/test

Басқа әдіске көшейік.

Біз LS қолданамыз

Жаңа файлдарды іздеудің бұл әдісі алдыңғыға қарағанда әлдеқайда қарапайым, сондықтан оны жаңадан Linux пайдаланушыларына қауіпсіз түрде ұсынуға болады. ls пәрмені каталогтағы файлдарды жасалған күні бойынша сұрыптай алады. Мұны істеу үшін бізге тек келесі әрекеттерді орындау керек:

 $ ls -ltr 

ls пәрмені каталогтағы файлдарды жасалған күні бойынша сұрыптай алады.

Файлдар тым көп болуы мүмкін, сондықтан келесі пәрменді орындау мағынасы бар:

 $ ls -ltr | tail

Мұнда жаңа файлдарды табудың барлық жолдары көрсетілмеген, бірақ аталған әдістер тапсырманы тез және тиімді шешуге жеткілікті. Көріп отырғаныңыздай, негізгі іздеу пәрмендері табады және ls сұрыптау утилиталары сұрыптауымен, сондай-ақ tail және grep сүзгілерімен үйлескенде көбірек икемділікке ие болады.