Linuxто файл табуунун 3 жолу

Мазмуну:

Linuxто файл табуунун 3 жолу
Linuxто файл табуунун 3 жолу

Video: Linuxто файл табуунун 3 жолу

Video: Linuxто файл табуунун 3 жолу
Video: Hacked Jacuzzi, JDK 18, Kotlin 1.7.0, ECMAScript 2022 and new Amazon products [MJC News #10] 2024, Май
Anonim

Linux системасында файлды табуу, эгер сиз билбесеңиз, кыйын болушу мүмкүн. Файлдарды табуунун эң жакшы жолу - бул бир нече терминалдык буйруктарды колдонуу. Бул буйруктарды өздөштүрүү сизге файлдарыңызды толук башкарууга мүмкүндүк берет жана алар башка иштетүү системдериндеги жөнөкөй издөө функцияларына караганда алда канча күчтүү.

Кадамдар

3 -метод 1: "Locate" колдонуу

690519 10 1
690519 10 1

Кадам 1. Орнотуу

табуу функционалдуулук.

Locate буйругу жалпысынан тапкандан алда канча тезирээк иштейт, анткени ал сиздин файл түзүлүшүңүздүн маалымат базасынан иштейт. Бардык Linux дистрибуциялары орнотулган функция менен келбейт, андыктан аны орнотууга аракет кылуу үчүн төмөнкү буйруктарды киргизиңиз:

  • Sudo apt-get update терип, press Enter баскычын басыңыз.
  • Сиз аны Debian жана Ubuntuго мындай орното аласыз: sudo apt-get install mlocate терип, ↵ Enter баскычын басыңыз. Эгерде locate мурунтан эле орнотулган болсо, анда сиз mlocate билдирүүсүнүн эң акыркы версиясы экенин көрөсүз.
  • Arch Linuxто pacman пакет башкаруучусун колдонуңуз: pacman -S mlocate
  • Gentoo үчүн emerge: emerge mlocate колдонуңуз
690519 11 1
690519 11 1

Кадам 2. Сиздин

табуу маалымат базасы.

Locate командасы анын маалымат базасы курулуп жана жаңыртылмайынча эч нерсе таба албайт. Бул күн сайын автоматтык түрдө болот, бирок сиз аны кол менен жаңырта аласыз. Эгер сиз дароо locate колдонууну баштасаңыз, муну жасашыңыз керек болот.

Sudo updatedb терип, press Enter баскычын басыңыз

690519 12 1
690519 12 1

Кадам 3. Колдонуу

табуу жөнөкөй издөөлөрдү жүргүзүү үчүн.

Жайгаштыруу буйругу тез, бирок табуу буйругу сыяктуу көп варианттарга ээ эмес. Негизги файл издөөнү тапкыла буйругу менен бирдей аткарсаңыз болот.

-i "*.jpg" дегенди табуу

  • Бул буйрук-j.webp" />
  • Табуу буйругу сыяктуу эле, -i сиздин сурооңузга көңүл бурбайт.
690519 13 1
690519 13 1

Кадам 4. Издөө жыйынтыктарыңызды чектеңиз

Эгерде издөөңүз өтө көп натыйжаларды кайтарып берсе, аларды -n опциясын колдонуу менен кыркып салсаңыз болот, андан кийин сиз каалаган натыйжалардын санын көрсөтөсүз.

табуу -n 20 -i "*.jpg"

  • Суроого дал келген алгачкы 20 гана жыйынтык көрсөтүлөт.
  • Сиз ошондой эле | колдоно аласыз оңой жылдыруу үчүн жыйынтыктарды азыраак жөнөтүү үчүн түтүк.

3 -метод 2: "Find" колдонуу

690519 1 1
690519 1 1

Кадам 1. Файлды анын файл атына карап издеңиз

Бул издөө буйругу менен аткара турган эң негизги издөө. Төмөндөгү буйрук учурдагы каталогдо жана кандайдыр бир каталогдордо сурамдарды издейт.

find -iname "файлдын аты"

Name ордуна -iname колдонуу сиздин сурооңузду эске албайт. -Name буйругу чоң -кичине сезгич

690519 2 1
690519 2 1

Кадам 2. Издөөнү түп каталогдо баштоого коюңуз

Эгерде сиз бүт системаңызды издегиңиз келсе, анда / өзгөрткүчтү сурамга кошо аласыз. Бул табуу каталогунан баштап бардык каталогдорду издөө керектигин айтат.

find / -iname "файлдын атын"

  • Сиз /home /pat сыяктуу каталогдун жолун /менен алмаштырып, белгилүү бир каталогдо издөөнү баштасаңыз болот.
  • Сиз a колдоно аласыз. ордуна / издөөнү учурдагы каталогдо жана кичи каталогдордо гана жүргүзүүгө мажбурлоо.
690519 3 1
690519 3 1

3 -кадам. Joker белгисин колдонуңуз

* суроо бөлүгүнө дал келген нерсени издөө.

Толук аталышын билбесеңиз же белгилүү бир кеңейтүү менен бардыгын табууну кааласаңыз, wildcard * белгиси бир нерсени табуу үчүн пайдалуу болушу мүмкүн.

find /home /pat -iname "*.conf"

  • Бул Паттын колдонуучу папкасындагы (жана каталогдорундагы).conf файлдарынын бардыгын кайтарат.
  • Сиз ошондой эле файлдын аталышына туура келген нерсенин баарын табуу үчүн колдоно аласыз. Мисалы, эгерде сизде wikiHow менен байланышкан көптөгөн документтер болсо, алардын бардыгын "*wiki*" деп терүү менен таба аласыз.
690519 4 1
690519 4 1

Кадам 4. Издөө жыйынтыктарыңызды башкарууну жеңилдетиңиз

Эгерде сиз көптөгөн издөө натыйжаларын алып жатсаңыз, анда аларды текшерүү кыйын болушу мүмкүн. | Колдонуңуз тамга жана издөө жыйынтыктарын "азыраак" чыпкалоо программасына жөнөтүңүз. Бул сизге жылдырып, жыйынтыктарды чыпкалоого мүмкүндүк берет.

find /home /pat -iname "*.conf" | азыраак

690519 5 1
690519 5 1

Кадам 5. Жыйынтыктардын конкреттүү түрлөрүн табыңыз

Сиз өзгөрткүчтөрдү белгилүү бир жыйынтыктарды кайтаруу үчүн колдоно аласыз. Сиз кадимки файлдарды (f), каталогдорду (d), символдук шилтемелерди (l), символдордун түзмөктөрүн (c) жана түзмөктөрдү (b) оң өзгөрткүчтү колдонуу менен издей аласыз.

find / -type f -iname "filename"

690519 6 1
690519 6 1

Кадам 6. Издөө жыйынтыгыңызды өлчөмү боюнча чыпкалаңыз

Эгерде сизде окшош аталыштагы файлдар көп болсо, бирок сиз издеп жаткан өлчөмдү билсеңиз, анда биздин жыйынтыктарды көлөмү боюнча чыпкаласа болот.

find / -size +50M -iname "filename"

  • Бул 50 мегабайт же андан чоң болгон жыйынтыктарды кайтарат. Сиз чоң же кичине өлчөмдү издөө үчүн + же - колдоно аласыз. + Же - белгиси жок кылынса, көрсөтүлгөн өлчөмдөгү файлдар изделет.
  • Сиз байт (c), килобайт (k), мегабайт (M), гигабайт (G) же 512 байт блоктор (b) боюнча чыпкалай аласыз. Көлөмдүн желеги чоң-кичине экенин эске алыңыз.
690519 7 1
690519 7 1

Кадам 7. Издөө чыпкаларын бириктирүү үчүн логикалык операторлорду колдонуңуз

Сиз ар кандай издөө түрлөрүн бир жерге бириктирүү үчүн -and, -or жана -not операторлорун колдоно аласыз.

find /travelphotos -type f -size +200k -not -iname "*2015*"

Буйрук "travelphotos" каталогунда көлөмү 200 килобайттан ашкан, бирок файлдын эч бир жеринде "2015" жок файлдарды табат

690519 8 1
690519 8 1

Кадам 8. Файлдарды ээси же уруксаттары боюнча издөө

Эгерде сиз колдонуучуга таандык белгилүү бир файлды же белгилүү уруксаттары бар файлдарды табууга аракет кылып жатсаңыз, анда издөөңүздү кыскартыңыз.

find / -колдонуучу аты -файлдын аты "файлдын аты" табуу / -группанын колдонуучулары -иниминин "файлдын атынын" табылышы / -мөөнөтү 777 -ининин "файлдын аталышы"

Жогорудагы мисалдар көрсөтүлгөн колдонуучуларды, топторду же уруксаттарды издөө үчүн издейт. Ошол түргө дал келген бардык файлдарды кайтаруу үчүн, файлдын аталышынын сурамын калтырып койсоңуз болот. Мисалы, find / -perm 777 777 (чектөөсүз) уруксаттары бар бардык файлдарды кайтарып берет

690519 9 1
690519 9 1

Кадам 9. Файлдар табылганда аракеттерди аткаруу үчүн командаларды бириктирүү

Сиз издөө буйругун башка буйруктар менен бириктире аласыз, андыктан аларды суроо менен кайтарылган файлдарда аткара аласыз. Find командасын жана экинчи буйрукту -exec желеги менен бөлүп, андан кийин {} менен сапты бүтүр;

табуу. -type f -perm 777 -exec chmod 755 {};

Бул учурдагы каталогду (жана бардык каталогдорду) 777 уруксаты бар файлдарды издейт. Андан кийин chmod буйругун колдонуп, уруксаттарды 755ке өзгөртөт

3 -метод 3: Файлдардан текст издөө

690519 14 1
690519 14 1

Кадам 1. колдонуу

grep файлдардын ичинде тексттин саптарын издөө буйругу.

Белгилүү фразаны же сапты камтыган файлды издеп жатсаңыз, grep командасын колдонсоңуз болот. Негизги grep буйругу төмөнкүдөй форматталат:

grep -r -i "издөө сурамы"/жол/каталогго/

  • -R издөөнү "рекурсивдүү" деп коет, андыктан ал учурдагы каталогду жана бардык каталогдорду издөө сабын камтыган бардык файлдарды издейт.
  • -I бул суроо чоң -кичине эмес экенин көрсөтөт. Эгерде сиз издөөнү чоңдукка көңүл бурууга мажбур кылгыңыз келсе, -i операторун калтырыңыз.
690519 15 1
690519 15 1

Кадам 2. Кошумча текстти кесип салыңыз

Жогоруда көрсөтүлгөндөй grep издөөнү жүргүзгөндө, файлдын аталышын текст менен бирге дал келген суроо менен бөлүп көрөсүз. Сиз дал келген текстти жашырып, төмөнкүлөрдү кошуу менен файлдын аталыштарын жана жолдорун көрсөтө аласыз:

grep -r -i "издөө сурамы"/жол/каталогго/| cut -d: -f1

690519 16 1
690519 16 1

Кадам 3. ката билдирүүлөрдү жашыруу

Туура уруксаттары жок папкаларга кирүүгө аракет кылганда же бош папкаларга киргенде grep буйругу катаны кайтарат. Сиз ката билдирүүлөрүн /dev /null дарегине жөнөтө аласыз, бул аларды чыгаруудан жашырат.

grep -r -i "издөө сурамы"/path/to/directory/2>/dev/null

Сунушталууда: