Ինչպես որոնել ֆայլեր տերմինալից Linux-ում
Այս էջում
- Օգտագործեք Locate հրամանը
- Օգտագործեք Գտնել հրամանը
Թեև կան բազմաթիվ եղանակներ, որոնցով մենք կարող ենք որոնել և տեղորոշել ֆայլերն ու գրացուցակները 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 հրամանի ավելի շատ օրինակներ կարելի է գտնել այստեղ: