Единственный реальный способ ответить на этот вопрос — просмотреть исходный код. Реализации могут быть разными.
В частности, я предполагаю, что под mv
вы подразумеваете тот, который предоставляется GNU Coreutils .
Не уверен, что понимаю все нюансы их mv
кода, но могу отметить эти факты:
src/mv.c
есть функция do_move(const char *source, const char *dest, const struct cp_options *x)
, которая предположительно является основным драйвером для mv
. Эта функция вызывает другую функцию с именем copy
. src/copy.c
функция copy
, вызываемая do_move
, в основном является оболочкой для другой функции, называемой copy_internal
. copy_internal
выполняется попытка stat
исходного файла. Если это не удается, он выручает, ничего не делая. Поэтому я думаю, что можно с уверенностью ответить:
Попытка mv
несуществующего -файла не повлияет на место назначения, пока не будут пройдены различные проверки.
В разделе «Связанные модули» перечислены все модули, загруженные в данный момент, а также их флаги заражения, если таковые имеются. Если модули были загружены, а затем выгружены, в списке также отображается последний выгруженный модуль. Если какие-либо модули загружаются или выгружаются, они помечаются соответственно +
или -
.
Список не ограничивается модулями, участвующими в трассировке.
Подробности см. в руководстве по поиску ошибок ядра -.