ln -s -T:: что конкретно делает переключатель "-T"?
Я видел, как используется переключатель -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).