Як знайсці файл у Linux

Аўтар: Ellen Moore
Дата Стварэння: 17 Студзень 2021
Дата Абнаўлення: 29 Чэрвень 2024
Anonim
Macos🍎 Windows 💻Play On Linux 🐧 Ubuntu20.04; QQ,Musice,Wechat,Foxmail,Office,Xcode;WineVSDarling...
Відэа: Macos🍎 Windows 💻Play On Linux 🐧 Ubuntu20.04; QQ,Musice,Wechat,Foxmail,Office,Xcode;WineVSDarling...

Задаволены

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

крокі

Метад 1 з 3: Утыліта find

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

    find -iname "імя файла"

    • Калі ласка, увядзіце -iname замест -name, Каб праігнараваць рэгістр ў падпарадкаванні імя файла. каманда -name ўлічвае рэгістр.
  2. 2 Пачніце пошук у каранёвым каталогу. Каб запусціць пошук па ўсёй сістэме, да запыту дадайце мадыфікатар /. У гэтым выпадку каманда find будзе шукаць файл ва ўсіх каталогах, пачынаючы з каранёвага.

    find / -iname "імя файла"

    • Можна пачаць пошук у пэўным каталогу; для гэтага заменіце / на шлях да каталога, напрыклад, / Home / max.
    • можна выкарыстоўваць . замест /, Каб шукаць файл толькі ў бягучым каталогу і яго падкаталогах.
  3. 3 Выкарыстоўвайцесімвал абагульнення.*, Каб знайсці файлы, імя якога адпавядае частцы запыту. Пры дапамозе сімвала абагульнення * можна знайсці файл, поўнае імя якога невядома, ці знайсці ўсе файлы з вызначаным пашырэннем.

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

    • Гэтая каманда знойдзе ўсе файлы з пашырэннем .conf ў тэчцы карыстальніка Max (і яе падтэчку).
    • Скарыстайцеся гэтай камандай, каб знайсці ўсе файл, імёны якіх адпавядаюць часткі запыту. Напрыклад, калі на кампутары захоўваецца мноства файлаў, звязаных з WikiHow, знайдзіце ўсе файлы, увёўшы " * Wiki *".
  4. 4 Палегчыце кіраванне вынікамі пошуку. Калі вынікаў пошуку занадта шмат, сярод іх складана знайсці патрэбны файл. выкарыстоўвайцесімвал |, Каб вынікі пошуку фільтраваліся камандай less. Гэта аблегчыць прагляд і фільтраванне вынікаў пошуку.

    find / home / max -iname " *. conf" | less

  5. 5 Знайдзіце канкрэтныя элементы. Выкарыстоўвайце мадыфікатары, каб у выніках пошуку адлюстраваць толькі пэўныя элементы. Можна шукаць звычайныя файлы (f), Каталогі (d), Знакавыя спасылкі (l), Прылады посимвольного ўводу-высновы (з) І блокавыя прылады (b).

    find / -type f -iname "імя файла"

  6. 6 Працадзіў вынікі пошуку па памеры файлаў. Калі на кампутары захоўваецца мноства файлаў з падобнымі імёнамі, але памер шуканага файла вядомы, працадзіў вынікі пошуку па памеры файлаў.

    find / -size + 50M -iname "імя файла"

    • Гэтая каманда знойдзе ўсе файлы, памер якіх перавышае 50 МБ. выкарыстоўвайце мадыфікатар + або -, Каб паказаць на павелічэнне або памяншэнне памеру. Калі мадыфікатара + або - няма, каманда знойдзе файлы, памер якіх дакладна супадае з паказаным памерам.
    • Вынікі пошуку можна адфільтраваць па байтах (c), Кілабайт (k), Мегабайтам (M), Гігабайтам (G) Або блокам па 512 байт (b). Звярніце ўвагу, што прыведзеныя мадыфікатары ўлічваюць рэгістр.
  7. 7 Выкарыстоўвайце лагічныя аператары (Булевы аператары), каб аб'яднаць пошукавыя фільтры. Можна выкарыстоўваць аператары -and, -or, -not, Каб аб'яднаць розныя пошукавыя запыты ў адзін запыт.

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

    • Гэтая каманда знойдзе файлы ў тэчцы «Travelphotos», памер якіх больш за 200 кБ і ў імёнах якіх няма ліку 2015.
  8. 8 Знайдзіце файлы па ўладальніку або дазволах. Калі трэба знайсці файлы, якія належаць канкрэтнаму карыстальніку, або файл з пэўнымі правамі доступу, можна звузіць пошук.

    find / -user max -iname "імя файла" find / -group users -iname "імя файла" find / -perm 777 -iname "імя файла"

    • Прыведзеныя вышэй каманды знойдуць файл пэўнага карыстальніка, групы або з канкрэтнымі правамі доступу. Таксама ў запыце імя файла можна апусціць, каб знайсці ўсе файлы, адпаведныя названым крытэрам. Напрыклад, каманда find / -perm 777 знойдзе ўсе файлы з правамі доступу 777 (без абмежаванняў).
  9. 9 Аб'яднаеце каманды, каб выканаць пэўныя дзеянні па завяршэнні пошуку файлаў. каманду find можна аб'яднаць з іншымі камандамі, якія апрацуюць знойдзеныя файлы. Для гэтага паміж камандай find і другой камандай увядзіце -exec, А ў канцы радка увядзіце {} ;

    find. -type f -perm 777 -exec chmod 755 {} ;

    • Гэтая каманда знойдзе ў бягучым каталогу (і яго падкаталогах) усе файлы з правамі доступу 777, а потым пры дапамозе каманды chmod правы доступу зменяцца на 755.

