Имеет описание '-dereference-command-link-symlink-to-dir' опция в руководстве Coreutils GNU для ls утилиты неправильно?

Ниже рассматриваемый текст от manuaul.

--dereference-command-line-symlink-to-dir

Не разыменовывайте символьные ссылки за одним исключением: если параметр командной строки указывает символьную ссылку, которая обращается к каталогу, покажите информацию для того каталога, а не для самой ссылки. Это - поведение по умолчанию, когда никакая другая связанная с разыменованием опция не была указана (--classify (-F), --directory (-d), (-l), --dereference (-L), или --dereference-command-line (-H)).

Ниже некоторые команды, я работал на своем терминале.

$ touch myfile.txt
$ ln --symbolic myfile.txt symlink_myfile
$ ls --classify symlink_myfile 
symlink_myfile@

Если поведение по умолчанию не должно разыменовывать символьные ссылки, если связанная с разыменованием опция не была указана, то, почему делает ls - классифицируют, производят 'symlink_myfile@'?

Опция разыменования, - классифицируют, был указан так, моя символьная ссылка должна была быть разыменована.

1
задан 27 October 2019 в 19:26

1 ответ

man страница для ls (и большинство других программ GNU) является только очень упрощенной сводкой. В Вашем случае это говорит, что --dereference-command-line-symlink-to-dir значение по умолчанию, если связанная с разыменованием опция такой как -F не дана, но это не говорит, что происходит о разыменовании, когда -F даны (таким образом, это не неправильно, просто неполно). Запись приблизительно -F не полезны также:

-F, --classify
        append indicator (one of */=>@|) to entries

более полезная информация доступна в полной документации, к которой можно получить доступ с info ls или онлайн :

‘-F’
‘--classify’
‘--indicator-style=classify’
     Append a character to each file name indicating the file type.
     Also, for regular files that are executable, append ‘*’.  The file
     type indicators are ‘/’ for directories, ‘@’ for symbolic links,
     ‘|’ for FIFOs, ‘=’ for sockets, ‘>’ for doors, and nothing for
     regular files.  Do not follow symbolic links listed on the command
     line unless the ‘--dereference-command-line’ (‘-H’),
     ‘--dereference’ (‘-L’), or
     ‘--dereference-command-line-symlink-to-dir’ options are specified.

Так -F не разыменовывает по умолчанию.

0
ответ дан 7 December 2019 в 18:19

Другие вопросы по тегам:

Похожие вопросы: