Руководство GNU Coreutils дляmv
говорит:
-f --force Do not prompt the user before removing a destination file.
Тем не менее, это, кажется, уже поведение по умолчанию для mv
, так что -f
опция представляется излишней. Например, в GNU Bash версии 4.3.11:
$ ls -l
total 0
$ touch 1 2; mv -f 1 2; ls
2
$ touch 1 2; mv 1 2; ls
2
Кажется маловероятным, что целью -f
флага является переопределение alias mv="mv -i"
, потому что есть несколько стандартных способов переопределения псевдонима (например, использование \mv
), которые бы делали это более кратко и согласованно для всех команд.
В руководстве отмечается, что «если вы укажете более одной из опций -i, -f, -n, вступит в силу только последний вариант», но все же кажется маловероятным, что цель -f
флага - переопределить -i
флаг в целом, потому что эквивалентное поведение может быть достигнуто простым использованием mv
, что гораздо более кратко и понятно, чем использование mv -if
.
В таком случае, какова цель -f
флага? Почему это существует?
mount
, например (хотя есть лучшие примеры). Вы действительно хотите запомнить, какие настройки по умолчанию для каждой опции, чтобы вы могли определить, какие опции вам нужно установить? ХОРОШО иметь опции как по умолчанию, так и не по умолчанию, так что вы можете явно установить опцию вместо того, чтобы мысленно отслеживать, что по умолчанию. Что-то там легче запомнить, чем что-то не там .