Ниже рассматриваемый текст от 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@'?
Опция разыменования, - классифицируют, был указан так, моя символьная ссылка должна была быть разыменована.
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
не разыменовывает по умолчанию.