На терминале: в функции поиска

Когда я указываю пользователя в функции поиска на терминале: Почему мне нужно написать / , прежде чем я напишу -user ПРИМЕР?

пример:

find -user USERNAME

ничего не сделает, тогда как

find / -user USERNAME

Работает точно так, как задумано?

P.S: Если я использую две функции одну за другой:

find / -user USERNAME -group GROUPNAME

Найдет ли он файлы, принадлежащие как пользователю, так и группе, или файлы, принадлежащие пользователю или группе?

Я попытался найти ответы в документации и ничего не нашел, где я могу найти ответы на такие вопросы?

0
01.09.2016, 02:07
2 ответа

Учитывая, что вы используете Linux, вы, вероятно, используете GNU find. Это дает "." (текущий рабочий каталог), если не указан явный параметр каталога.

Утилита find показывает только то, что она находит (на самом деле не сообщает вам, где она ищет ), так что вы, возможно, этого не заметили. Очевидно, в вашем текущем рабочем каталоге (или под ним) ничего нет, принадлежащего USERNAME , но есть на компьютере. Когда вы указали ему в качестве параметра «/», find просматривал весь компьютер, начиная с корневого уровня «/».

Что касается

find / -user USERNAME -group GROUPNAME

, find обрабатывает его так, как если бы вы сказали, что

find / \( -user USERNAME -a -group GROUPNAME \)

POSIX объясняет это следующим образом:

Соединение основных цветов ; Оператор И подразумевается сопоставлением двух первичных или явным образом выражается необязательным оператором -a . Второе выражение не должно оцениваться, если первое выражение ложно.

В вашей команде это основные параметры :

-user USERNAME
-group GROUPNAME

Дополнительная литература:

1
28.01.2020, 02:47

Итак, синтаксис:

find (начальный каталог) (действия и флаги)

Итак, вам нужно указать какой-то каталог, даже если это просто каталог / . Это не по умолчанию /

Пример:

find / start_dir -size +500 -atime +20 -print

Это начнется в start_dir и будет искать все файлы, которые используйте 500 или более блоков, к которым не обращались за последние 20 дней

0
28.01.2020, 02:47

Теги

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