Ինչպես որոնել ֆայլեր տերմինալից Linux-ում


Այս էջում

  1. Օգտագործեք Locate հրամանը
  2. Օգտագործեք Գտնել հրամանը

Թեև կան բազմաթիվ եղանակներ, որոնցով մենք կարող ենք որոնել և տեղորոշել ֆայլերն ու գրացուցակները Linux-ում, ամենահեշտն ու արագը հավանաբար տերմինալի միջոցով է: Այնուամենայնիվ, Linux-ի ոչ շատ օգտվողներ գիտեն այդ մասին, ինչը հանգեցնում է անհարկի հիասթափության: Ահա արագ ուղեցույց, որը հուսով ենք կօգնի ձեզ գտնել այն, ինչ փնտրում եք ձեր համակարգում: Այստեղ մենք կանդրադառնանք երկու տարբեր որոնման ծրագրերի: Locate հրամանը, որն օգտագործում է տվյալների բազան որոնումները արագացնելու համար, և find հրամանը, որն ուղղակիորեն կատարում է որոնման գործողությունը ֆայլային համակարգի վրա:

Օգտագործեք Locate հրամանը

«տեղորոշել» հրամանը առաջին միջոցն է, որը Linux-ի օգտվողը պետք է օգտագործի, քանի որ այն շատ ավելի արագ է, քան որևէ այլ բան այնտեղ: Այս անզուգական արագության պատճառն այն է, որ locate հրամանը իրականում չի որոնում ձեր տեղական կոշտ սկավառակի վրա այն ֆայլերը կամ գրացուցակները, որոնք դուք պետք է գտնեք, այլ ավելի շատ նման է mlocate.db տվյալների բազայի ֆայլի միջոցով, որը պարունակում է ձեր համակարգի բոլոր ֆայլերի ուղիները: .

Եթե դեռ չեք տեղադրել տեղորոշումը, օգտագործեք այս հրամանները.

Debian և Ubuntu

sudo apt install locate

CentOS, AlmaLinux և Rocky Linux

dnf install locate

Պատրաստել տեղորոշման հրամանը առաջին օգտագործման համար

Առաջին օգտագործումից առաջ mlocate.db տվյալների բազան թարմացնելու համար գործարկեք՝

sudo updatedb

Locate-ն օգտագործելու համար բացեք տերմինալ և մուտքագրեք locate, որին հաջորդում է ձեր փնտրած ֆայլի անունը: Այս օրինակում ես փնտրում եմ ֆայլեր, որոնք իրենց անվան մեջ պարունակում են «արևոտ» բառը:

locate sunny

Տեղորոշումը կարող է նաև ասել, թե քանի անգամ է որոնման հիմնաբառը համընկնում տվյալների բազայում: Սա ձեռք է բերվում հրամանի մեջ ներառելով «-c» պարամետրը, որը նշանակում է «count»:

locate -c sunny

Այն, ինչ օգտատերերը պետք է նկատի ունենան այստեղ, այն է, որ «տեղորոշելու» համար անհրաժեշտ է ձեր փնտրած ֆայլի կոնկրետ և ճշգրիտ անունը՝ ի տարբերություն այլ ավելի ճկուն գործիքների: Դա նշանակում է, որ տեղորոշումը հիանալի է գտնելու ինչ-որ բան, որի անունը վստահ եք, բայց ոչ այնքան լավ այն դեպքում, երբ դուք ճշգրիտ չեք հիշում ֆայլի անունը:

locate howtoforge

ընդդեմ

locate Howtoforge

Ավելին, և քանի որ «տեղորոշել»-ը կարդում է տվյալների շտեմարանի ֆայլը, արդյունքները կարող են հնացած լինել և ոչ լիովին ճշմարիտ: Այս խնդիրը մեղմելու համար դուք կարող եք թարմացնել ձեր ֆայլերի ուղիների տվյալների բազան՝ մուտքագրելով «sudo updatedb» տերմինալի աշխատաշրջանում:

Նայեք այստեղ՝ տեղորոշելու հրամանն օգտագործելու ավելի շատ օրինակների համար:

Եթե դրանից հետո դուք դեռ չեք ստանում այն, ինչ փնտրում էիք, կամ պարզապես ծանրաբեռնված եք արդյունքների քանակով, անցեք հաջորդ քայլին, որը «գտնել» հրամանն է:

Օգտագործեք Գտնել հրամանը

«գտնել» հրամանը շատ ավելի հզոր, բայց նաև ավելի դանդաղ որոնման գործիք է: Դա պայմանավորված է նրանով, որ հակառակ «տեղորոշել» հրամանին, «գտնել» իրականում որոնում է ձեր սկավառակներում այն ֆայլերը և գրացուցակները, որոնց հետևում է օգտվողը: Գտնելը կատարյալ է այն դեպքում, երբ փորձում եք գտնել ֆայլ կամ գրացուցակ, բայց չեք կարող հիշել դրա անունը, քանի որ «գտնել» կարող է որոնել ֆայլեր, որոնք պատկանում են որոշակի օգտվողին կամ օգտվողների խմբին, ֆայլեր, որոնք փոփոխվել են կամ մուտք են գործել: վերջերս հատուկ չափի ֆայլեր, թաքնված ֆայլեր, գործարկվողներ, միայն կարդալու ֆայլեր և որոշակի թույլտվություններ ունեցող ֆայլեր: Լավագույնն այն է, որ օգտվողն ազատ է միավորել վերը նշված չափանիշներից մի քանիսը մեկ «գտնել» հրամանում՝ ըստ էության նվազեցնելով արդյունքները:

