Опция -maxdepth после неопции AND find: пути должны предшествовать выражению

Надеюсь, что кто-то может помочь с этим:

Я пытаюсь удалить файлы сеанса в /tmp с помощью этой команды:

find /tmp -name 'sess_*' -user Username -maxdepth 1 $CMD {} \;

но я получил эти ошибки:

  

find: warning: вы указали опцию -maxdepth после   необязательный аргумент -name, но опции не позиционные (-maxdepth   влияет на тесты, указанные до, а также после   Это). Пожалуйста, укажите параметры перед другими аргументами.

find: paths must precede expression Usage: find [-H] [-L] [-P] [path...] [expression]

Я искал решения в Интернете, но не смог найти ни одного. Я удалил другие tmp-файлы с помощью других команд, и мне стало интересно, не повлияло ли это на какой-то том или сокет.

Заранее спасибо

12 голосов | спросил Amit 16 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSun, 16 Sep 2012 05:10:14 +0400 2012, 05:10:14

1 ответ


0

find имеет три типа параметров: параметры, используемые для сопоставления файлов (например, -name, -user), параметры, которые определяют действия, которые нужно выполнить с соответствующими файлами (-print, -exec) и параметры, управляющие общее поведение команды (например, -maxdepth, -xdev). Третий тип должен быть поставлен перед двумя другими. Так и должно быть:

find /tmp -maxdepth 1 -name 'sess_*' -user Username -exec $CMD {} \;
ответил Barmar 16 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSun, 16 Sep 2012 05:31:49 +0400 2012, 05:31:49

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132