Как найти файл на терминале Mac (советы и руководство)

Вы можете использовать команду поиска в терминале Mac, чтобы найти практически любой файл на вашем Mac. Интерфейс командной строки, используемый Mac Terminal, использует оболочку Z, которая основана на средах оболочки UNIX/LINUX и, к счастью, обеспечивает удобство быстрого поиска файлов.

Меня зовут Эрик, и как инженер-программист, интерфейсы командной строки, такие как Терминал, являются одним из основных инструментов, которые я использую каждый день. Такая команда, как find, может показаться немного сложной, но я могу показать вам основы ее использования.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Если вы хотите узнать, как использовать команду find для поиска файла в терминале Mac, и узнать немного о ее возможностях, помимо поиска файлов, оставайтесь здесь, и мы обсудим это дальше.

Команда «Найти»

Если вы хотите найти файл на терминале Mac, находить Команда — это то, что вы будете использовать для выполнения этой задачи. На первый взгляд вам может показаться, что это будет простая команда, в которой нет ничего особенного. Просто введите команду и имя файла, который вы хотите найти. Верно?

Что ж, команда поиска может показаться простой, но на самом деле это одна из самых сложных команд, которые вы найдете в Терминале. Количество параметров, опций и способов их использования может быть ошеломляющим и разочаровывающим, если вы не уверены в том, что делаете.

Если есть сомнения, просто посмотрите справочная страница для команды поиска. Вы можете сделать это, набрав следующее.

человек найти

Вы увидите несколько страниц информации о том, как его использовать. Хорошо то, что как только вы освоите некоторые основы и освоитесь, все будет не так уж плохо и станет одним из очень мощных инструментов, доступных вам в среде командной строки.

Чуть позже мы кратко обсудим некоторые из более сложных и мощных функций, которые вы можете делать с помощью find, но для наших целей мы просто собираемся изучить основы. Мы просто рассмотрим, как найти файл на нашем диске. Итак, давайте начнем.

Найти файл

Чтобы найти файл с помощью команды find, вам необходимо знать как минимум два параметра этой команды. Первое — это имя файла, а второе — начальное место поиска. Команда find имеет следующий формат.

find <место начала> -name <имя файла>

Это кажется довольно простым. Вы знаете имя файла, который хотите найти, но вам нужно будет решить, с чего начать поиск. Команда будет рекурсивно перемещаться по каждому подкаталогу ниже начальной точки в поисках вашего файла.

Вы можете начать с текущего каталога, корневого каталога или указанного вами пути и каталога. Текущий и корневой каталог обозначаются, как показано ниже.

. обозначает текущий каталог

/ обозначает корневой каталог

Итак, если я ищу файл с именем test.exe и хочу выполнить поиск по всему диску, я бы хотел, чтобы моей отправной точкой был корневой каталог, поэтому моя команда будет такой, как показано ниже.

найти /-имя test.exe

Если я хочу выполнять поиск только в своем текущем каталоге, я бы использовал точку для определения моего текущего каталога. как команда ниже.

находить . -имя test.exe

Для поиска в каталоге приложений я бы использовал следующую команду.

найдите /users/Eric/Applications -name test.exe

Делаем поиск читабельным

Приведенная выше команда работает — она будет искать и находить файлы за вас, но с одной серьезной проблемой. В вашей файловой системе есть места, поиск в которых по той или иной причине невозможен. Эти области не будут содержать ваш файл, но в выводе команды будут отображаться сообщения об ошибках или предупреждения.

Если вы начнете поиск из корневого каталога, вы обнаружите так много ошибок и предупреждающих сообщений, прокручивающихся на экране, что вы не сможете четко увидеть результаты, которые ищете. Если вы попытались запустить приведенную выше команду, вы, вероятно, это заметите.

Решение этой проблемы — перенаправить сообщения об ошибках и предупреждениях, чтобы мы не видели их на экране. Для этого выполните команду, как показано ниже.

найти /-имя test.exe 2>/dev/null

2>устройство/ноль сообщает системе, что нужно перенаправлять любые сообщения об ошибках или предупреждения на ноль вместо вашего экрана. Теперь у вас будет гораздо более чистый вывод, который вы сможете прочитать и увидеть расположение указанного вами имени файла.

Сила поиска

Вы уже можете увидеть мощь команды find, просто выполнив поиск, который мы использовали в предыдущем разделе. Это только начало того, что вы можете сделать с помощью команды. Как только вы выучите команду и освоитесь с ней, перед вами откроется совершенно новый мир.