Метад 2 з 3: Утыліта locate

  1. 1 Усталюйце ўтыліту.locate. Гэтая ўтыліта працуе хутчэй ўтыліты find, Бо ня скануе файлавую сістэму па-сапраўднаму. Аднак, не ўсе дыстрыбутывы Linux пастаўляюцца з утылітай locate, Таму увядзіце наступныя каманды, каб усталяваць яе:
    • Калі ласка, увядзіце sudo apt-get update і націсніце ↵ Enter.
    • У Debian і Ubuntu зрабіце наступнае: увядзіце sudo apt-get install mlocate і націсніце ↵ Enter. Калі locate ўжо ўстаноўлена, адлюструецца паведамленне mlocate is already the newest version (Устаноўлена апошняя версія).
    • У Arch Linux выкарыстоўвайце менеджэр пакетаў pacman: pacman -Syu mlocate
    • У Gentoo выкарыстоўвайце emerge: emerge mlocate
  2. 2 Абновіце базу ўтыліты.locate. Гэтая ўтыліта не зможа знайсці што-небудзь без папярэдне створанай і абноўленай базы (у якой захоўваецца падабенства злепка з файлавай сістэмы). База абнаўляецца штодня ў аўтаматычным рэжыме, але гэта можна зрабіць і ўручную. Абновіце базу ўручную, каб неадкладна прыступіць да працы з locate.
    • Калі ласка, увядзіце sudo updatedb і націсніце ↵ Enter.
  3. 3 Выкарыстоўвайце.locate, Каб выконваць простыя пошукавыя запыты. ўтыліта locate працуе хутка, але яна не так функцыянальная, як утыліта find. каманда locate апрацоўвае простыя пошукавыя запыты аналагічна камандзе find.

    locate -i " *. jpg"

    • Гэтая каманда знойдзе (ва ўсёй сістэме) усе файлы з пашырэннем .webp. Тут сімвал абагульнення * працуе так жа, як у каманды find.
    • Як і ў каманды find, мадыфікатар -i ігнаруе рэгістр пошукавага запыту.
  4. .
  5. 4 Абмяжуйце колькасць вынікаў пошуку. Калі вынікаў пошуку занадта шмат, скароціце іх пры дапамозе мадыфікатара -n і лікі, якое вызначае колькасць паказу вынікаў пошуку.

    locate -n 20 -i " *. jpg"

    • Гэтая каманда прывядзе да адлюстравання першых 20 вынікаў, якія адпавядаюць пошукаваму запыту.
    • Таксама можна выкарыстоўваць сімвал |, Каб вынікі пошуку фільтраваліся камандай less. Гэта аблегчыць прагляд вынікаў пошуку.

Метад 3 з 3: Пошук тэксту ў файлах

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

    grep -r -i "пошукавы запыт" / шлях / да / каталогу /

    • мадыфікатар -r робіць пошук рэкурсіўнай, таму ў бягучым каталогу (і ўсіх падкаталогах) будзе знойдзены любы файл, які змяшчае радок з пошукавага запыту.
    • мадыфікатар -i паказвае на тое, што запыт не ўлічвае рэгістр. Каб ўлічыць рэгістр, ня ўводзьце мадыфікатар -i.
  2. 2 Схавайце лішні тэкст. Пры выкананні каманды grep (Як апісана вышэй) на экране адлюструецца імя файла і тэкст з выдзеленай фразай або радком, названай у пошукавым запыце. Такі тэкст можна схаваць, каб адлюстраваць толькі імя файла і шлях да яго. Для гэтага увядзіце наступную каманду:

    grep -r -i "пошукавы запыт" / шлях / да / каталогу / | cut -d: -f1

  3. 3 Схавайце паведамленні пра памылкі. каманда grep выводзіць паведамленне пра памылку, калі спрабуе атрымаць доступ да тэчак без належных дазволаў або трапляе ў пустыя тэчкі. Такія паведамленні можна адправіць у / dev / null, каб яны не адлюстроўваліся на экране.

    grep -r -i "пошукавы запыт" / шлях / да / каталогу / 2> / dev / null