Я видел, как используется ключ -T , например, здесь. Глядя на справочную страницу, она просто гласит: "рассматривать LINK_NAME как обычный файл". Может ли кто-нибудь пролить свет, показывающий разницу между использованием и отсутствием ключа -T ?
1 ответ
См. Главу «Целевой каталог» в руководстве по GNU Coreutils:
-T
--no-target-directory
Не обрабатывайте последний операнд специально, когда это каталог или символическая ссылка на каталог. Это может помочь избежать условий гонки в программах, которые работают в общей области. Например, при успешном выполнении команды
mv /tmp/source /tmp/dest
нет гарантии, что/tmp/source
был переименован в/tmp/dest
: его можно было бы переименовать в/tmp/dest/source
вместо этого, если некоторые другой процесс создал/tmp/dest
в качестве каталога. Однако, еслиmv -T /tmp/source /tmp/dest
завершается успешно, нет сомнений в том, что/tmp/source
был переименован в/tmp/dest
.В противоположной ситуации, когда вы хотите, чтобы последний операнд рассматривался как каталог, а в противном случае требуется диагностика, вы можете использовать
--target-directory
(-t
).
Обратите внимание, что проект GNU не рассматривает справочные страницы в качестве основной формы документации; Вы всегда должны смотреть на соответствующую info
страницу (примечание об этом помещено в конце каждой страницы руководства для программы, которая разработана как часть проекта GNU).