В Linux
cd /tmp
mkdir foo; cd foo
Сейчас работает
find . -name 'foo'
не дает вывода. В то время как работает
find /tmp/foo -name 'foo'
Дает вывод, /tmp/fooкоторый не имеет смысла для меня. Может кто-нибудь объяснить, почему?
find.
barкоторое указывает на файл, fooкоторый находится за пределами пути поиска. Это совпадение или нет?
.и /tmp/fooне одинаковы - это две разные жесткие ссылки на один и тот же каталог; find /tmp/foo/. -name 'foo'тоже ничего не находит.
find /tmp/foo -name 'foo', я просил bash найти в каталоге /tmp/fooфайл с именем "foo". Поскольку каталог /tmp/fooпуст, он не должен был ничего возвращать. Я не понимаю, почему это возвращается /tmp/foo. С другой стороны, когда я запускался find . -name 'foo', я спрашивал bash то же самое, то есть, находил файл в текущем каталоге (который оказался /tmp/foo) с именем «foo», и он не возвращает ничего, что имеет смысл.
./это не совпадаетfoo