Ваш синтаксис правильный; Здесь есть немного странности с точки зрения Cygwin на файловую систему.
В Cygwin корневой каталог /
указывает на то, что в файловой системе Windows является корнем вашей установки Cygwin, обычно это c:\cygwin
. Чтобы получить доступ к чему-либо, кроме этого, вы можете использовать /cygdrive/[drive letter]
; например, путь к каталогу c:\windows\system32
в Cygwin - это не /c/windows/system32
а скорее /cygdrive/c/windows/system32
.
Распространенный способ обойти это раздражение - создать символические ссылки в /
которые указывают на различные буквы диска в /cygdrive
, например, ln -s /cygdrive/c /c
; если вы можете получить доступ к файлам вне корня Cygwin с помощью таких путей, как /c/windows/...
, это потому, что существуют такие символические ссылки, созданные вручную или автоматически.
Эта схема хорошо работает для большинства целей, но не все программы автоматически следуют по символическим ссылкам, и find
такую программу; find /c/strawberry/ ...
работает, потому что вы начинаете find
на "далекой" стороне символической ссылки, но find / ...
нет, потому что он начинается на "ближней" стороне и не будет по умолчанию следуйте символической ссылке /c
. Чтобы получить желаемое поведение, передайте опцию -L
для поиска; find -L / -name libstdc++-6.dll
должна вызвать те же результаты, что и find /c/strawberry -name libstdc++-6.dll
.