Используя эту команду, вы, конечно, можете создавать индивидуальные поисковые запросы. Поиск по таким параметрам, как дата и время файла, разрешения, владелец, размер, содержимое файла, тип файла, папки, подстановочные знаки и т. д. Любую характеристику файла или папки можно использовать для поиска.

Как только вы научитесь искать и создавать списки файлов, вы сможете использовать команду find для запуска команд над полученными файлами. Используя параметр -exec, вы можете выполнять другие команды над найденными файлами.

Это позволяет создавать сценарии, автоматизировать процессы и обрабатывать большие группы файлов одновременно. В конечном итоге это может сэкономить время и повысить продуктивность при использовании Mac Terminal для обработки больших объемов данных.

Примеры

Давайте рассмотрим лишь пару быстрых примеров. Один из наиболее часто используемых способов использования команды find с параметром -exec — это поиск файлов, содержащих определенную текстовую строку.

В этом примере я хотел бы найти и перечислить все txt-файлы в моем текущем каталоге и его подкаталогах, содержащие слово магия. Для этого я бы использовал команду ниже.

находить . -name '*.txt' -exec grep -l 'magic' {} \; 2>/dev/ноль

В приведенном выше примере я ищу в своем текущем каталоге (.) любой файл с расширением .txt, затем говорю ему выполнить команду grep для этого файла и сообщить мне, содержит ли он текст. магия. Если да, то он печатает имя и путь к этому файлу.

{} в команде представляет имя файла, найденного с помощью команды find, а параметр -exec выполняет данную команду (в нашем случае grep -l) для найденного файла. \; помещает строку, завершающую каждую команду, и, как указано выше, 2>/dev/null перенаправляет предупреждающие сообщения.

Воспользуемся аналогичной командой, но вместо поиска текстовой строки в файле скопируем все полученные файлы во временный каталог. Тогда команда будет выглядеть так.

находить . -name '*.txt' -exec cp {} tmp \; 2>/dev/ноль

Как видите, команда скопировала каждый текстовый файл, который смогла найти, из моего текущего каталога и ниже в новый каталог с именем tmp.

Тот же процесс можно было бы выполнить, используя только подстановочный знак и команду cp, но я сделал это с помощью команды find, чтобы показать, как ее можно использовать для обработки нескольких файлов, найденных при поиске.

Как видите, команда find может получить список файлов и обработать их любой указанной вами командой. Просто будьте осторожны при использовании команд, которые удаляют, перемещают или редактируют файлы. Обязательно сначала запустите команду find, чтобы увидеть список файлов, которые будут затронуты.

Часто задаваемые вопросы

Ниже приведены некоторые распространенные вопросы о поиске файлов на Mac Terminal.

Почему бы не всегда выполнять поиск из корневого каталога?

Вы можете задаться вопросом: зачем искать в определенной области или папке? Почему бы просто не начать с корневого каталога? Поиск из корня удобен, если вы не имеете ни малейшего представления о том, где может находиться файл, но файлов и папок так много, что получение результатов может занять много времени.

Если у вас уже есть представление о том, где находится файл, но вы не можете точно его определить, лучше всего сузить поиск до более локализованной области. Вы увидите результаты поиска гораздо быстрее.

Могу ли я использовать команду «Найти», чтобы найти папку?

Да, вы определенно можете. Просто введите в команду поиска имя папки вместо имени файла, и команда поиска выполнит поиск и найдет ее, если она там есть.

Что делать, если я вижу множество предупреждений об отказе в разрешении?

Если вы перенаправляете вывод предупреждения на ноль, вы можете не увидеть предупреждения. Но если вы запустите его без перенаправления и увидите множество предупреждений или предупреждений об отказе в разрешении, у вас не будет разрешения на просмотр этих папок. Если вы хотите их найти, вы можете сделать это с помощью sudo.

Поместите команда sudo перед командой find, и если у вас есть права администратора на вашем компьютере, он также будет искать в этих каталогах. Вам нужно будет ввести свой пароль при работе с sudo.

sudo find / -name test123

Заключение

Лучший способ найти файлы в Mac Terminal — использовать команду find. Хотя эта команда может быть немного сложной, она очень мощная, и в ее простейших формах вы можете использовать ее для выполнения базового поиска в любом файле или папке в вашей системе.

Я надеюсь, что предоставленная выше информация помогла вам начать использовать команду find. Как обычно, дайте мне знать, если у вас есть какие-либо вопросы или комментарии. Я хотел бы услышать ваше мнение.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *