из того, что я вам cp
, кажется, интерпретировать мое предназначение как
источник.
Да, это так. Это потому, что общий синтаксис Linux/Unix выглядит примерно так:
[some command] [some command options] [source item] [destination item]
Итак, посмотрите на свою команду:
find absolute-path -name "*" -amin -120 -exec cp -f absolute-destination {} \;
это cp -f absolute-destination {}
обратная с {}
представляет исходный файл, найденный find
команда и "абсолютное назначение" - это именно то, что это; назначение. Так что часть команда должна быть переписана как cp -f {} absolute-destination
.
дополнительно:
- на
-name "*"
является избыточным и излишним, если вы ищете все файлы, основанные на времени в любом случае; это означает, что вы можете просто канаву, что.
- кроме того, использование
amin
немного запутанным, так как -amin -120
означает "файл доступ за последние 120 минут."Если вы хотите действовать на создание время файлов, которое должно быть изменено на cmin
-aka: изменено n
минут назад-вместо этого; подробнее в Linux find
man-страница.
таким образом, последняя команда будет:
find absolute-path -cmin -120 -exec cp -f {} absolute-destination \;
но перед запуском этого cp
команда вы всегда должны делать "сухой прогон" с помощью echo
чтобы увидеть, что именно происходит такой:
find absolute-path -cmin -120 -exec echo {} \;
помните, выполнение теста "сухой прогон" команды, как это до запуск фактической / окончательной команды спасет вас головные боли в долгосрочной перспективе. Особенно, если вы планируете запускать команду как root
.
вы никогда не знаете, если вы, возможно, сделали простую, непреднамеренную ошибку в логике команды, которые могут испортить неожиданным образом. И бросание неправильно структурированной команды в" производство " без тестирования может сэкономить вам несколько минут в начале, но затем может привести к часам-а в некоторых случаях и дням-работы по очистке. всегда безопасное воспроизведение при работе в команде линия.