Անդրադառնալով նեղացմանը, առաջին բանը, որ դուք ցանկանում եք անել «գտնել» գործարկելիս, այն է, որ նրան ասեք որոնել որոշակի գրացուցակում: Սա զգալիորեն կարագացնի որոնման գործընթացը, բայց միշտ կախված է գրացուցակի չափից: Եթե գիտեք, թե որտեղ կարող է լինել ֆայլը, բացեք տերմինալը, նավարկեք դեպի գրացուցակ և գործարկեք «find . [ֆայլի անունը] »: Այդ կետը հուշում է, որ փնտրեք ընթացիկ գրացուցակում: Եթե փոխարենը ցանկանում եք որոնել ձեր Home գրացուցակը, փոխարինեք կետը «~/»-ով, իսկ եթե ցանկանում եք որոնել ձեր ամբողջ ֆայլային համակարգը, դրա փոխարեն օգտագործեք «/»:

Որպես օրինակ, ես ուզում եմ որոնել մի ֆայլ, որը պարունակում է պաստառ իմ ներբեռնման գրացուցակում: Ես գիտեմ, որ ֆայլի անվանումը պարունակում է «պաստառ» բառը, բայց ես ճշգրիտ չեմ հիշում անունը: Այդ պատճառով ես նավարկելու եմ իմ ներբեռնման թղթապանակը, օգտագործելով cd հրամանը «cd Downloads» տերմինալի միջոցով, այնուհետև մուտքագրում եմ հրամանը.

sudo find . -name "*poster*"

Ահա արդյունքը.

Սա ինձ ասում է, որ Ներբեռնումների պանակում կա «billy_poster copy» անունով pdf ֆայլ: Եթե ես չգիտեի, թե որտեղ է այն, «գտնել»-ը, այնուամենայնիվ, ինձ կտեղեկացներ, որ այն գտնվում է «Ներբեռնումներ» թղթապանակում, եթե որոնեի ծնող գրացուցակում:

Հիմա, եթե «-name» պարամետրը փոխարինեմ «-iname»-ով, ես կարող եմ արդյունքներ ստանալ՝ առանց տառերի մեծության: Դա մի բան է, որը չկա «տեղորոշել»-ում, ուստի ևս մեկ օգտակար տարր այն դեպքում, երբ վստահ չեք ֆայլի անվան վերաբերյալ:

sudo find . -iname "*poster*"

Հիմա, ենթադրենք, որ ես դեռ փնտրում եմ նույն պաստառի ֆայլը, և միակ բանը, որ հիշում եմ, այն է, որ դրա չափը 5 ՄԲ-ից պակաս է։ Հրամանը, որը ես կօգտագործեի այդ դեպքում հետևյալն է.

find ~/ -size -5M

Եթե ես իմանայի, որ այն ավելի բարձր է, քան ասենք 2 ՄԲ, հրամանը կլիներ «գտնել ~/ -size +2M»: Լավագույնն այն է, որ find-ն աջակցում է բուլյան օպերատորներին՝ որոնումն էլ ավելի ուժեղ դարձնելու համար: Այս օրինակի համար ես կօգտագործեմ հրաման, որը միավորում է իմ գիտելիքները, որ ֆայլի չափը 5 մեգաբայթից պակաս է, ինչպես նաև 2-ից ավելի: Սրա հրամանը կլինի.

find / -size -5M -and -size +2M

Վերջապես, եկեք առաջարկենք, որ մենք ոչինչ չհիշենք ֆայլի մասին, բայց հիշենք, որ մենք մուտք ենք գործել այն երեք րոպե առաջ: Այն գտնելու համար օգտագործեք Find հրամանը որպես.

find / -amin -3

Սա կլինի «find/-amin -30» կես ժամ, և «-amin -120» երկու ժամ և այլն: Եթե դուք մուտք եք գործել ֆայլ երկու օր առաջ, դրա փոխարեն օգտագործեք սա.

find / -time -2

Սա կցուցադրի բոլոր ֆայլերը, որոնց հասանելի են եղել վերջին երկու օրվա ընթացքում որոնման վայրում:

Կարծում եմ, որ վերը նշվածը ընդգրկում է սովորական օգտագործման դեպքերի սցենարների մեծ մասը: Հզոր «գտնել» հրամանի մասին լրացուցիչ տեղեկությունների համար բացեք տերմինալը և մուտքագրեք «man find»: Հաջողություն՝ գտնելու այն, ինչ փնտրում եք:

Linux find հրամանի ավելի շատ օրինակներ կարելի է գտնել այստեղ: