Шукаем файлы ў Linux

Падчас працы ў любой аперацыйнай сістэме часам узнікае патрэба ў выкарыстанні інструментаў для хуткага пошуку таго ці іншага файла. Актуальна гэта і для Linux, таму ніжэй будуць разгледжаны ўсе магчымыя спосабы пошуку файлаў у гэтай АС. Прадстаўленыя будуць як інструменты файлавага мэнэджара, так і каманды, якія выкарыстоўваюцца ў "Тэрмінале".

Чытайце таксама:
Пераназываем файлы ў Linux
Ствараем і выдаляем файлы ў Linux

тэрмінал

Калі вам неабходна задаць мноства параметраў пошуку для знаходжання патрэбнага файла, то каманда find незаменная. Перад разглядам ўсіх яе варыяцый варта прайсціся па сінтаксісе і опцыям. Сінтаксіс яна мае наступны:

find шлях опцыя

дзе шлях - гэта дырэкторыя, у якой будзе адбывацца пошук. Ёсць тры асноўных варыянту ўказанні шляхі:

  • / - пошук па каранёвай і прылеглым да яе дырэкторый;
  • ~ - пошук па хатняй дырэкторыі;
  • ./ - пошук у дырэкторыі, у якой карыстальнік знаходзіцца ў сапраўдны момант.

Таксама вы можаце паказаць шлях непасрэдна да самога каталогу, у якім мяркуецца размешчаны файл.

опцый у find вельмі шмат, і менавіта дзякуючы ім можна ажыццявіць гнуткую наладу пошуку, задаўшы неабходныя зменныя:

  • -name - праводзіць пошук, беручы за аснову імя шуканага элемента;
  • -user - шукаць файлы, якія адносяцца да пэўнага карыстачу;
  • -group - праводзіць пошук па пэўнай групе карыстальнікаў;
  • -perm - паказваць файлы з паказаным рэжымам доступу;
  • -size n - шукаць, беручы за аснову памер аб'екта;
  • -mtime + n -n - праводзіць пошук файлаў, якія змяняліся больш (+ n) Або менш (-n) Дзён таму;
  • -type - шукаць файлы вызначанага тыпу.

Тыпаў шуканых элементаў таксама шмат. Вось іх спіс:

  • b - блочны;
  • f - звычайны;
  • p - найменны канал;
  • d - каталог;
  • l - спасылка;
  • s - сокет;
  • c - знакавы.

Пасля дэталёвага разбору сінтаксісу і опцый каманды find можна пераходзіць непасрэдна да наглядным прыкладам. З прычыны багацця варыянтаў выкарыстання каманды, прыведзены прыклады будуць не для ўсіх зменных, а толькі для найбольш выкарыстоўваюцца.

Чытайце таксама: Папулярныя каманды ў «тэрмінале» Linux

Спосаб 1: Пошук па імі (опцыя -name)

Часцей за ўсё карыстальнікі для ажыццяўлення пошуку па сістэме выкарыстоўваюць опцыю -name, Так што менавіта з яе і пачнем. Разбяром некалькі прыкладаў.

Пошук па пашырэнні

Дапусцім, вам трэба знайсці ў сістэме файл з пашырэннем ".Xlsx", Які знаходзіцца ў дырэкторыі "Dropbox". Для гэтага неабходна выкарыстоўваць наступную каманду:

find / home / user / Dropbox -name "* .xlsx" -print

З яе сінтаксісу можна сказаць, што пошук праводзіцца ў дырэкторыі "Dropbox" ("/ Home / user / Dropbox"), А шуканы аб'ект павінен быць з пашырэннем ".Xlsx". Зорачка сведчыць аб тым, што пошук будзе праведзены па ўсіх файлаў гэтага пашырэння, не бяручы пад увагу іх назва. "-Print" паказвае на тое, што вынікі пошуку будуць выведзены на экран.

прыклад:

Пошук па імя файла

Напрыклад, вы хочаце адшукаць у дырэкторыі "/ Home" файл з назвай "Lumpics", Але пашырэнне яго невядома. У такім выпадку трэба выканаць наступнае:

find ~ -name "lumpics *" -print

Як можна заўважыць, тут выкарыстоўваецца сімвал "~", Які азначае, што пошук будзе праходзіць у хатняй дырэкторыі. пасля опцыі "-Name" паказана імя шуканага файла ("Lumpics *"). Зорачка ў канцы азначае што пошук будзе праходзіць толькі па імі, не ўлічваючы пашырэнне.

прыклад:

Пошук па першай літары ў імя

Калі вы памятаеце толькі першую літару, з якой пачынаецца назву файла, то існуе спецыяльны сінтаксіс каманды, які вам дапаможа яго адшукаць. Напрыклад, вы хочаце знайсці файл, які пачынаецца з літары ад "G" да "L", І вы не ведаеце ў якім каталогу ён знаходзіцца. Тады вам неабходна выканаць наступную каманду:

find / -name "[g-l] *" -print

Мяркуючы па знаку "/", што ідзе адразу пасля асноўнай каманды, пошук будзе праведзены, пачынаючы з каранёвага каталога, гэта значыць ва ўсёй сістэме. Далей, частка "[G-l] *" азначае, што шуканае слова будзе пачынацца з пэўнай літары. У нашым выпадку ад "G" да "L".

Дарэчы, калі вы ведаеце пашырэнне файла, то пасля сімвала "*" можаце яго паказаць. Напрыклад, вам трэба знайсці той жа файл, але вы ведаеце, што ён мае пашырэнне ".Odt". Тады можна выкарыстоўваць такую ​​каманду:

find / -name "[g-l] *. odt" -print

прыклад:

Спосаб 2: Пошук па рэжыму доступу (опцыя -perm)

Часам неабходна знайсці аб'ект, імя якога вы не ведаеце, але ведаеце якім рэжымам доступу ён валодае. Тады вам трэба ўжываць опцыю "-Perm".

Карыстацца ёй даволі проста, трэба ўсяго толькі паказаць месца пошуку і рэжым доступу. Вось прыклад такой каманды:

find ~ -perm 775 -print

Гэта значыць пошук праводзіцца ў хатнім раздзеле, а шуканыя аб'екты будуць валодаць доступам 775. Таксама вы можаце перад гэтым лікам прапісаць сімвал "-", тады знойдзеныя аб'екты будуць мець біты дазволаў ад нуля да пазначанага значэння.

Спосаб 3: Пошук па карыстальніку або групе (опцыі -user і -group)

У любой аперацыйнай сістэме ёсць карыстальнікі і групы. Калі вы хочаце знайсці аб'ект, які належыць адной з гэтых катэгорый, то для гэтага можаце выкарыстоўваць опцыю "-User" або "-Group", Адпаведна.

Пошук файла па імя яго карыстальніка

Напрыклад, вам трэба знайсці ў дырэкторыі "Dropbox" файл "Lampics", Але вы не ведаеце як ён называецца, а ведаеце толькі што ён належыць карыстачу "User". Тады вам трэба выканаць наступную каманду:

find / home / user / Dropbox -user user -print

У дадзенай камандзе вы паказалі неабходную дырэкторыю (/ Home / user / Dropbox), Паказалі што трэба шукаць файлы, якія належаць карыстачу (-user), І паказалі, якому менавіта карыстачу гэты файл належыць (user).

прыклад:

Чытайце таксама:
Як паглядзець спіс карыстальнікаў у Linux
Як дадаць карыстальніка да групы ў Linux

Пошук файла па назве яго групы

Выканаць пошук файла, які належыць пэўнай групе, сапраўды гэтак жа проста - вам трэба ўсяго толькі замяніць опцыю "-User" на опцыю "-Group" і ўказаць назву гэтай групы:

