Как это возможное:
$ find ACCESS -name arctic20.xml
не дает вывода, но:
$ ls -l ACCESS/arctic20.xml
дает:
-rw-rw-r-- 1 damocles damocles 2286 Nov 2 2016 ACCESS/arctic20.xml
Я проверил имя файла на невидимые символы, но ничего не нашел:
$ ls -1 ACCESS/arctic20.xml | od -c
0000000 A C C E S S / a r c t i c 2 0 .
0000020 x m l \n
0000024
Это - моя система:
$ uname -a
Linux adc-a 3.13.0-115-generic #162-Ubuntu SMP Fri Mar 24 16:03:51 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
По умолчанию, GNU find
не переходит по символьным ссылкам, даже при рассмотрении параметров командной строки. От man find
:
-H
,-L
и-P
опции управляют обработкой символьных ссылок. Параметры командной строки после них взяты, чтобы быть названиями файлов или каталогов, которые будут исследованы до первого аргумента, который начинается'-'
, или аргумент'('
или'!'
.
-P
Никогда не переходите по символьным ссылкам. Это - поведение по умолчанию. То, когда находят, исследует или печатает информацию файл, и файл является символьной ссылкой, используемая информация должна быть взята от свойств самой символьной ссылки.
Если ACCESS
(или может быть), символьная ссылка на каталог, и Вы хотите найти файлы внутри, даже если, символьная ссылка затем, необходимо сказать find -H ACCESS
.