Я хочу , чтобы найти файл на моем Macbook с именем файла: abc.dmg
. Я пытался использовать прожектор, но не нашел его. Когда я попытался найти и использовал:, find -name abc.dmg -path /
я получил ошибки обратно.
Каков правильный синтаксис для поиска файла по имени файла с помощью команды find на терминале Mac OSX?
Ответы:
В простейшем виде
find
принимает один параметр: путь. В своей действительно полезной форме он идет по пути сужения критериев.Таким образом, вы хотите:
find
(программа)/
(путь) и-name abc.dmg
(критерии).источник
find
имеет значение . Если должно бытьfind [path]+ [selection, grouping, and actions]
.find . -name '*.csv'
например, работал для меня с подстановочными знаками. OP мог также использовать,find . -name '*.dmg'
чтобы проверить его текущий каталог, предполагая, что он был в/
.источник
Команда
mdfind
использует базу данных Spotlighthttp://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/mdfind.1.html
источник
Вы можете использовать
locate
команду.источник
osx
тег. slocate db не заполняется по умолчанию.locate
и то иmdfind
другое не работает, скорее всего, файл не на вашем компьютере. Или его не называют, как вы думаете, его назвали. возможно, поиск ВСЕХ DMG может стать вашим следующим шагом?Самый простой способ (который, я уверен, вы уже пробовали, но в любом случае, позвольте мне добавить его в ветку), введите abc.dmg в поле поиска в верхнем правом углу любого окна поиска и выберите «Файл». Имя »из опций на панели поиска, которая появляется.
Нет необходимости в терминале.
Также помните, что только Spotlight индексирует каталоги, указанные на панели управления Spotlight, и abc.dmg может отсутствовать в одном из этих каталогов.
Поправьте меня, если я не прав, но я думаю, что команда find должна знать, что выводить:
... должен печатать любые результаты в терминал (в том числе ошибки разрешения).
Если вы не хотите ошибок разрешения и хотите искать другие пользовательские каталоги, тогда:
источник
Вы можете использовать следующие функции командной строки, чтобы быстро найти и открыть соответствующий файл. Я считаю это проще, чем вводить длинную строку запроса в окне прожектора.
Добавьте следующие функции в
~/.bash_aliases
.}
Теперь либо
source ~/.bash_aliases
откройте новый терминал, либо загрузите функции. Для поиска файлов со словами «пирог» и «2016» в любом месте имени файла выполнитеНет необходимости добавлять или добавлять
*
к вашему запросу, так как шаблон поиска'*$1*'
уже помечает подстановочные знаки в начале и конце вашего запроса. Дополнительныйcd
для нечувствительных к регистру и игнорирующих диакритические знаки, например,fred
вернет оба, Frédéric и FrEDeric.findpaper
будет ограничивать поиск результатами по определенному пути (рекурсивно), в то время какopenpaper pie*201
откроет (или первый из нескольких результатов) результат поиска илиopenpaper pie*201 3
откроет третью запись результатов. Чтобы избежать открытия скриптов bash или других файлов, не относящихся к документам, вы можете ограничить содержимое файла дополнительными атрибутами поиска. См. Синтаксис выражения запроса метаданных файла и https://ss64.com/osx/mdfind.html для использования других операторов поиска.источник
Захватите список всех файлов на вашем диске как root от /
Cat весь файл через grep, чтобы найти весь диск:
Используйте регулярные выражения для отображения только файлов .jpg и .dmg:
Результат:
...и т.д. К сожалению, также будут записаны все смонтированные диски, поэтому лучше всего извлечь те Time Machine, у которых много ссылок. Так что в другом окне я бегу,
watch tail -n 10 ~/file-list.txt
который показывает мне, где это происходит в моем подлого взлома!источник
sudo find / > ~/file-list.txt
кажется лучше, чем запускать всю оболочку от имени пользователя root. (2)find *
будет пропускать скрытые (точечные) объекты (если есть) в/
. (3)&>
это башизм. (4) Бесполезное использованиеcat
. (5)grep abc.dmg
напечатает например/foo/bar/123abcXdmg456/baz/whatever
. // Одна хорошая вещь, которую ваш ответ приносит в этот поток (а другой ответ не делает), - это подход, при котором пользователь запускаетсяfind
один раз, а затем многократно использует сохраненный результат, не обращаясь к файловой системе снова и снова. Это потенциальное преимущество не акцентировано, хотя.