find / -groupe guest -print

Гэта значыць вы паказалі, што хочаце адшукаць у сістэме файл, які адносіцца да групы "Guest". Пошук будзе адбывацца па ўсёй сістэме, пра гэта сведчыць сімвал "/".

Спосаб 4: Пошук файла па яго тыпу (опцыя -type)

Знайсці які-небудзь элемент у Linux пэўнага тыпу даволі проста, вам трэба ўсяго толькі пазначыць адпаведную опцыю (-type) І пазначыць тып. У пачатку артыкула былі пералічаныя ўсе абазначэння тыпаў, якія можна ўжываць для пошуку.

Напрыклад, вы хочаце адшукаць усё блокавыя файлы ў хатняй дырэкторыі. У гэтым выпадку ваша каманда будзе выглядаць так:

find ~ -type b -print

Адпаведна, вы паказалі што праводзіце пошук па тыпу файла, пра што сведчыць опцыя "-Type", А далей вызначылі яго тып, паставіўшы сімвал блокавага файла - "B".

прыклад:

Сапраўды гэтак жа вы можаце вывесці на экран ўсё каталогі ў патрэбнай дырэкторыі, упісаўшы ў каманду сімвал "D":

find / home / user -type d -print

Спосаб 5: Пошук файла па памеры (опцыя -size)

Калі з усёй інфармацыі аб файле вы ведаеце толькі яго памер, то нават гэтага можа апынуцца досыць, каб знайсці яго. Напрыклад, вы хочаце ў пэўнай дырэкторыі знайсці файл памерам 120 Мб, для гэтага выканайце наступнае:

find / home / user / Dropbox -size 120M -print

прыклад:

Чытайце таксама: Як даведацца памер папкі ў Linux

Як можна заўважыць, патрэбны нам файл быў знойдзены. Але калі вы не ведаеце, у якой дырэкторыі ён знаходзіцца, можна правесці пошук па ўсёй сістэме, паказаўшы каранёвай ў пачатку каманды:

find / -size 120M -print

прыклад:

Калі вы ведаеце памер файла прыблізна, то і на гэты выпадак ёсць спецыяльная каманда. Вам трэба прапісаць у "Тэрмінале" тое ж самае, толькі перад указаннем памеру файла паставіць знак "-" (Калі трэба знайсці файлы менш паказанага памеру) або "+" (Калі памер шуканага файла будзе больш паказанай). Вось прыклад такой каманды:

find / home / user / Dropbox + 100M -print

прыклад:

Спосаб 6: Пошук файла па даце змены (опцыя -mtime)

Бываюць выпадкі, калі зручней за ўсё праводзіць пошук файла па даце яго змянення. У Linux для гэтага ўжываецца опцыя "-Mtime". Карыстацца ёй даволі проста, разгледзім усё на прыкладзе.

Дапусцім, у тэчцы "Выявы" нам трэба знайсці аб'екты, якія падвяргаліся зменам апошнія 15 сутак. Вось што трэба прапісаць у "Тэрмінале":

find / home / user / Выявы -mtime -15 -print

прыклад:

Як можна заўважыць, гэтая опцыя паказвае не толькі файлы, якія змяняюць за ўказаны тэрмін, але і тэчкі. Працуе яна і ў адваротны бок - вы можаце знайсці аб'екты, якія былі зменены пазней пазначанага тэрміну. Для гэтага трэба перад лічбавым значэннем ўпісаць знак "+":

find / home / user / Выявы -mtime +10 -print

GUI

Графічны інтэрфейс шмат у чым палягчае жыццё навічкам, якія толькі ўсталявалі дыстрыбутыў Linux. Дадзены метад пошуку вельмі падобны на той, што ажыццяўляецца ў АС Windows, хоць і не можа даць ўсіх тых пераваг, што прапануе "Тэрмінал". Але пра ўсё па парадку. Такім чынам, разгледзім, як зрабіць пошук файлаў у Linux, выкарыстоўваючы графічны інтэрфейс сістэмы.

