Падчас працы ў любой аперацыйнай сістэме часам узнікае патрэба ў выкарыстанні інструментаў для хуткага пошуку таго ці іншага файла. Актуальна гэта і для 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 у "Тэрмінале".