Працюємо в terminal mac os x

Як знайти файли і папки в терміналі OSX?

Які існують команди для пошуку в терміналі OSX?

З чого починається пошук в OS X, коли ми працюємо з графічним середовищем? Все просто, ми викликаємо Finder, і натискаємо поєднання клавіш Command + F (на розкладці macbook клавіша зліва, поряд з пропуском). Натиснувши поєднання для виклику пошуку, ми просто вбиваємо текст у відповідне поле, і отримуємо найбільш повну інформацію по цікавлять нас критеріям.

А як це відбувається в командному рядку? Насправді пошук в командному рядку Mac OS X також простий. Вам буде потрібно знати всього три основні команди пошуку: "Find", "mdfind", "locate". Після введення цих команд і визначення всіх параметрів пошуку, ваша пошукова видача наповниться результатами з демонстрацією повного шляху до файлів найбільш чітко відповідним введеному запиту.

команда Find

Базова команда пошуку не тільки в операційній системі Mac OS X, але і на всіх інших Unix системах. Я говорю про те, що цей варіант пошуку працює в інших операційних системах, відмінних від Mac OS X. Щоб команда виконувалася коректно їй необхідно створити ряд умов:

1. Ви визначаєте область по якій буде відбуватися пошук;

2. Потім вказуєте імена файлів які вам необхідні.

Не так багато умов, але як тільки вони будуть виконані, перед вами з'явиться вікно результатів пошук в командному рядку Mac OS X, де будуть зазначений повний шлях до знайдених файлів.

Працюємо в terminal mac os x

Так в прикладі вище, я скористався командою "find" в терміналі Mac OS X (командному рядку), для пошуку файлу з ім'ям "Finder". В принципі умови пошуку були досить простими, адже я знав розташування файлу, знав його ім'я, і ​​все що мені було необхідно - це ввести дані. Перше, що я зробив, це написав саму команду, далі шлях до файлу, позначив умова пошуку "-name", і після умови ввів його значення - файл Finder.txt.

Варто розуміти, що мій приклад примітивний, а пошук може відбувається по будь-якими параметрами, які тільки побажаєте, і як може собі дозволити "find" (команда пошуку) в операційній системі Mac OS X (-type (пошук за певним типом), -size (пошук за розміром файлу) і т.д.).

Працюємо в terminal mac os x

команда Locate

Знайти що-небудь в Unix системах швидше ніж в інших ОС. Вся справа в тому, що пошук в Unix досить різноманітний. Адже з одного боку у вас є команда "Find". Її функціонал був продемонстрований вище, але вона ефективна в тому випадку, коли ви точно знаєте місце розміщення, або у вас є час для очікування. Так як пошук "в сліпу" за допомогою команди "Find", може зайняти досить багато часу. Так як обсяг сканируемого простору в сучасних жорстких дисках досягає вселяють розмірів.

Працюємо в terminal mac os x

Тому, якщо вам необхідно знайти системні файли, необхідно скористатися спеціальною командою пошуку "locate". Правда для цього спочатку необхідно включити спеціальну базу даних. Для початку вводимо наступний рядок в терміналі OS X:

Sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist

Дана інструкція змусить активуватися у вашій системі демона, який проиндексирует вашу систему і дозволить працювати з командою "locate" в терміналі операційної системи OS X. Як я вже говорив команда locate спрямована для пошуку по системних файлів. Саме для цього її і необхідно використовувати. Так як в пошуковий індекс не потраплять призначені для користувача файли. До речі, не намагайтеся скористатися пошуком за допомогою locate відразу. База повинна бути створена. Але як тільки процес буде завершений, можна скористатися наступною конструкцією - пишемо locate ім'я файлу.

Працюємо в terminal mac os x

команда mdfind

Ця команда є пошуковий алгоритм в системах OS X тільки без графічного оточення. Так, mdfind - це Spotlight, тільки без красивих кнопок, і з більш важкими для розуміння настройками.

Саме в цьому пошуку відбувається налаштування пошуку за певними параметрами, із зазначенням метаданих. При цьому команда не позбавлена ​​простого і зрозумілого функціоналу, як просто здійснити пошук.

До речі, якщо використовувати "-onlyin" в директорії (вказувати шлях пошуку і закінчувати на директорії) то пошук буде здійснюється в кінцевій папці і рівнями нижче. При цьому якщо вказати в кінці файл, пошук буде проводиться в конкретному файлі.

Працюємо в terminal mac os x

Власне не так складно, але при цьому краще звичайно ж знати специфікацію, спробувати почитати, щоб розуміти які є можливості для роботи з командою пошуку mdfind в терміналі Mac OS X.

Під завісу я не міг пропустити один дуже цікавий прапор для пошуку в терміналі OS X, команди mdfind. Цей прапор називається "-live". Його функціональні особливості полягають в тому, що він може відслідковувати зміни в тих чи інших об'єктах в реальному часі. Все просто, ви прописуєте конструкцію запиту, наприклад:

mdfind OSX -onlyin / Users / mzv100 / Desktop / -live

Тепер коли я роблю зміни в кінцевій директорії, і ці зміни стосуються безпосередньо запиту "OSX", я буду про це знати.

Працюємо в terminal mac os x

Статті з циклу:

Схожі статті