Спосаб 1: Пошук праз меню сістэмы

Зараз будзе разгледжаны спосаб пошуку файлаў праз меню сістэмы Linux. Якія праводзяцца дзеянні будуць выконвацца ў дыстрыбутыве Ubuntu 16.04 LTS, аднак інструкцыя агульная для ўсіх.

Чытайце таксама: Як даведацца версію дыстрыбутыва Linux

Дапусцім, вам неабходна знайсці ў сістэме файлы пад імем "Знайдзі мяне", Таксама гэтых файлаў у сістэме два: адзін у фармаце ".Txt", А другі - ".Odt". Каб іх адшукаць, неабходна першапачаткова націснуць на абразок меню (1), І ў спецыяльным поле для ўводу (2) пазначыць пошукавы запыт "Знайдзі мяне".

Адлюструецца вынік пошуку, дзе будуць паказаны шуканыя файлы.

Але калі ў сістэме было б шмат такіх файлаў і ўсе яны адрозніваліся пашырэннямі, то пошук б ускладніўся. Для таго каб выключыць у выдачы вынікаў непатрэбныя файлы, напрыклад, праграмы, лепш за ўсё скарыстацца фільтрам.

Размешчаны ён у правай частцы меню. Фільтраваць вы можаце па двух крытэрыях: "Катэгорыі" і "Крыніцы". Разгарніце гэтыя два спісу, націснуўшы па стрэлачку побач з назвай, і ў меню прыбярыце выдзялення з непатрэбных пунктаў. У дадзеным выпадку больш разумна будзе пакінуць толькі пошук па "Файлы і тэчкі", Так як мы шукаем менавіта файлы.

Адразу можна заўважыць недахоп гэтага спосабу - нельга дэталёва наладзіць фільтр, як у "Тэрмінале". Так, калі вы шукайце тэкставы дакумент з нейкім назвай, у выдачы вам могуць паказаць карцінкі, тэчкі, архівы і т. П. Але калі вы ведаеце дакладнае найменне патрэбнага файла, то зможаце хутка адшукаць яго, ня вывучаючы шматлікія спосабы каманды "Find".

Спосаб 2: Пошук праз кіраўнік файлаў

Другі спосаб мае істотнае перавага. Выкарыстоўваючы інструмент файлавага мэнэджара, можна зрабіць пошук у паказаным каталогу.

Выканаць дадзеную аперацыю прасцей простага. Вам неабходна ў файлавым мэнэджару, у нашым выпадку Nautilus'е, увайсці ў тэчку, у якой мяркуецца знаходзіцца шуканы файл, і націснуць кнопку "Пошук", Размешчаную ў верхнім правым куце акна.

У якое з'явілася поле для ўводу вам трэба ўвесці меркаванае назву файла. Таксама не забывайце, што пошук можа быць праведзены ня па цэлым імя файла, а толькі па яго часткі, як паказана на прыкладзе ніжэй.

Як і ў папярэднім спосабе, у гэтым сапраўды гэтак жа можна выкарыстоўваць фільтр. Для яго адкрыцця націсніце на кнопку са знакам "+", Размешчаную ў правай частцы поля ўводу пошукавага запыту. Адкрыецца падменю, у якім вы можаце з выпадальнага спісу выбраць шуканы тыпаў файлаў.

заключэнне

З усяго вышэйсказанага, можна зрабіць выснову, што для правядзення хуткага пошуку па сістэме выдатна падыдзе другі спосаб, завязаны на выкарыстанні графічнага інтэрфейсу. Калі ж неабходна задаць мноства параметраў пошуку, то незаменнай будзе каманда find у "Тэрмінале".

Глядзіце відэа: The sims 4 : Mod Conflict Detector - поиск конфликтных модов (Можа 2024).