Каким образом Unix располагается, команда все еще показывает файлы/папки, которые не являются там еще?

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

Удалить копию & amp; Вставьте из ВСЕХ программных IDE . Копировать и вставленный код очень плох, эта опция должна быть полностью удалена. Тогда программист, надеюсь, будет слишком ленив, чтобы перепечатать весь код, поэтому он создает функцию и повторно использует код.

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

8
задан Quinn Taylor 7 July 2009 в 03:34
поделиться

5 ответов

Вы правильно поняли: locate использует базу данных под названием « locateb ». Обычно он обновляется заданиями системного cron (не уверен, какие именно в OS X); вы можете принудительно выполнить обновление с помощью команды updatedb . См. http://linux-sxs.org/utilities/updatedb.html и др.


Кроме того, если вы не найдете файлы, которые вы ожидаете найти, обратите внимание на это важное предостережение из раздела ОШИБКИ OSX ' locate (1) справочная страница:

База данных locate обычно создается пользователем' 'none' 'и Утилита locate.updatedb (8) пропускает каталоги, которые не читаются для пользователя «никто», группы «никто» или мира. Например, если ваш Каталог HOME не доступен для чтения всем, ни один из ваших файлов не находится в базе данных.

8
ответ дан 5 December 2019 в 12:12
поделиться

Другие ответы о необходимости обновления базы данных местоположения верны. У меня есть этот псевдоним для обновления моей базы данных locate:

alias update_locate='sudo /usr/libexec/locate.updatedb'

Я больше не использую locate, когда нашел mdfind . Он использует индекс файла прожектора, который OSX намного лучше поддерживает в актуальном состоянии по сравнению с расположеннымb. Он также имеет немного больше возможностей для поиска из командной строки.

6
ответ дан 5 December 2019 в 12:12
поделиться

Действительно, команда locate выполняет поиск по индексу, поэтому это довольно быстро . Индекс создается командой updatedb , которая обычно запускается как ночной или еженедельное задание.

Поэтому, чтобы обновить его вручную, просто запустите updatedb .

0
ответ дан 5 December 2019 в 12:12
поделиться

Согласно странице руководства, его база данных обновляется один раз в неделю:

NAME
     locate.updatedb -- update locate database

SYNOPSIS
     /usr/libexec/locate.updatedb

DESCRIPTION
     The locate.updatedb utility updates the database used by locate(1).  It is typically run once a week by
     the /etc/periodic/weekly/310.locate script.
0
ответ дан 5 December 2019 в 12:12
поделиться

Взгляните на страницу руководства locate

http: //unixhelp.ed.ac.uk/CGI/man-cgi?locate+1

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

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

0
ответ дан 5 December 2019 в 12:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: