Какие причины ln://: каталог?

find печатает ошибки к stderr. Если Вы просто хотите проигнорировать их, самая простая вещь сделать:

find ... 2> /dev/null

find также имеет -perm опция отфильтровать на основе полномочий.

5
10.05.2012, 03:38
2 ответа

В разрешении пути, имея запаздывание / эквивалентно запаздыванию /. — другими словами, ~/inbox/ эквивалентно ~/inbox/. в этом контексте. Так ln команда пытается создать названную ссылку . в корневом каталоге (и, неудивительно, перестав работать).

Zsh удаляет запаздывание / когда Вы нажимаете Space после завершения каталога (если не настроено, чтобы не сделать так). Я не знаю, может ли удар быть сделан сделать это.

4
27.01.2020, 20:41
  • 1
    Очень интересный. Pathname resolution также говорит, что символьные ссылки должны быть разрешены. Но когда Вы делаете ln symlink blah, blah должен указать на symlink, не, что symlink точки в. –  Mikel 10.05.2012, 07:16

Это точно, что Вы выполнили?

Is a directory похож на Вашу ОС, печатающую EISDIR ошибка, которая могла произойти два пути:

Попытка перезаписать существующую символьную ссылку, которая указывает на каталог.

$ cd $(mktemp -d)
$ mkdir dir
$ ln -s dir dir    # this creates dir/dir
$ ln -s dir dir    # this fails, because dir/dir already exists
ln: failed to create symbolic link `dir/dir': File exists

Попытка создать жесткую ссылку на каталог.

$ cd $(mktemp -d)
$ mkdir dir
$ ln dir dirlink
ln: `dir': hard link not allowed for directory

Если это - то, что Вы выполняли, что делает type ln или alias ln печать?

0
27.01.2020, 20:41
  • 1
    я думаю, что хорошо объяснить что cd $(mktemp -d) делает. Не все знакомы с этой конструкцией. –  jippie 10.05.2012, 00:07
  • 2
    Это создает новый каталог где-нибудь под /tmp. Это удостоверяется, что файлы, которые я использую в своих примерах, уже не существуют так, чтобы все могли получить попытку, выполняющую команды, и получить те же результаты. –  Mikel 10.05.2012, 00:18

Теги

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